文档介绍:GIS软件开发(1)
主讲: 王小东
2017/7/11
*
课程说明
理论课时:22,实验课时:10
授课过程
教材对应章节
课时分配
1AO程序设计入门
1、2章
2
2COM类、接口及编程技巧
3、4,5,6章
2
3ArcGIS控件开发实例
10、11章
2
4OMD与ArcObjects编程资源
9章
2
5创建自定义工具
11、12章
2
6地图操作
补充,12章
2
7地图提示
补充,13章
2
8坐标系与投影
补充
2
9专题地图制作
补充
2
*
第一讲 AO程序设计入门
1GIS开发模式
3Arcgis Engine类库概述
2Arcgis软件开发平台
4建立开发环境开始使用AE
*
GIS软件类型
GIS平台软件
提供全部的地理信息系统处理功能,完成数据处理、空间分析、信息查询、专题地图制作等功能如:ArcGIS,MapInfo Professional,MAPGIS
GIS应用软件
针对不同的应用领域和行业,综合电子地图和信息管理系统的特点
如:郑州市公交查询系统,XX市综合管线地理信息系统等
*
1 GIS开发模式
独立开发模式
宿主型开发模式
GIS组件开发模式
GIS组件产品及功能
ActiveX控件的组成
*
不依赖于任何GIS工具软件,从空间数据的采集、编辑到数据的处理分析及结果输出,所有的算法都由开发者独立设计,然后选用某种程序设计语言,如Visual C++、Delphi等,在一定的操作系统平台上编程实现。
开发周期长,软件功能相对简单,对开发者要求高,用于购买软件的费用相对节省
*
基于GIS平台软件,进行应用系统开发
多数GIS平台软件都提供了可供用户进行二次开发的脚本语言,用户以原GIS软件为开发平台,利用这些脚本语言,开发出自己的针对不同应用领域的应用程序。如ArcView中的Avenue语言,ArcGIS中VBA,MapInfo Professional的MapBasic语言
开发较为容易; 功能较弱所开发的系统不能脱离GIS平台;是解释执行的,运行效率低;用户界面受平台软件的限制
*
建立在组件技术基础上的GIS功能组件,实现了地理信息系统的各种功能,这些组件都具备GIS的基本功能。开发人员可以基于通用软件开发工具,尤其是可视化开发工具,如:Visual C++、Visual Basic、 Visual C#、Power Builder等为开发平台,进行二次开发,实现GIS功能。
大多数GIS软件厂商都提供商业化的GIS组件。如ESRI 公司的MapObjects、ArcGIS Engine、MapInfo公司的MapX等
*
GIS开发模式的选择
独立开发难度太大
宿主型二次开发受GIS平台所提供的脚本语言的限制
GIS组件开发模式结合了GIS平台软件与可视化开发平台的组件开发模式的优点,是GIS应用开发主要方向。
利用GIS组件实现对空间数据库的管理、分析功能,又可以利用其它可视化开发平台提供的丰富的、功能强大的编程组件和环境,不仅能大大提高应用系统的开发效率,而且使用可视化软件开发工具开发出来的应用程序具有更好的用户界面,更强大的数据库功能。可靠性好、易于移植、便于维护,学习周期较短,容易上手。
*
空间数据获取
坐标转换
图形编辑
数据存储
数据查询
数据分析
制图表示
…….
可以想象要把这些所有的功能放在一个控件中几乎是不可能的,即使实现也会带来系统效率上的低下。一般可以认为GIS构件的设计主要遵循应用领域的需求。例如ESRI的Arcobjects就是以空间数据访问、查询、制图为主要目标的GIS构件。
*