地理信息系统 ( 资环 )

Post on 16-Jan-2016

120 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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

TRANSCRIPT

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

地理信息系统 ( 资环 )

2007.8.20

授课教师 : 刘 晓

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

第 5 章 GIS 二次开发概述

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

•5.3 组件 GIS 技术

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

GIS 软件类型

GIS

工具型 GIS

应用型GIS

区域型 GIS专题型 GIS

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

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

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

5.1 GIS 开发模式

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

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

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

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

宿主型开发模式

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

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

组件式 GIS 开发模式

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

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

GIS 开发模式的选择

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

apple

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

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

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

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

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

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

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

5.3 组件式 GIS ( ComGIS)

•组件技术•组件式 GIS

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

5.3.1 组件技术

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

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

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

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

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

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

COM

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

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

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

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

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

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

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

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

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

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

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

校园办公系统网络插件

基于COM技术

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

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

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

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

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

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

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

概念:组件

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

概念: GIS 组件

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

5.3.2 组件式 GIS

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

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

轮胎来自 B公司

其他设备来自 C公司

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

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

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

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

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

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

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

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

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

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

组件式 GIS 系统的特点

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

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

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

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

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

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

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

GIS 组件产品

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

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

功能 MapObjects MapX

显示的地图数据格式 Arcview 的 SHP、 ARC/INFO的coverage 、 SDE 图层

MapInfo 的数据格式

叠加栅格图像 有对地图的常用操作 放大、缩小、漫游等图层控制 增加、移除、设置当前层属性数据绑定 有地图信息查询方式 1. 通过鼠标选取特征 ;2. 通过 SQL 查找特征 ;3. 通过空间

操作选取要素专题地图 较弱 有GPS 集成 有用户绘图图层 无 有生成 / 编辑地图对象 较弱地图标注 有地图符号化 较弱 较强分析功能 有 ?地理编码 有可使用的开发语言 VC、 VB、 PowerBuilder

、 Delphi 、 Access 等VC、 VB、 PowerBuilder

、 Delphi 、 LotusNotes等

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

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

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

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

课后作业:

top related