29
山山山山山山 山山山山山山山山山 山山山山山 山山 山山山山山( 山山 ) 2007.8.20 山山山山 : 山 山

地理信息系统 ( 资环 )

  • Upload
    fausto

  • View
    109

  • Download
    0

Embed Size (px)

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 Presentation

Citation preview

Page 1: 地理信息系统 ( 资环 )

山东理工大学 资源与环境工程学院 地理信息系统讲义

地理信息系统 ( 资环 )

2007.8.20

授课教师 : 刘 晓

Page 2: 地理信息系统 ( 资环 )

山东理工大学 资源与环境工程学院 地理信息系统讲义

第 5 章 GIS 二次开发概述

•5.1 GIS 开发模式•5.2 面向对象程序设计(OOP)

•5.3 组件 GIS 技术

Page 3: 地理信息系统 ( 资环 )

山东理工大学 资源与环境工程学院 地理信息系统讲义

GIS 软件类型

GIS

工具型 GIS

应用型GIS

区域型 GIS专题型 GIS

主要指软件包:Mapinfo、 ArcGIS、 ArcView

与应用领域结合形成的系统: 长江流域基础地理信息系统 XX公司物流配送系统 南宁市综合管线地理信息系统

Page 4: 地理信息系统 ( 资环 )

山东理工大学 资源与环境工程学院 地理信息系统讲义

5.1 GIS 开发模式

• 独立开发模式• 宿主型开发模式• 组件式 GIS 开发模式

Page 5: 地理信息系统 ( 资环 )

山东理工大学 资源与环境工程学院 地理信息系统讲义

独立开发模式•不依赖于任何 GIS 工具软件•所有的算法都由开发者独立设计•选用底层程序设计语言•开发周期长,软件功能相对简单,对开发者要求高,•具有自主知识产权

Page 6: 地理信息系统 ( 资环 )

山东理工大学 资源与环境工程学院 地理信息系统讲义

宿主型开发模式

•基于 GIS 平台软件,进行应用系统开发•开发较为容易• 二次开发的脚本语言,功能较弱•所开发的系统不能脱离 GIS 平台•是解释执行的,运行效率低•用户界面受平台软件的限制

Page 7: 地理信息系统 ( 资环 )

山东理工大学 资源与环境工程学院 地理信息系统讲义

组件式 GIS 开发模式

•建立在组件技术基础上的 GIS 功能组件,实现了地理信息系统的各种功能•成本低,开发要求低,语言简单,系统可实现无缝集成

Page 8: 地理信息系统 ( 资环 )

山东理工大学 资源与环境工程学院 地理信息系统讲义

GIS 开发模式的选择

•独立开发难度太大•宿主型二次开发受 GIS 平台所提供的

脚本语言的限制•组件式 GIS 开发模式结合了 GIS 平

台软件与可视化开发平台的组件开发模式的优点。

Page 9: 地理信息系统 ( 资环 )

山东理工大学 资源与环境工程学院 地理信息系统讲义

5.2 面向对象程序设计 (OOP)Object Oriented Programming

软件开发模式的演变和发展

Page 10: 地理信息系统 ( 资环 )

山东理工大学 资源与环境工程学院 地理信息系统讲义

• OOP 将问题分解为一系列实体——这些实体被称为对象( object ),然后围绕这些实体建立数据和函数

Page 11: 地理信息系统 ( 资环 )

山东理工大学 资源与环境工程学院 地理信息系统讲义

•核心概念:对象• 在一个面向对象的系统中:对象是运行期

的基本实体。它可以用来表示一个人或者说一个银行帐户,一张数据表格,或者其它什么需要被程序处理的东西。在面向对象程序设计中,问题的分析一般以对象及对象间的自然联系为依据。对象在内存中占有一定空间,并且具有一个与之关联的地址。

Page 12: 地理信息系统 ( 资环 )

山东理工大学 资源与环境工程学院 地理信息系统讲义

•核心概念:类•类是用户定义的数据类型,但在一个

程序设计语言中,它和内建的数据类型行为相同。比如创建一个类对象的语法和创建一个整数对象的语法相同的。如果 Fruit 被定义为一个类,那么语句

Fruit apple;就创建了一个 Fruit 类的对象

apple

Page 13: 地理信息系统 ( 资环 )

山东理工大学 资源与环境工程学院 地理信息系统讲义

OOP 的优点• 通过继承,我们可以大幅减少多余的代

码,并扩展现有代码的用途;• 我们可以在标准的模块上构建我们的程

序,而不必一切从头开始。这可以减少软件开发时间并提高生产效率;

• 数据隐藏的概念帮助程序员保护程序免受外部代码的侵袭;

• 允许一个对象的多个实例同时存在,而且彼此之间不会相互干扰;

Page 14: 地理信息系统 ( 资环 )

山东理工大学 资源与环境工程学院 地理信息系统讲义

5.3 组件式 GIS ( ComGIS)

•组件技术•组件式 GIS

Page 15: 地理信息系统 ( 资环 )

山东理工大学 资源与环境工程学院 地理信息系统讲义

5.3.1 组件技术

代码重用循环过程(子程序)宏代换函数

经典、规范的计算方法和程序代码作为一种技术积累继承和流传,具有重要的意义

编程序最好是用已有的经过验证了的代码

要考虑一种方法,将已有的实现各种功能的代码重用

大型软件或信息系统中可以使用函数库、方法库、模型库等

Page 16: 地理信息系统 ( 资环 )

山东理工大学 资源与环境工程学院 地理信息系统讲义

COM

为解决更为复杂的软件复用和互操作问题,微软提出了 COM/DCOM 标准。

COM :组件对象模型( Component Object Model )

是一种二进制标准,允许对象之间跨进程、跨计算机调用。

COM只是一种标准,只要遵守该标准,即可跨语言甚至跨计算机相互调用

Page 17: 地理信息系统 ( 资环 )

山东理工大学 资源与环境工程学院 地理信息系统讲义

• 基于 COM/DCOM ,微软推出了 ActiveX 技术,可以使软件组件在网络环境中进行操作

不用知道代码就能使用别人编写好的程序功能。编程轻松多了!

可以通过网络调用别人编写好的程序功能。功能强大多了!

我也可以编写组件,即为别人提供服务,又保护我的源代码。

Page 18: 地理信息系统 ( 资环 )

山东理工大学 资源与环境工程学院 地理信息系统讲义

在 Word 中可以插入并编辑Excel 图表

校园办公系统网络插件

基于COM技术

运用 COM 技术,增强了软件互操作性,实现了很多功能

Page 19: 地理信息系统 ( 资环 )

山东理工大学 资源与环境工程学院 地理信息系统讲义

运用组件技术,编写程序过程发生了巨大的变化

• 所有程序界面元素,如按纽、文本框、输入输出设置都可以通过控件实现

• 各种专业功能,可以使用专业控件实现

Page 20: 地理信息系统 ( 资环 )

山东理工大学 资源与环境工程学院 地理信息系统讲义

组件( Component )也称“控件”( controller) ,是具有某种特定功能,能独立于应用程序而独立存在,具有与外部程序或其他组件相链接的标准接口,可以用来组装或构建其他程序单元的二进制模块

概念:组件

Page 21: 地理信息系统 ( 资环 )

山东理工大学 资源与环境工程学院 地理信息系统讲义

概念: GIS 组件

遵循 COM接口,具有 GIS 空间信息处理功能,用于进行二次开发的二进制模块。这种特定的组件称为 GIS组件

5.3.2 组件式 GIS

Page 22: 地理信息系统 ( 资环 )

山东理工大学 资源与环境工程学院 地理信息系统讲义

打个比方生产汽车: 发动机来自 A公司

轮胎来自 B公司

其他设备来自 C公司

生产的过程就是将各个部件安装、调试

各个部件的设计、性能优化、质量控制,交给其他厂家完成,汽车生产商并不直接参与

Page 23: 地理信息系统 ( 资环 )

山东理工大学 资源与环境工程学院 地理信息系统讲义

运用组件式 GIS 进行开发运用组件技术开发GIS 应用系统:

用户界面使用 VB 开发空间数据管理与处理使用 GIS 组件实现

其他功能也可以使用相应组件实现

在可视化编程环境下,使用相应 GIS 组件产品,实现 GIS 功能。

GIS 组件的设计、实现、对数据的处理、空间图形的显示等,无须考虑。

土地资源评价与管理信息系统

Page 24: 地理信息系统 ( 资环 )

山东理工大学 资源与环境工程学院 地理信息系统讲义

组件式 GIS 系统的特点

• 小巧灵活、价格便宜• 开发简捷• 大众化

Page 25: 地理信息系统 ( 资环 )

山东理工大学 资源与环境工程学院 地理信息系统讲义

组件 GIS 的不足• 与专业的 GIS客户端软件相比,采用构

件技术不可避免的带来效率上的相对低下,这在访问超大空间数据(如大数据量的遥感图象)的时候表现得尤为明显;

•支持的空间数据量有限;•支持的功能有限,由于是构件,只覆盖了

GIS 系统的部分功能,于是对于特殊领域,它就显得无能为力;

Page 26: 地理信息系统 ( 资环 )

山东理工大学 资源与环境工程学院 地理信息系统讲义

GIS 组件产品

• GIS 组件的代表作应首推MapObjects 以及 MapX 。其中MapObjects 由全球最大的 GIS厂商ESRI(美国环境系统研究所 ) 推出;MapX 由著名的桌面 GIS厂商美国MapInfo公司推出。

Page 27: 地理信息系统 ( 资环 )

山东理工大学 资源与环境工程学院 地理信息系统讲义

功能 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: 地理信息系统 ( 资环 )

山东理工大学 资源与环境工程学院 地理信息系统讲义

本章回顾• GIS 的三种开发模式• 基本概念:类与对象• 什么是组件式 GIS ,其功能及特点

Page 29: 地理信息系统 ( 资环 )

山东理工大学 资源与环境工程学院 地理信息系统讲义

• 通过网络查找常用组件式 GIS 产品• 预习试验课内容

课后作业: