地理信息系统 ( 资环 )
DESCRIPTION
地理信息系统 ( 资环 ). 2007.8.20. 授课教师 : 刘 晓. 第 5 章 GIS 二次开发概述. 5.1 GIS 开发模式 5.2 面向对象程序设计 (OOP) 5.3 组件 GIS 技术. GIS 软件类型. 主要指软件包: Mapinfo 、 ArcGIS 、 ArcView. 工具型 GIS. GIS. 区域型 GIS 专题型 GIS. 应用型 GIS. 与应用领域结合形成的系统: 长江流域基础地理信息系统 XX 公司物流配送系统 南宁市综合管线地理信息系统. 5.1 GIS 开发模式. 独立开发模式 - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: 地理信息系统 ( 资环 )](https://reader030.vdocuments.site/reader030/viewer/2022033009/56814bed550346895db8d0a3/html5/thumbnails/1.jpg)
山东理工大学 资源与环境工程学院 地理信息系统讲义
地理信息系统 ( 资环 )
2007.8.20
授课教师 : 刘 晓
![Page 2: 地理信息系统 ( 资环 )](https://reader030.vdocuments.site/reader030/viewer/2022033009/56814bed550346895db8d0a3/html5/thumbnails/2.jpg)
山东理工大学 资源与环境工程学院 地理信息系统讲义
第 5 章 GIS 二次开发概述
•5.1 GIS 开发模式•5.2 面向对象程序设计(OOP)
•5.3 组件 GIS 技术
![Page 3: 地理信息系统 ( 资环 )](https://reader030.vdocuments.site/reader030/viewer/2022033009/56814bed550346895db8d0a3/html5/thumbnails/3.jpg)
山东理工大学 资源与环境工程学院 地理信息系统讲义
GIS 软件类型
GIS
工具型 GIS
应用型GIS
区域型 GIS专题型 GIS
主要指软件包:Mapinfo、 ArcGIS、 ArcView
与应用领域结合形成的系统: 长江流域基础地理信息系统 XX公司物流配送系统 南宁市综合管线地理信息系统
![Page 4: 地理信息系统 ( 资环 )](https://reader030.vdocuments.site/reader030/viewer/2022033009/56814bed550346895db8d0a3/html5/thumbnails/4.jpg)
山东理工大学 资源与环境工程学院 地理信息系统讲义
5.1 GIS 开发模式
• 独立开发模式• 宿主型开发模式• 组件式 GIS 开发模式
![Page 5: 地理信息系统 ( 资环 )](https://reader030.vdocuments.site/reader030/viewer/2022033009/56814bed550346895db8d0a3/html5/thumbnails/5.jpg)
山东理工大学 资源与环境工程学院 地理信息系统讲义
独立开发模式•不依赖于任何 GIS 工具软件•所有的算法都由开发者独立设计•选用底层程序设计语言•开发周期长,软件功能相对简单,对开发者要求高,•具有自主知识产权
![Page 6: 地理信息系统 ( 资环 )](https://reader030.vdocuments.site/reader030/viewer/2022033009/56814bed550346895db8d0a3/html5/thumbnails/6.jpg)
山东理工大学 资源与环境工程学院 地理信息系统讲义
宿主型开发模式
•基于 GIS 平台软件,进行应用系统开发•开发较为容易• 二次开发的脚本语言,功能较弱•所开发的系统不能脱离 GIS 平台•是解释执行的,运行效率低•用户界面受平台软件的限制
![Page 7: 地理信息系统 ( 资环 )](https://reader030.vdocuments.site/reader030/viewer/2022033009/56814bed550346895db8d0a3/html5/thumbnails/7.jpg)
山东理工大学 资源与环境工程学院 地理信息系统讲义
组件式 GIS 开发模式
•建立在组件技术基础上的 GIS 功能组件,实现了地理信息系统的各种功能•成本低,开发要求低,语言简单,系统可实现无缝集成
![Page 8: 地理信息系统 ( 资环 )](https://reader030.vdocuments.site/reader030/viewer/2022033009/56814bed550346895db8d0a3/html5/thumbnails/8.jpg)
山东理工大学 资源与环境工程学院 地理信息系统讲义
GIS 开发模式的选择
•独立开发难度太大•宿主型二次开发受 GIS 平台所提供的
脚本语言的限制•组件式 GIS 开发模式结合了 GIS 平
台软件与可视化开发平台的组件开发模式的优点。
![Page 9: 地理信息系统 ( 资环 )](https://reader030.vdocuments.site/reader030/viewer/2022033009/56814bed550346895db8d0a3/html5/thumbnails/9.jpg)
山东理工大学 资源与环境工程学院 地理信息系统讲义
5.2 面向对象程序设计 (OOP)Object Oriented Programming
软件开发模式的演变和发展
![Page 10: 地理信息系统 ( 资环 )](https://reader030.vdocuments.site/reader030/viewer/2022033009/56814bed550346895db8d0a3/html5/thumbnails/10.jpg)
山东理工大学 资源与环境工程学院 地理信息系统讲义
• OOP 将问题分解为一系列实体——这些实体被称为对象( object ),然后围绕这些实体建立数据和函数
![Page 11: 地理信息系统 ( 资环 )](https://reader030.vdocuments.site/reader030/viewer/2022033009/56814bed550346895db8d0a3/html5/thumbnails/11.jpg)
山东理工大学 资源与环境工程学院 地理信息系统讲义
•核心概念:对象• 在一个面向对象的系统中:对象是运行期
的基本实体。它可以用来表示一个人或者说一个银行帐户,一张数据表格,或者其它什么需要被程序处理的东西。在面向对象程序设计中,问题的分析一般以对象及对象间的自然联系为依据。对象在内存中占有一定空间,并且具有一个与之关联的地址。
![Page 12: 地理信息系统 ( 资环 )](https://reader030.vdocuments.site/reader030/viewer/2022033009/56814bed550346895db8d0a3/html5/thumbnails/12.jpg)
山东理工大学 资源与环境工程学院 地理信息系统讲义
•核心概念:类•类是用户定义的数据类型,但在一个
程序设计语言中,它和内建的数据类型行为相同。比如创建一个类对象的语法和创建一个整数对象的语法相同的。如果 Fruit 被定义为一个类,那么语句
Fruit apple;就创建了一个 Fruit 类的对象
apple
![Page 13: 地理信息系统 ( 资环 )](https://reader030.vdocuments.site/reader030/viewer/2022033009/56814bed550346895db8d0a3/html5/thumbnails/13.jpg)
山东理工大学 资源与环境工程学院 地理信息系统讲义
OOP 的优点• 通过继承,我们可以大幅减少多余的代
码,并扩展现有代码的用途;• 我们可以在标准的模块上构建我们的程
序,而不必一切从头开始。这可以减少软件开发时间并提高生产效率;
• 数据隐藏的概念帮助程序员保护程序免受外部代码的侵袭;
• 允许一个对象的多个实例同时存在,而且彼此之间不会相互干扰;
![Page 14: 地理信息系统 ( 资环 )](https://reader030.vdocuments.site/reader030/viewer/2022033009/56814bed550346895db8d0a3/html5/thumbnails/14.jpg)
山东理工大学 资源与环境工程学院 地理信息系统讲义
5.3 组件式 GIS ( ComGIS)
•组件技术•组件式 GIS
![Page 15: 地理信息系统 ( 资环 )](https://reader030.vdocuments.site/reader030/viewer/2022033009/56814bed550346895db8d0a3/html5/thumbnails/15.jpg)
山东理工大学 资源与环境工程学院 地理信息系统讲义
5.3.1 组件技术
代码重用循环过程(子程序)宏代换函数
经典、规范的计算方法和程序代码作为一种技术积累继承和流传,具有重要的意义
编程序最好是用已有的经过验证了的代码
要考虑一种方法,将已有的实现各种功能的代码重用
大型软件或信息系统中可以使用函数库、方法库、模型库等
![Page 16: 地理信息系统 ( 资环 )](https://reader030.vdocuments.site/reader030/viewer/2022033009/56814bed550346895db8d0a3/html5/thumbnails/16.jpg)
山东理工大学 资源与环境工程学院 地理信息系统讲义
COM
为解决更为复杂的软件复用和互操作问题,微软提出了 COM/DCOM 标准。
COM :组件对象模型( Component Object Model )
是一种二进制标准,允许对象之间跨进程、跨计算机调用。
COM只是一种标准,只要遵守该标准,即可跨语言甚至跨计算机相互调用
![Page 17: 地理信息系统 ( 资环 )](https://reader030.vdocuments.site/reader030/viewer/2022033009/56814bed550346895db8d0a3/html5/thumbnails/17.jpg)
山东理工大学 资源与环境工程学院 地理信息系统讲义
• 基于 COM/DCOM ,微软推出了 ActiveX 技术,可以使软件组件在网络环境中进行操作
不用知道代码就能使用别人编写好的程序功能。编程轻松多了!
可以通过网络调用别人编写好的程序功能。功能强大多了!
我也可以编写组件,即为别人提供服务,又保护我的源代码。
![Page 18: 地理信息系统 ( 资环 )](https://reader030.vdocuments.site/reader030/viewer/2022033009/56814bed550346895db8d0a3/html5/thumbnails/18.jpg)
山东理工大学 资源与环境工程学院 地理信息系统讲义
在 Word 中可以插入并编辑Excel 图表
校园办公系统网络插件
基于COM技术
运用 COM 技术,增强了软件互操作性,实现了很多功能
![Page 19: 地理信息系统 ( 资环 )](https://reader030.vdocuments.site/reader030/viewer/2022033009/56814bed550346895db8d0a3/html5/thumbnails/19.jpg)
山东理工大学 资源与环境工程学院 地理信息系统讲义
运用组件技术,编写程序过程发生了巨大的变化
• 所有程序界面元素,如按纽、文本框、输入输出设置都可以通过控件实现
• 各种专业功能,可以使用专业控件实现
![Page 20: 地理信息系统 ( 资环 )](https://reader030.vdocuments.site/reader030/viewer/2022033009/56814bed550346895db8d0a3/html5/thumbnails/20.jpg)
山东理工大学 资源与环境工程学院 地理信息系统讲义
组件( Component )也称“控件”( controller) ,是具有某种特定功能,能独立于应用程序而独立存在,具有与外部程序或其他组件相链接的标准接口,可以用来组装或构建其他程序单元的二进制模块
概念:组件
![Page 21: 地理信息系统 ( 资环 )](https://reader030.vdocuments.site/reader030/viewer/2022033009/56814bed550346895db8d0a3/html5/thumbnails/21.jpg)
山东理工大学 资源与环境工程学院 地理信息系统讲义
概念: GIS 组件
遵循 COM接口,具有 GIS 空间信息处理功能,用于进行二次开发的二进制模块。这种特定的组件称为 GIS组件
5.3.2 组件式 GIS
![Page 22: 地理信息系统 ( 资环 )](https://reader030.vdocuments.site/reader030/viewer/2022033009/56814bed550346895db8d0a3/html5/thumbnails/22.jpg)
山东理工大学 资源与环境工程学院 地理信息系统讲义
打个比方生产汽车: 发动机来自 A公司
轮胎来自 B公司
其他设备来自 C公司
生产的过程就是将各个部件安装、调试
各个部件的设计、性能优化、质量控制,交给其他厂家完成,汽车生产商并不直接参与
![Page 23: 地理信息系统 ( 资环 )](https://reader030.vdocuments.site/reader030/viewer/2022033009/56814bed550346895db8d0a3/html5/thumbnails/23.jpg)
山东理工大学 资源与环境工程学院 地理信息系统讲义
运用组件式 GIS 进行开发运用组件技术开发GIS 应用系统:
用户界面使用 VB 开发空间数据管理与处理使用 GIS 组件实现
其他功能也可以使用相应组件实现
在可视化编程环境下,使用相应 GIS 组件产品,实现 GIS 功能。
GIS 组件的设计、实现、对数据的处理、空间图形的显示等,无须考虑。
土地资源评价与管理信息系统
![Page 24: 地理信息系统 ( 资环 )](https://reader030.vdocuments.site/reader030/viewer/2022033009/56814bed550346895db8d0a3/html5/thumbnails/24.jpg)
山东理工大学 资源与环境工程学院 地理信息系统讲义
组件式 GIS 系统的特点
• 小巧灵活、价格便宜• 开发简捷• 大众化
![Page 25: 地理信息系统 ( 资环 )](https://reader030.vdocuments.site/reader030/viewer/2022033009/56814bed550346895db8d0a3/html5/thumbnails/25.jpg)
山东理工大学 资源与环境工程学院 地理信息系统讲义
组件 GIS 的不足• 与专业的 GIS客户端软件相比,采用构
件技术不可避免的带来效率上的相对低下,这在访问超大空间数据(如大数据量的遥感图象)的时候表现得尤为明显;
•支持的空间数据量有限;•支持的功能有限,由于是构件,只覆盖了
GIS 系统的部分功能,于是对于特殊领域,它就显得无能为力;
![Page 26: 地理信息系统 ( 资环 )](https://reader030.vdocuments.site/reader030/viewer/2022033009/56814bed550346895db8d0a3/html5/thumbnails/26.jpg)
山东理工大学 资源与环境工程学院 地理信息系统讲义
GIS 组件产品
• GIS 组件的代表作应首推MapObjects 以及 MapX 。其中MapObjects 由全球最大的 GIS厂商ESRI(美国环境系统研究所 ) 推出;MapX 由著名的桌面 GIS厂商美国MapInfo公司推出。
![Page 27: 地理信息系统 ( 资环 )](https://reader030.vdocuments.site/reader030/viewer/2022033009/56814bed550346895db8d0a3/html5/thumbnails/27.jpg)
山东理工大学 资源与环境工程学院 地理信息系统讲义
功能 MapObjects MapX
显示的地图数据格式 Arcview 的 SHP、 ARC/INFO的coverage 、 SDE 图层
MapInfo 的数据格式
叠加栅格图像 有对地图的常用操作 放大、缩小、漫游等图层控制 增加、移除、设置当前层属性数据绑定 有地图信息查询方式 1. 通过鼠标选取特征 ;2. 通过 SQL 查找特征 ;3. 通过空间
操作选取要素专题地图 较弱 有GPS 集成 有用户绘图图层 无 有生成 / 编辑地图对象 较弱地图标注 有地图符号化 较弱 较强分析功能 有 ?地理编码 有可使用的开发语言 VC、 VB、 PowerBuilder
、 Delphi 、 Access 等VC、 VB、 PowerBuilder
、 Delphi 、 LotusNotes等
![Page 28: 地理信息系统 ( 资环 )](https://reader030.vdocuments.site/reader030/viewer/2022033009/56814bed550346895db8d0a3/html5/thumbnails/28.jpg)
山东理工大学 资源与环境工程学院 地理信息系统讲义
本章回顾• GIS 的三种开发模式• 基本概念:类与对象• 什么是组件式 GIS ,其功能及特点
![Page 29: 地理信息系统 ( 资环 )](https://reader030.vdocuments.site/reader030/viewer/2022033009/56814bed550346895db8d0a3/html5/thumbnails/29.jpg)
山东理工大学 资源与环境工程学院 地理信息系统讲义
• 通过网络查找常用组件式 GIS 产品• 预习试验课内容
课后作业: