第十一章 GIS组件开发
GIS设计和开发

GIS设计和开发gis设计与开发Gis设计与开发思路现实需求、GIS概念模型、机理过程、人机交互系统、现实需求开发方式:独立开发,扩展式二次开发,集成式二次开发第一章GIS设计思想内容,标准(一)GIS设计目标通过改进系统设计方法,严格执行开发的内容划分,进行阶段质量把关以及做好项目建设的组织管理工作,从而达到增强系统的实用性,降低系统开发和应用的成本,延长系统生命周期的目的。
(二)GIS设计的特点1、数据:数据量大,实体种类繁多、实体间关联复杂的特点2、功能:GIS设计以空间数据为驱动3、工程:GIS工程投资大,周期长,风险大,涉及部门繁多二gis设计的理论基础Gis工程学:GIS本身发展和将系统工程学思想引入GIS设计的产物(一)GIS工程学体系1、任务:寻求系统总体最优化2、基础理论:(1)系统学思想(整体性,层次性,相关性,功能性,动态性),(2)系统工程学(3)软件工程学(4)地理信息科学三层次(理论,技术,应用)3、方法论:根据GIS工程学的基础理论而形成的一系列程序化的基本操作技术与方法(二)GIS工程学的特点1、以空间信息系统工程优化为目的2、横跨多学科3、直接面向决策,为可持续发展提供决策支持4、与GIS产业化密切相关三GIS设计的内容(一)设计原则:标准化,先进性,兼容性,高效性,可靠性通用性(二)设计内容软件设计和数据库设计第二章gis设计的方法一、结构化生命周期法1、结构化生命周期法又称结构化分析和设计方法,又称结构化系统开发方法结构化生命周期法是系统分析员,软件工程师,程序员以及最终用户按照用户至上的原则,自顶向下分析与设计和自底向上逐步实施建立计算机系统的一个过程,是组织,管理和控制信息系统的开发过程的一种基本框架。
2、基本思想:(1)要求设计过程必须严格按照阶段进行(2)在系统建立之前就必须严格的定义和描述用户的需求。
3、阶段划分:(1)系统开发的准备阶段(2)调查研究及可行性研究阶段(3)系统分析阶段(4)系统设计阶段(5)系统实施阶段(6)系统维护和评价阶段4、特点:(1)预先明确系统的需求,根据需求来设计系统(2)自顶向下来设计和规划信息系统(3)运用分解和协调技术,使复杂系统简单化(4)严格按阶段进行开发(5)强调阶段成果的审定和检验(6)文档的标准化和规范化5、优缺点:优点:(1)阶段的顺序性和依赖性、(2)从抽象到具体,逐步成精、(3)系统分析与系统设计分开、(4)质量保证措施完备。
GIS 应 用 开 发

Python 窗口
➢ ArcGIS 10使用 Python 窗口代替原来的命令行窗口, 通过 Python窗口,用户可以快捷地在 ArcGIS 内部使用 Python,从可而以以直交接互从方式运行地理处理工具和功能以及 充分利用C其at他aloPgy中th拖on放模块和库。此窗口还为用户学习 Python 提供了过一来个途径。
§1.1 ArcGIS Desktop及其扩展
ArcGIS Desktop是GIS专业人员编辑、使用和管理 地理信息的主要平台,它按功能分为三个不同级 别的产品:
1. ArcView 2. ArcEditor 3. ArcInfo
每个产品主要包括:ArcMap、ArcCatlog、 ArcGlobe、ArcScene桌面应用程序.
1. ArcGIS Desktop 2. ArcGIS Engine 3. ArcGIS Server 4. ArcGIS Mobile
✓ 开发类型:
✓ To customize or extend the ArcGIS Desktop applications ✓ To build standalone mapping applications ✓ To develop Web applications
ArcPy详细参考: ArcGIS Desktop 10帮助— 专业库—地理处理—ArcPy 站点包
ArcPy 模块
➢模块为通常包含函数和类的 Python 文件。有一 系列模块支持 ArcPy,包括制图模块 (arcpy.mapping)、Spatial Analyst 模块 (arcpy.sa) 和Geostatistical Analyst 模块 (arcpy.ga)。
使用DLL组件扩展ArcGIS桌面的优势:
GIS软件开发

主要数据结构
第一章 GIS软件界面设计
面 1.1 GIS软件界面的重要性 向 对 象 界面就是用户与系统的通讯(Communication),而通讯依赖于环境 (Context),软件中包含复杂的环境,用户必须去学习以理解系统, 的 GIS
按要求进行输入以获得相应的输出(表现)和文档等(Andrew U.Frank, 1991)。 程 GIS的一个主要目的让用户与现实世界的现象进行交互,如果真的如此, 那么作为用户和现实世界中介的系统将是恰如其分的(Mark,1989)。 序 GIS应该提供给用户一种方法使其在办公室或实验室体验地理现象、解 设 决地理问题。坐在终端面前的用户在使用GIS时所思考的问题是关于真 计 实世界的现象,而非计算机、数据结构或者GIS命令。 武 用户界面的质量在GIS软件使用中已经占据着重要的地位,然而由于用 汉 户界面在GIS软件中没有得到足够的重视。为了提高GIS的使用效率,用 大 学 户界面为用户提供了一种访问空间数据的简单的概念模型。用户界面必 资 须做到简单、易学,以及与复杂的软件底层数据结构和算法相独立。 环 蔡 境 GIS的用户界面给用户展现的是系统的界面而不是系统的数据本身。 忠 学 (David Lanter,1991) 亮 院
第三章 视图管理模块开发
面 向 3.1 与图形显示相关的MFC类 对 象 其他绘图类操作函数 的 选用绘图设备对象 程 序 设 计
武 汉 大 学
资 环 蔡 境 忠 学 亮 院
GIS
SelectStockObject() SelectObject() 绘图属性设置函数 设置或获取背景颜色 –SetBkColor() –GetBkColor() 设置或获取背景模式 –SetBkMode() –GetBkMode() 设置或获取绘制模式 –SetROP2() –GetROP2()
组件式GIS开发技术研究——以MapObjects为例

现 了董浜镇 规划 成果 的管 理 。通过 地 理信 息 技术 的可 视 化 手段 , 达到 常 熟 市 董 浜镇 属 性 数 据 和 董 浜 镇 地 理 空 间
数 据相 结合 的 目的 。
散布置, 不利于基础设施的经济供给 , 虽然建筑质量普遍 较好 , 但整体居住环境较差有 待改善。农村住宅按照年
S a g a 0 0 2 hn ) h n h i 0 6 ,C ia 2
Ab t a t h s p p r ito u e h e n t n,t e d v lp n d la d t e c a a tr t fC mG S,t e nr d c d Ma Ob s r c :T i a e n r d c d t e d f i o i i h e e o me t mo e n h h r ce si o o I i c h n it u e p — o
第3 4卷 第 2期
21 0 1年 4 月
测 绘 与 空 间 地 理 信 息
G MA I s & S AT A NF MAT ON E HNO O Eo TC P I L I OR I T C L GY
V 13 N . o . 4, o 2 Ap . 01 r ,2 1
组 件 式 GI S开 发 技 术 研 究
间查询分析 、 图层 渲染、 图形格 式转换 等功能 , 能够有效服 务于董 浜镇村镇布局规划 。 关键词 : 地理信 息 系统 ; p bet; MaO jc 村镇布局规 划 ; s 董浜镇 中图分类号 :2 8 P 0 文献标识码 : B 文章编号 :6 2— 87 2 1 )2— 17— 3 17 5 6 (0 10 0 2 0
代 划分 , 目前现 存 的农 民住 宅分 为两 种 : 多建 于 8 一种 0年 代末 9 0年代 初期 , 构较 为简 单 , 结 公共设 施 和基 础设施 配 套 不全 ; 一种 为 近期 建造 的农 民拆迁 房 , 另 多为 独 门独 院 的农 民别 墅 , 础设 施 配套 较 为 齐全 。由于 未 统一 规 划 , 基 居住 的外 部环 境较 差 … 。 系统 目标 是开 发一 个 通用 的常 熟市 董 浜 镇规 划 成 果 管理 地理 信息 系统 , 并具 有 浏 览 、 辑地 图 的功 能 。系 统 编 利用 地理 信 息 系统 以及 相 关 技 术 , 结合 常熟 市 董 浜镇 并 村镇 布局 规划 的具 体 情 况 和 相 应 的 规 划 文 本 , 效 地 实 有
浅谈组件式GIS技术及其开发

浅谈组件式GIS技术及其开发发表时间:2018-10-17T10:24:57.480Z 来源:《电力设备》2018年第19期作者:杨德伦[导读] 摘要:传统GIS虽然在功能上已经比较成熟,但是由于这些系统多是基于十多年前的软件技术开发的,属于独立封闭的系统。
(国网福建检修公司福建福州 350011)摘要:传统GIS虽然在功能上已经比较成熟,但是由于这些系统多是基于十多年前的软件技术开发的,属于独立封闭的系统。
同时,GIS软件变得日益庞大,用户难以掌握,费用昂贵,阻碍了GIS的普及和应用。
组件式软件是新一代GIS的重要基础,组件式GIS的出现为传统GIS面临的多种问题提供了全新的解决思路。
关键词:组件技术;GIS技术;电力系统 1.组件技术简介组件是模块化程序设计方法发展到一定阶段的产物,在软件工程的角度来考虑,一个庞大的应用程序通常被划分成多个模块。
每个模块都保持一定的功能独立性,这些组件可以单独开发、编译,甚至单独调试和测试。
当所有的组件开发完成后,把他们组合在一起就得到了完整的应用系统。
我们把每一个这样的模块称之为组件。
基于组件开发不只是一种分布计算新技术,而是一种广泛的体系结构,支持包括设计、开发和部署在内的整个软件生命周期计算的理念。
基于组件开发具有高度的重用性和互用性,其两个重要规范分别是Microsoft的COM和OMG的COBRA,目前Microsoft的COM占市场领导地位,已经得到广泛应用,并逐渐成为业界事实标准。
基于COM,Microsoft推出ActiveX技术,ActiveX组件是当今可视化程序设计中应用最为广泛的标准组件。
组件技术使近二十年来兴起的面向对象技术进入到成熟的实用化阶段。
在组件技术的概念模式下,软件系统可以被视为相互协同工作的对象集合,其中每个对象都会提供特定的服务,发出特定的消息,并且以标准形式公布出来,以便其他对象了解和调用。
组件间的接口通过一种与平台无关的语言IDL(Interface Define Language接口定义语言)来定义,而且是二进制兼容的,使用者可以直接调用执行模块来获得对象提供的服务。
CHAP01_GIS开发与组件式GIS

1.4 组件式GIS开发设计
1.4.1 组件式GIS的基本结构
数据访问组件 数据桥 可视化组件 地图显示 空间对象 可视化编辑 属性数据编辑 核心功能组件 空间查询 投影变换 数据 导入/导出 空间分析 数据 格式转换 其他… 其他… 数据缓存 数据源 空间数据库 文件数据
Copyright © 2014 HHU All rights reserved.
1-2
1.1 GIS开发与集成
1.1.2 GIS开发模式
独立开发:不依赖于任何GIS工具软件,从空间数据的采集、编辑到数
据的处理分析及结果输出,所有的算法都由开发者独立设计,然后选用某 种程序设计语言,在一定的操作系统平台上编程实现。
单纯二次开发:完全借助于GIS工具软件提供的开发语言(宏语言)进
组件式GIS特点
系统小巧、价格低廉 开发简捷、易于集成 功能强大、扩展性强
组件式GIS研究面临的问题
运行效率 功能强弱
网络化、分布式、集成化
Copyright © 2014 HHU All rights reserved.
Introduction to Programming ArcGIS Using C#
1.5.2 ESRI
MapObjects
(ActiveX Control)
可以嵌入支持COM的开发工具,如VC、VB甚至PowerPoint。
ArcView GIS
内置开发工具Avenue, 一种面向对象的开发语言。
Copyright © 2014 HHU All rights reserved.
Introduction to Programming ArcGIS Using C#
组件式GIS软件开发实验教学大纲

《组件式GIS软件开发实验》教学大纲(2021年9月)实验课程名称:组件式GIS软件开发实验课程编号:00920210课程性质:独立设置一、学时学分:实验课学分:1;实验课学时:32二、适用专业与开课学期:地理信息系统专业,第5学期三、实验教学目的和大体要求组件式GIS软件开发实验的要紧内容包括ArcGIS Engine及Visual Studio 2020开发环境设置、地图显示与阅读等利用ArcGIS Engine进行GIS软件二次开发方面的实验。
通过实验教学,应使学生同意大体实验理论和操作技术的训练,把握基于ArcGIS Engine进行GIS软件二次开发的知识和经常使用技术,能正确运用相关知识和技术进行大体的GIS软件设计与编码;并能对实验结果做出正确的分析和判定,能写出符合要求的实验报告。
用实验的方式去学习与实践GIS软件设计及编程,应用所学得的理论知识指导实验,从理论和实验的结合上加深、扩展对GIS软件设计及编程的熟悉,增强理论联系实际,提高学生的实验能力。
学生通过本门课程的学习,能够了解基于ArcGIS Engine进行GIS软件二次开发的大体内容,把握经常使用的编程方式,把握初步的GIS软件设计与编程技术,具有必然的GIS软件二次开发能力。
四、课程内容与具体要求实验一 ArcGIS Engine及Visual Studio 2020开发环境设置( 2学时)实验类型:基础性实验目的:(1)了解并熟悉Visual Studio 2020软件开发环境,能够利用C#语言进行大体的软件开发工作,并对开发资源能够熟练运用。
(2)了解并把握基础的基于ArcGIS Engine的编程方式及步骤。
(3)把握并能够熟悉运用ArcGIS Engine的开发资源。
要紧仪器:PC机实验内容:(1)安装Visual Studio 2020软件开发环境。
(2)安装ArcGIS Engine软件。
(3)利用C#语言成立一个最大体的ArcGIS Engine应用程序。
arcgis 开发教程

二 创建桌面应用程序
5.加载MXD地图文档数据-1
二 创建桌面应用程序
6.创建第一个ArcGIS Engine桌面应用程序-2
1. 动Visual Studio .NET,并从新建项目对话框中创建一个新的Visual C# “Windows应用程序”项目。 2.将项目命名为“DEMO”,并选择位置存取该项目。 3.在“工具箱”的“Windows窗体”标签栏中单击右键,然后从上下文菜 单中 选择“选择项”(VS2005)“添加/移除项(I)…”(VS2003);或者工具->选 择工具箱。 4.在“选择工具箱”中选择“.NET Framework组件”,并复选“ AxMapControl”,“AxPageLayoutControl”,“AxTOCControl”和“ AxToolbarControl”,单击确定按钮。这样所选择的控件将显示在工具箱的
一 使用ArcEngine控件开发
2. MapControl和PageLayoutControl
• MapControl和PageLayoutControl对应于ArcMap桌面应用程 序的“数据”和“布局”视图。用ArcMap创作的地图文 档可以装载到这两个控件中。 • 地图文档可在设计时通过这两个控件的属性页设置,控件 可以被设置为“链接”或“包含”地图文档;地图文档也 可以使用LoadMxFile方法通过编程装载到控件中。 • MapControl和PageLayoutControl不仅可以读取地图文档, 还可以写入地图文档(*.mxd)。
}
二 创建桌面应用程序
6.创建第一个ArcGIS Engine桌面应用程序-2
private void Form1_Load(object sender, EventArgs e) { string filename ="E:\\上课资料\\测绘08-GIS开发\\map\\SD.mxd"; if ( axMapControl1.CheckMxFile (filename) )
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• ComGIS基本概念 • ComGIS特点 • ComGIS开发方法 • ComGIS开发实践—以ArcObjects/ArcEngine为例
第一节 ComGIS的基本概念
•什么是组件式GIS?
组件式GIS,是将复杂的GIS功能按照对象、功能、 应用等层次分解为可以互操作和自我管理的组件, 这些组件由一种特定的平台或语言开发且能够在其 它的平台或语言中重复使用。
第一节 ComGIS的基本概念
•什么是ComGIS?
ComGIS是基于COM组件构建的组件式GIS。 COM不是一种面向对象的语言,而是一种二进制标 准,它建立ห้องสมุดไป่ตู้是一个软件模块与另一个软件模块之 间的链接,当这种链接建立之后,模块之间就可以 通过被称之为“接口”的机制来进行通信。COM标 准增加了保障系统和组件完整的安全机制,扩展到 分布式环境的DCOM则支持分布式计算、交互操作 和有限的移植。
第一节 ComGIS的基本概念
•什么是ComGIS?
OLE是基于COM的可以使软件组件进行即插即用互 操作的一种技术,其中使用了OCX控件。
ActiveX是一套基于COM的可以使软件组件在网络 环境中进行互操作而不管该组件是用何种语言创建的 技术集。作为针对Internet应用开发的技术,ActiveX 被广泛应用于WEB服务器以及客户端的各个方面。同 时,ActiveX技术也被用于方便地创建普通的桌面应用 程序。此外,ActiveX一般具有界面。ActiveX 控件是 ActiveX技术中使用的一种可编程、可重用的基于 COM的对象。
第一节 ComGIS的基本概念
•什么是ComGIS?
ComGIS的基本思想是把GIS的各大功能模块划分 为几个组件,每个组件完成不同的功能。各个GIS组 件之间,以及GIS组件与其它非GIS组件之间,都可 以方便地通过可视化的软件开发工具集成起来,形 成最终的GIS基础平台以及应用系统。组件如同一堆 各式各样的积木,它们分别实现不同的功能(包括 GIS和非GIS功能),根据需要把实现各种功能的 “ 积木”搭建起来,就构成应用系统。
第一节 ComGIS的基本概念
•什么是组件式GIS?
CORBA是公共对象请求代理体系结构(Common Object Request Broker Architecture)的英文缩写,是 由对象管理工作组(OMG)开发的一个组件软件标准。 OMG是由成千上百个公司组成的组织,他们致力于 构建分布式对象计算的标准体系结构。CORBA基于 对象管理体系结构,为厂商提供一个标准框架,使 他们使用不同的语言、操作系统和硬件开发出来的 应用系统,仍然具有可移植性和互操作性。
专业模型
GIS应用集成系统 ComGIS控件
其他控件
Visual Basic 等可视集成开发环境
第二节 ComGIS的特点
✓强大的GIS功能。新的GIS组件都是基于32位系统 平台的,采用InProc直接调用形式,所以无论是管 理大数据的能力还是处理速度方面均不比传统GIS软 件逊色。小小的GIS组件完全能提供拼接、裁剪、叠 合、缓冲区等空间处理能力和丰富的空间查询与分 析能力;
第二节 ComGIS的特点
✓开发简捷。ComGIS不需要额外的GIS二次开发语 言,只需按照Microsoft的ActiveX控件标准开发接口 实现GIS的基本功能函数,这不仅有利于减轻GIS软 件开发者的负担,而且增强了GIS软件的可扩展性。 GIS应用开发人员只需熟悉基于Windows平台的通用 集成开发环境,以及组件式GIS各个控件的属性、方 法和事件,就可以像管理数据库表一样熟练地管理 地图等空间数据,完成应用系统的开发和集成,无 须对开发人员进行特殊的培训。
第二节 ComGIS的特点
✓大众化。组件式技术已经成为业界标准,用户可 以象使用其它ActiveX控件一样使用ComGIS组件, 使非专业的普通用户也能够开发和集成GIS应用系统, 推动了GIS大众化进程。ComGIS 的出现使GIS不仅 是专家们的专业分析工具,同时也成为普通用户对 地理相关数据进行管理的的可视化工具。
第二节 ComGIS的特点
✓高效无缝的系统集成。由于组件生产建立在严格 的标准之上,因此,ComGIS可以嵌入通用的开发环 境(如VB、VC、Delphi、PowerBuilder、Notes、 Foxpro、Access等)中实现GIS功能,专业模型则可
以使用这些通用开发环境来实现,也可以插入其它 的专业性模型分析控件,这与传统GIS专门性开发环 境相比,是一种质的飞跃;
第二节 ComGIS的特点
✓小巧灵活、价格便宜。在组件模型下,各组件都 集中地实现与自己最紧密相关的系统功能,组件化 的GIS平台集中提供空间数据管理能力并且能以灵活 的方式与数据库系统连接。在保证功能的前提下, 系统表现得小巧灵活,而其价格仅是传统GIS开发工 具的十分之一甚至更少。这样,用户便能以较好的 性能价格比获得或开发GIS应用系统;
第一节 ComGIS的基本概念
•为什么要使用ComGIS?
传统GIS虽然在功能上已经比较成熟,但是它们多 是属于独立封闭的系统。同时,由于GIS软件变得日 益庞大,不仅用户难以掌握,而且费用昂贵,阻碍了 GIS的普及和应用。ComGIS的出现为传统GIS面临的 多种问题提供了全新的解决思路,已经成为当今软件 技术的潮流之一[比尔.盖茨,1997],为了适应这种技 术潮流,“GIS软件象其它软件一样,已经或正在发 生着革命性的变化,即由过去厂家提供了全部系统或 者具有二次开发功能的软件,过渡到提供组件由用户 自己再开发的方向上来”[徐冠华, 1997]。
简单地说,组件式GIS就是采用了面向对象技术 和组件式软件的GIS系统(包括基础平台和应用系 统)[宋关福等,1999]。
第一节 ComGIS的基本概念
•什么是组件式GIS?
组件式GIS分为COM组件和CORBA组件两种,分 别由Microsoft和OMG开发。COM是公共对象模型 (Common Object Model)的英文缩写,微软官方称之 为组件对象模型(Component Object Model) ,它是 OLE(Object Linking & Embedding)和ActiveX共同的 基础。基于分布式环境下的COM被称作 DCOM(Distributed COM),它实现了COM对象与远 程计算机上的另一个对象之间直接进行交互。