1、资源环境地理信息系统资源环境地理信息系统School of Resource&Environment Engineering WHUT2023-1-3012.1 2.1 环境环境GISGIS设计的目标和任务设计的目标和任务2.2 2.2 环境环境GISGIS总体框架设计总体框架设计2.3 2.3 环境环境GISGIS数据库设计数据库设计2.4 2.4 环境环境GISGIS开发技术路线开发技术路线2.5 2.5 环境环境GISGIS工程开发与实现工程开发与实现2.6 2.6 环境环境GISGIS软件体系结构软件体系结构2.7 2.7 环境环境GISGIS实用技术实用技术资源环境地理信息系统资源环
2、境地理信息系统School of Resource&Environment Engineering WHUT2023-1-3022.6 环境环境GIS软件体系结构软件体系结构q软件体系结构的三要素软件体系结构的三要素v程序构件(模块)的层次结构程序构件(模块)的层次结构v构件之间交互的方式构件之间交互的方式v数据的结构数据的结构资源环境地理信息系统资源环境地理信息系统School of Resource&Environment Engineering WHUT2023-1-303q在软件体系结构设计中的性质在软件体系结构设计中的性质v结构结构 体系结构设计定义系统的构件、构体系结构设计定义系统
3、的构件、构件打包的方式和相互交互的方式件打包的方式和相互交互的方式v附属的功能附属的功能 体系结构设计描述设计出的体系结构设计描述设计出的体系结构如何实现功能、性能、可靠性、体系结构如何实现功能、性能、可靠性、安全性、适应性,以及其它的系统需求。安全性、适应性,以及其它的系统需求。v可复用可复用 体系结构设计应描述为一种可复体系结构设计应描述为一种可复用的模式,能复用已有构造块,并可供以用的模式,能复用已有构造块,并可供以后类似系统族的设计使用。后类似系统族的设计使用。2.6 环境环境GIS软件体系结构软件体系结构资源环境地理信息系统资源环境地理信息系统School of Resource&E
4、nvironment Engineering WHUT2023-1-304q1952年,年,MIT(美国麻省理工学院美国麻省理工学院)在在Whirlwind 系统上使用了符系统上使用了符号地址,开始使用汇编语言编写程序,这是最早的软件抽象。号地址,开始使用汇编语言编写程序,这是最早的软件抽象。q1957年年IBM公司完成的公司完成的Fortran(Formula translation)语言,这语言,这是一种用于科学计算的程序设计语言。是一种用于科学计算的程序设计语言。IBM公司在公司在IBM704机上机上开发了用开发了用Fortran编写的监控程序系统,是操作系统的雏形,也编写的监控程序系统
5、,是操作系统的雏形,也是最早的对硬件的软件抽象。是最早的对硬件的软件抽象。q1975年,年,DeRemer和和Kron发明了发明了MIL(Module Interconnection Languages模块互连语言模块互连语言),MIL提供了描述模块之间的相互关系提供了描述模块之间的相互关系以及模块如何调用的静态方法。以及模块如何调用的静态方法。q1985年,年,Microsoft 公司开始研究开发用于微型计算机的公司开始研究开发用于微型计算机的Windows操作系统。操作系统。软件体系结构的提出与发展软件体系结构的提出与发展资源环境地理信息系统资源环境地理信息系统School of Reso
6、urce&Environment Engineering WHUT2023-1-305q从从1995年推出的年推出的Windows 系列成为独立的操作系统。发布了最流行的应系列成为独立的操作系统。发布了最流行的应用程序开发框架(用程序开发框架(Framework)MFC,使,使Windows应用程序的结构标准应用程序的结构标准化,成为新一代开发应用软件的工具。化,成为新一代开发应用软件的工具。q20世纪世纪90年代,人们逐渐认识到软件体系结构的重要性,软件工程师在描年代,人们逐渐认识到软件体系结构的重要性,软件工程师在描述和理解软件系统是逐渐谈论到软件的体系结构。述和理解软件系统是逐渐谈论到软
7、件的体系结构。q20世纪世纪90年代中期,一些统称为年代中期,一些统称为ADL(Architecture Description Languages体系结构描述语言)的工具被提出,它是一种相对较新的技术,体系结构描述语言)的工具被提出,它是一种相对较新的技术,目前尚未有成功的商业应用案例。目前尚未有成功的商业应用案例。qOMG(Object Management Group对象管理组织)发布的对象管理组织)发布的UML(Unified Modeling Language统一建模语言)是标准化的面向对象分析与设计的表统一建模语言)是标准化的面向对象分析与设计的表示法,作为一种图形化的语言,它包括
8、一组图表,用于需求采集的用例图示法,作为一种图形化的语言,它包括一组图表,用于需求采集的用例图和活动图,用于设计的类图和对象图,用于配置的包图和子系统图等等。和活动图,用于设计的类图和对象图,用于配置的包图和子系统图等等。软件体系结构的提出与发展资源环境地理信息系统资源环境地理信息系统School of Resource&Environment Engineering WHUT2023-1-3062.6 环境环境GIS软件体系结构软件体系结构q 集中式集中式q 分布式分布式资源环境地理信息系统资源环境地理信息系统School of Resource&Environment Engineerin
9、g WHUT2023-1-307q一个主机带多个终端的多用户结构一个主机带多个终端的多用户结构v数据库系统,包括应用程序、数据库系统,包括应用程序、DBMS、数据,、数据,都集中存放在主机上。所有的计算任务和数据都集中存放在主机上。所有的计算任务和数据管理任务都集中在主机上,终端只是主机输入管理任务都集中在主机上,终端只是主机输入/输出设备的延长。输出设备的延长。v各个用户通过主机的终端并发地存取数据库,各个用户通过主机的终端并发地存取数据库,共享数据资源共享数据资源集中式资源环境地理信息系统资源环境地理信息系统School of Resource&Environment Engineerin
10、g WHUT2023-1-308q优点优点v易于管理、控制与维护易于管理、控制与维护q缺点缺点v当终端用户数目增加到一定程度后,主机当终端用户数目增加到一定程度后,主机的任务会过分繁重,成为瓶颈,从而使系的任务会过分繁重,成为瓶颈,从而使系统性能下降。统性能下降。v系统的可靠性依赖主机系统的可靠性依赖主机,当主机出现故障时,当主机出现故障时,整个系统都不能使用。整个系统都不能使用。集中式的优缺点资源环境地理信息系统资源环境地理信息系统School of Resource&Environment Engineering WHUT2023-1-309q数据库中的数据在逻辑上是一个整体,但数据库中的
11、数据在逻辑上是一个整体,但物理地分布在计算机网络的不同结点上。物理地分布在计算机网络的不同结点上。v网络中的每个结点都可以独立处理本地数据库网络中的每个结点都可以独立处理本地数据库中的数据,执行局部应用。中的数据,执行局部应用。v同时也可以同时存取和处理多个异地数据库中同时也可以同时存取和处理多个异地数据库中的数据,执行全局应用。的数据,执行全局应用。分分 布布 式式资源环境地理信息系统资源环境地理信息系统School of Resource&Environment Engineering WHUT2023-1-3010q优点优点v适应了地理上分散的公司、团体和组织对于适应了地理上分散的公司、
12、团体和组织对于数据库应用的需求。数据库应用的需求。q缺点缺点v数据的分布存放给数据的处理、管理与维护数据的分布存放给数据的处理、管理与维护带来困难。带来困难。v当用户需要经常访问远程数据时,系统效率当用户需要经常访问远程数据时,系统效率会明显地受到网络传输的制约。会明显地受到网络传输的制约。资源环境地理信息系统资源环境地理信息系统School of Resource&Environment Engineering WHUT2023-1-3011分布式分布式q客户端客户端/服务器(服务器(C/S)两层结构)两层结构q客户机客户机/服务器(服务器(C/S)和浏览器)和浏览器/服务器(服务器(B/S
13、)三层结构三层结构v网络中某个(些)结点上的计算机专门用于执行DBMS功能,称为数据库服务器,简称服务器。v其他结点上的计算机安装DBMS的外围应用开发工具,用户的应用系统,称为客户机。资源环境地理信息系统资源环境地理信息系统School of Resource&Environment Engineering WHUT2023-1-3012q可以充分利用两端硬件环境的优势,将可以充分利用两端硬件环境的优势,将任务合理分配到任务合理分配到Client端和端和Server端来实端来实现,降低了系统的通讯开销。现,降低了系统的通讯开销。q有有一组功能各自独立的服务器一组功能各自独立的服务器,为其他子
14、系统,为其他子系统提供服务。如打印服务器提供服务。如打印服务器,文件服务器文件服务器,编译编译服务器等。服务器等。q有有一组客户机一组客户机,他们调用服务器提供的服务。他们调用服务器提供的服务。也可能存在客户机可并发执行的客户机程序。也可能存在客户机可并发执行的客户机程序。q有有一个网络一个网络,使得客户机能够访问服务器。使得客户机能够访问服务器。q在多用户超文本系统中存在若干服务器在多用户超文本系统中存在若干服务器,它们它们管理和显示不同媒体的数据。管理和显示不同媒体的数据。资源环境地理信息系统资源环境地理信息系统School of Resource&Environment Engineer
15、ing WHUT2023-1-3013h 客户机/服务器(C/S)模式的结构 数据库服务器客户机数据库服务器数据库服务器应用服务器应用服务器客户机客户机两层结构三层结构混合结构资源环境地理信息系统资源环境地理信息系统School of Resource&Environment Engineering WHUT2023-1-3014用户用户应应 用用逻逻 辑辑数据库数据库服务器服务器通讯协议和通讯协议和SQL语言语言客户端客户端/服务器(服务器(C/S)环境)环境GIS模型模型资源环境地理信息系统资源环境地理信息系统School of Resource&Environment Engineeri
16、ng WHUT2023-1-3015客户端客户端/服务器(服务器(C/S)两层结构)两层结构优优 点点q充分利用客户端的性能,使计算能力大大提高;充分利用客户端的性能,使计算能力大大提高;q在客户端和服务器两端是易于扩充的;在客户端和服务器两端是易于扩充的;q是目前主流的网络计算模式是目前主流的网络计算模式资源环境地理信息系统资源环境地理信息系统School of Resource&Environment Engineering WHUT2023-1-3016一般一般C/S模式下模式下GIS访问数据库的框架访问数据库的框架GIS功能层功能层数据请求层数据请求层GIS功能层功能层数据请求层数据请
17、求层GIS功能层功能层数据请求层数据请求层GIS功能层功能层数据请求层数据请求层客户端客户端数据库数据库数据库数据库数据库数据库数据库数据库服务器服务器资源环境地理信息系统资源环境地理信息系统School of Resource&Environment Engineering WHUT2023-1-3017基于环境空间数据库的基于环境空间数据库的C/S结构结构用户应用程序用户应用程序空间数据库应用程序接口空间数据库应用程序接口客户端客户端服务器服务器环境空间数据库服务器环境空间数据库服务器Oracle、DB2、SQLServer数据库数据库资源环境地理信息系统资源环境地理信息系统School
18、of Resource&Environment Engineering WHUT2023-1-3018三层三层C/S结构环境结构环境GIS应用程序应用程序远程调用远程调用数据库数据库存储调用存储调用数据库驱动数据库驱动应用程序应用程序数据库驱动数据库驱动自定义自定义协议协议存储过程存储过程SQL语言语言客户机客户机应用服务器应用服务器数据库服务器数据库服务器资源环境地理信息系统资源环境地理信息系统School of Resource&Environment Engineering WHUT2023-1-3019三层三层C/S结构环境结构环境GIS的特点的特点q用户界面与应用服务器位于不同的平台
19、用户界面与应用服务器位于不同的平台上,用户可以共享应用服务器。上,用户可以共享应用服务器。q用户可以共享应用逻辑。用户可以共享应用逻辑。q培训方便且开发成本低。培训方便且开发成本低。q系统层次清晰。系统层次清晰。资源环境地理信息系统资源环境地理信息系统School of Resource&Environment Engineering WHUT2023-1-3020浏览器浏览器/服务器服务器(B/S)(B/S)结构结构 qBrowser/Server结构,结构,它是随着它是随着Internet技术的兴起,对技术的兴起,对C/S结构的一种变化或结构的一种变化或者改进的结构。用户可以共享应用逻辑。
20、者改进的结构。用户可以共享应用逻辑。q这样就大大简化了客户端电脑载荷,减这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,轻了系统维护与升级的成本和工作量,降低了用户的总体成本(降低了用户的总体成本(TCO)。q能有效地保护数据平台和管理访问权限,能有效地保护数据平台和管理访问权限,服务器数据库也很安全服务器数据库也很安全。资源环境地理信息系统资源环境地理信息系统School of Resource&Environment Engineering WHUT2023-1-3021C/S、B/S软件技术的比较软件技术的比较 q数据安全性比较数据安全性比较 q数据一致性比较数据一致
21、性比较 q数据实时性比较数据实时性比较 q数据溯源性比较数据溯源性比较q服务响应及时性比较服务响应及时性比较 资源环境地理信息系统资源环境地理信息系统School of Resource&Environment Engineering WHUT2023-1-3022()数据安全性比较()数据安全性比较 q由于由于C/S结构软件的数据分布特性,客户端所发生结构软件的数据分布特性,客户端所发生的火灾、病毒、黑客等都成了可怕的数据杀手。的火灾、病毒、黑客等都成了可怕的数据杀手。另外,对于集团级的异地软件应用,另外,对于集团级的异地软件应用,C/S结构的软结构的软件必须在各地安装多个服务器,并在多个服
22、务器件必须在各地安装多个服务器,并在多个服务器之间进行数据同步。如此一来,每个数据点的数之间进行数据同步。如此一来,每个数据点的数据安全都影响了整个应用的数据安全。所以,据安全都影响了整个应用的数据安全。所以,C/S结构软件的安全性是令人无法接受的。对于结构软件的安全性是令人无法接受的。对于B/S结结构软件,由于其数据集中存放于总部的数据库服构软件,由于其数据集中存放于总部的数据库服务器,客户端不保存任何业务数据和数据库连接务器,客户端不保存任何业务数据和数据库连接信息,也无需进行什么数据同步,所以安全问题信息,也无需进行什么数据同步,所以安全问题更有保障。更有保障。资源环境地理信息系统资源环
23、境地理信息系统School of Resource&Environment Engineering WHUT2023-1-3023()数据一致性比较()数据一致性比较 q在在C/S结构对于异地经营的大型集团都采用结构对于异地经营的大型集团都采用各地安装区域级服务器,然后再进行数据同各地安装区域级服务器,然后再进行数据同步的模式。由于局部网络故障造成个别数据步的模式。由于局部网络故障造成个别数据库不能同步不说,即使同步上来,各服务器库不能同步不说,即使同步上来,各服务器也不是一个时点上的数据,数据永远无法一也不是一个时点上的数据,数据永远无法一致,不能用于决策。对于致,不能用于决策。对于B/S结
24、构的软件来结构的软件来讲,其数据是集中存放的,客户端发生的每讲,其数据是集中存放的,客户端发生的每一笔业务单据都直接进入到中央数据库,不一笔业务单据都直接进入到中央数据库,不存在数据一致性的问题。存在数据一致性的问题。资源环境地理信息系统资源环境地理信息系统School of Resource&Environment Engineering WHUT2023-1-3024()数据实时性比较()数据实时性比较 q在集团级应用里,在集团级应用里,C/S结构不可能随结构不可能随时随地看到当前业务的发生情况,看时随地看到当前业务的发生情况,看到的都是事后数据到的都是事后数据qB/S结构则不同,它可以实
25、时看到当结构则不同,它可以实时看到当前发生的所有业务,方便了快速决策,前发生的所有业务,方便了快速决策,有效地避免了企业损失。有效地避免了企业损失。资源环境地理信息系统资源环境地理信息系统School of Resource&Environment Engineering WHUT2023-1-3025q由于由于B/S结构的数据是集中存放的,所以结构的数据是集中存放的,所以总公司可以直接追溯到各级分支机构总公司可以直接追溯到各级分支机构(分公司、门店)的原始业务单据,也(分公司、门店)的原始业务单据,也就是说看到的结果可溯源。就是说看到的结果可溯源。q大部分大部分C/S结构的软件则不同,为了减
26、少结构的软件则不同,为了减少数据通信量,仅仅上传中间报表数据,数据通信量,仅仅上传中间报表数据,在总部不可能查到各分支机构(分公司、在总部不可能查到各分支机构(分公司、门店)的原始单据。门店)的原始单据。()数据溯源性比较()数据溯源性比较 资源环境地理信息系统资源环境地理信息系统School of Resource&Environment Engineering WHUT2023-1-3026()()服务响应及时性比较服务响应及时性比较qC/S结构软件,由于其应用是分布的,需要对每结构软件,由于其应用是分布的,需要对每一个使用节点进行程序安装,所以,即使非常一个使用节点进行程序安装,所以,即
27、使非常小的程序缺陷都需要很长的重新部署时间,重小的程序缺陷都需要很长的重新部署时间,重新部署时,为了保证各程序版本的一致性,必新部署时,为了保证各程序版本的一致性,必须暂停一切业务进行更新(即须暂停一切业务进行更新(即“休克更新休克更新”),),其服务响应时间基本不可忍受。其服务响应时间基本不可忍受。qB/S结构的软件不同,其应用都集中于总部服务结构的软件不同,其应用都集中于总部服务器上,各应用结点并没有任何程序,一个地方器上,各应用结点并没有任何程序,一个地方更新则全部应用程序更新,可以做到快速服务更新则全部应用程序更新,可以做到快速服务响应。响应。资源环境地理信息系统资源环境地理信息系统S
28、chool of Resource&Environment Engineering WHUT2023-1-30272.1 2.1 环境环境GISGIS设计的目标和任务设计的目标和任务2.2 2.2 环境环境GISGIS总体框架设计总体框架设计2.3 2.3 环境环境GISGIS数据库设计数据库设计2.4 2.4 环境环境GISGIS开发技术路线开发技术路线2.5 2.5 环境环境GISGIS工程开发与实现工程开发与实现2.6 2.6 环境环境GISGIS软件体系结构软件体系结构2.72.7环境环境GISGIS实用技术实用技术资源环境地理信息系统资源环境地理信息系统School of Resou
29、rce&Environment Engineering WHUT2023-1-3028q组件技术应用组件技术应用q分布式组件技术应用;分布式组件技术应用;q联机分析处理技术联机分析处理技术q代理技术应用代理技术应用q网络安全技术应用网络安全技术应用2.环境环境GIS实用技术实用技术资源环境地理信息系统资源环境地理信息系统School of Resource&Environment Engineering WHUT2023-1-3029 组件技术组件技术 COM(Component Object Model,组件对象,组件对象模型)为模型)为GIS的实现提供了一种高效的实现手段。的实现提供了一种
30、高效的实现手段。它是微软定义的一套接口规范。它是微软定义的一套接口规范。COM的目标和特性的目标和特性:建立在二进制代码级上的可重用性(通过包容和聚合)建立在二进制代码级上的可重用性(通过包容和聚合)语言无关性,只要能生成符合语言无关性,只要能生成符合COM规范即可;规范即可;对使用对使用COM对象的客户程序而言的进程透明性;对象的客户程序而言的进程透明性;资源环境地理信息系统资源环境地理信息系统School of Resource&Environment Engineering WHUT2023-1-3030COM与与C的区别的区别q对象是对象是COM的基本要素之一,和的基本要素之一,和C+
31、的对象不同的对象不同的是其封装特性是真正意义上的封装,对于对象的是其封装特性是真正意义上的封装,对于对象使用者(通常称为客户)而言是不使用者(通常称为客户)而言是不 可见的可见的.qCOM对象的可重用性表现在对象的可重用性表现在COM对象的包容和对象的包容和聚合,一个对象可完全使用另一对象的所有功能,聚合,一个对象可完全使用另一对象的所有功能,而而C+对象的可重用性表现在对象的可重用性表现在c+类的继承性。类的继承性。COM在目标代码级支持面向对象;在目标代码级支持面向对象;C是在源代码级支持面向对象;是在源代码级支持面向对象;资源环境地理信息系统资源环境地理信息系统School of Res
32、ource&Environment Engineering WHUT2023-1-3031 按组件存在的位置分为三类:按组件存在的位置分为三类:进程内(进程内(DLL)本地(同一计算机上不同进程中的本地(同一计算机上不同进程中的EXE)远程内(不同计算机中的远程内(不同计算机中的DLL或或EXE)资源环境地理信息系统资源环境地理信息系统School of Resource&Environment Engineering WHUT2023-1-3032 组件技术组件技术 组件技术使近二十年来兴起的面向对象技术进入到成组件技术使近二十年来兴起的面向对象技术进入到成熟的实用化阶段。在组件技术的概念模
33、式下,软件系统可熟的实用化阶段。在组件技术的概念模式下,软件系统可以被视为相互协同工作的对象集合,其中每个对象都会提以被视为相互协同工作的对象集合,其中每个对象都会提供特定的服务,发出特定的消息,并且以标准形式公布出供特定的服务,发出特定的消息,并且以标准形式公布出来,以便其他对象了解和调用。组件间的接口通过一种与来,以便其他对象了解和调用。组件间的接口通过一种与平台无关的语言平台无关的语言IDL(InterfaceDefineLanguage)来定义,)来定义,而且是二进制兼容的,使用者可以直接调用执行模块来获而且是二进制兼容的,使用者可以直接调用执行模块来获得对象提供的服务。早期的类库,提
34、供的是原代码级的重得对象提供的服务。早期的类库,提供的是原代码级的重用,只适用于比较小规模的开发形式;而组件则封装得更用,只适用于比较小规模的开发形式;而组件则封装得更加彻底,更易于使用,并且不限于加彻底,更易于使用,并且不限于C之类的语言,可之类的语言,可以在各种开发语言和开发环境中使用。以在各种开发语言和开发环境中使用。资源环境地理信息系统资源环境地理信息系统School of Resource&Environment Engineering WHUT2023-1-3033 组件技术组件技术 组件式软件技术已经成为当今软件技术的潮流之一,组件式软件技术已经成为当今软件技术的潮流之一,为了适
35、应这种技术潮流,为了适应这种技术潮流,GIS 软件象其他软件一样,已经软件象其他软件一样,已经或正在发生着革命性的变化,即由过去厂家提供了全部系或正在发生着革命性的变化,即由过去厂家提供了全部系统或者具有二次开发功能的软件,过渡到提供组件由用户统或者具有二次开发功能的软件,过渡到提供组件由用户自己再开发的方向上来。无疑,组件式自己再开发的方向上来。无疑,组件式GIS 技术将给整个技术将给整个GIS技术体系和应用模式带来巨大影响技术体系和应用模式带来巨大影响。基本思想是把基本思想是把GISGIS的各大功能模块划分为几个控件,每个控件完的各大功能模块划分为几个控件,每个控件完成不同的功能。各个成不
36、同的功能。各个GIS GIS 控件之间,以及控件之间,以及GISGIS控件与其它非控件与其它非GISGIS控件之控件之间,可以方便地通过可视化的软件开发工具集成起来,形成最终的间,可以方便地通过可视化的软件开发工具集成起来,形成最终的GISGIS应用。控件如同一堆各式各样的积木,他们分别实现不同的功能应用。控件如同一堆各式各样的积木,他们分别实现不同的功能(包括包括GIS GIS 和非和非GIS GIS 功能功能),根据需要把实现各种功能的,根据需要把实现各种功能的“积木积木”搭搭建起来,就构成应用系统。建起来,就构成应用系统。小巧灵活、价格便宜小巧灵活、价格便宜无须专门无须专门GISGIS开
37、发语言,直接嵌入开发语言,直接嵌入MISMIS开发工具开发工具强大的强大的GIS GIS 功能功能开发简捷开发简捷更加大众化更加大众化组件式组件式GISGIS系统的特点系统的特点(1)小巧灵活、价格便宜小巧灵活、价格便宜 由于传统由于传统GIS 结构的封闭性,往往使得软件本身变得越结构的封闭性,往往使得软件本身变得越来越庞大,不同系统的交互性差,系统的开发难度大。在来越庞大,不同系统的交互性差,系统的开发难度大。在组件模型下,各组件都集中地实现与自己最紧密相关的系组件模型下,各组件都集中地实现与自己最紧密相关的系统功能,用户可以根据实际需要选择所需控件,最大限度统功能,用户可以根据实际需要选择
38、所需控件,最大限度地降低了用户的经济负担。组件化的地降低了用户的经济负担。组件化的GIS GIS 平台集中提供空平台集中提供空间数据管理能力,并且能以灵活的方式与数据库系统连接。间数据管理能力,并且能以灵活的方式与数据库系统连接。在保证功能的前提下,系统表现得小巧灵活,而其价格仅在保证功能的前提下,系统表现得小巧灵活,而其价格仅是传统是传统GISGIS开发工具的十分之一,甚至更少。这样,用户便开发工具的十分之一,甚至更少。这样,用户便能以较好的性能价格比获得或开发能以较好的性能价格比获得或开发GISGIS应用系统。应用系统。(2)无须专门无须专门GISGIS开发语言,直接嵌入开发语言,直接嵌入
39、MIS MIS 开发工具开发工具。传统传统GISGIS往往具有独立的二次开发语言,对用户和应用开发往往具有独立的二次开发语言,对用户和应用开发者而言存在学习上的负担。而且使用系统所提供的二次开发语言,者而言存在学习上的负担。而且使用系统所提供的二次开发语言,开发往往受到限制,难以处理复杂问题。而组件式开发往往受到限制,难以处理复杂问题。而组件式GISGIS建立在严建立在严格的标准之上,不需要额外的格的标准之上,不需要额外的GIS GIS 二次开发语言,只需实现二次开发语言,只需实现GIS GIS 的基本功能函数的基本功能函数,按照按照Microsoft Microsoft 的的ActiveX
40、ActiveX 控件标准开发接口。控件标准开发接口。这有利于减轻这有利于减轻GIS GIS 软件开发者的负担,而且增强了软件开发者的负担,而且增强了GIS GIS 软件的可软件的可扩展性。扩展性。GIS GIS 应用开发者,不必掌握额外的应用开发者,不必掌握额外的GIS GIS 开发语言,只需开发语言,只需熟悉基于熟悉基于Windows Windows 平台的通用集成开发环境,以及平台的通用集成开发环境,以及GIS GIS 各个控件各个控件的属性、方法和事件,就可以完成应用系统的开发和集成。目前,的属性、方法和事件,就可以完成应用系统的开发和集成。目前,可供选择的开发环境很多,如可供选择的开发
41、环境很多,如Visual C+Visual C+、Visual BasicVisual Basic、Visual FoxProVisual FoxPro、Borland C+Borland C+、DelphiDelphi、C+Builder C+Builder 以及以及Power Builder Power Builder 等都可直接成为等都可直接成为GIS GIS 或或GMISGMIS的优秀开发工具,它的优秀开发工具,它们各自的优点都能够得到充分发挥。这与传统们各自的优点都能够得到充分发挥。这与传统GISGIS专门性开发环专门性开发环境相比,是一种质的飞跃。境相比,是一种质的飞跃。(3 3)
42、强大的)强大的GIS GIS 功能功能 新的新的GISGIS组件都是基于组件都是基于32 32 位系统平台的,位系统平台的,采用采用InProcInProc直接调用形式,所以无论是管理直接调用形式,所以无论是管理大数据的能力还是处理速度方面均不比传统大数据的能力还是处理速度方面均不比传统GIS GIS 软件逊色。小小的软件逊色。小小的GISGIS组件完全能提供拼组件完全能提供拼接、裁剪、叠合、缓冲区等空间处理能力和接、裁剪、叠合、缓冲区等空间处理能力和丰富的空间查询与分析能力。丰富的空间查询与分析能力。(4 4)开发简捷)开发简捷 由于由于GIS GIS 组件可以直接嵌入组件可以直接嵌入MIS
43、MIS开发工具中,对于广开发工具中,对于广大开发人员来讲,就可以自由选用他们熟悉的开发工具。大开发人员来讲,就可以自由选用他们熟悉的开发工具。而且,而且,GIS GIS 组件提供的组件提供的API API 形式非常接近形式非常接近MISMIS工具的模式,工具的模式,开发人员可以像管理数据库表一样熟练地管理地图等空间开发人员可以像管理数据库表一样熟练地管理地图等空间数据,无须对开发人员进行特殊的培训。在数据,无须对开发人员进行特殊的培训。在GISGIS或或GMISGMIS的开的开发过程中,开发人员的素质与熟练程度是十分重要的因素。发过程中,开发人员的素质与熟练程度是十分重要的因素。这将使大量的这
44、将使大量的MISMIS开发人员能够较快地过渡到开发人员能够较快地过渡到GISGIS或或GMISGMIS的的开发工作中,从而大大加速开发工作中,从而大大加速GISGIS的发展。的发展。(5 5)更加大众化)更加大众化组件式技术已经成为业界标准,用户可以象使用组件式技术已经成为业界标准,用户可以象使用其他其他ActiveX ActiveX 控件一样使用控件一样使用GIS GIS 控件,使非专业控件,使非专业的普通用户也能够开发和集成的普通用户也能够开发和集成GISGIS应用系统,推动应用系统,推动了了GIS GIS 大众化进程。组件式大众化进程。组件式GISGIS的出现使的出现使GIS GIS 不
45、不仅是专家们的专业分析工具,同时也成为普通用仅是专家们的专业分析工具,同时也成为普通用户对地理相关数据进行管理的的可视化工具。户对地理相关数据进行管理的的可视化工具。资源环境地理信息系统资源环境地理信息系统School of Resource&Environment Engineering WHUT2023-1-3040组件式组件式GIS是面向是面向数据使用者和浏览者数据使用者和浏览者 资源环境地理信息系统资源环境地理信息系统School of Resource&Environment Engineering WHUT2023-1-3041q基础组件基础组件 q高级通用组件高级通用组件 q行业
46、性组件行业性组件组件式组件式GISGIS开发平台的三级结构开发平台的三级结构(1)基础组件基础组件面向空间数据管理,提供基本的交互过程,面向空间数据管理,提供基本的交互过程,并能以灵活的方式与数据库系统连接;并能以灵活的方式与数据库系统连接;(2)高级通用组件)高级通用组件由基础组件构造而成,面向通用功能,简由基础组件构造而成,面向通用功能,简化用户开发过程,如显示工具组件、选择工具化用户开发过程,如显示工具组件、选择工具组件、编辑工具组件、属性浏览器组件等。它组件、编辑工具组件、属性浏览器组件等。它们之间的协同控制消息都被封装起来。这级组们之间的协同控制消息都被封装起来。这级组件经过封装后,
47、使二次开发更为简单。如一个件经过封装后,使二次开发更为简单。如一个编辑查询系统,若用基础平台开发,需要编写编辑查询系统,若用基础平台开发,需要编写大量的代码,而利用高级通用组件,只需几句大量的代码,而利用高级通用组件,只需几句程序就够了。面向通用功能。程序就够了。面向通用功能。(3 3)行业性组件)行业性组件抽象出行业应用的特定算法,固化到组件抽象出行业应用的特定算法,固化到组件中,进一步加速开发过程。以中,进一步加速开发过程。以GPSGPS监控为例。监控为例。对于对于GPSGPS应用,除了需要地图显示、信息查询应用,除了需要地图显示、信息查询等一般等一般GISGIS功能外,还需特定应用功能,
48、如动功能外,还需特定应用功能,如动态目标显示、目标锁定、轨迹显示等。这些态目标显示、目标锁定、轨迹显示等。这些GPSGPS行业性应用功能组件被封装起来后,开发行业性应用功能组件被封装起来后,开发者的工作就可简化为设置显示目标的图例、轨者的工作就可简化为设置显示目标的图例、轨迹显示的颜色、锁定的目标,以及调用、接受迹显示的颜色、锁定的目标,以及调用、接受数据的方法等。数据的方法等。GIS GIS 组件的构成组件的构成 空间数据获取空间数据获取 坐标转换坐标转换 图形编辑图形编辑 数据存储数据存储 数据查询数据查询 数据分析数据分析 制图表示制图表示GIS 软件模型包含功能单元软件模型包含功能单元
49、:可以想象要把这些所有的功能放在一个可以想象要把这些所有的功能放在一个控件中几乎是不可能的,即使实现也会带来控件中几乎是不可能的,即使实现也会带来系统效率上的低下。一般可以认为系统效率上的低下。一般可以认为GIS 构件构件的设计主要遵循应用领域地需求。例如的设计主要遵循应用领域地需求。例如ESRI 地地MapObjects 就是以空间数据访问、查询、就是以空间数据访问、查询、制图为主要目标的制图为主要目标的GIS 构件。构件。资源环境地理信息系统资源环境地理信息系统School of Resource&Environment Engineering WHUT2023-1-3046MapObje
50、cts功能q利用利用MapObjects,开发人员可以实现如下的,开发人员可以实现如下的GIS功能:功能:v显示具有多个图层的地图显示具有多个图层的地图v地图的放大、缩小和漫游地图的放大、缩小和漫游v增加点、线、圆和多边形等各种图形增加点、线、圆和多边形等各种图形v增加文本增加文本v显示特征的属性显示特征的属性v利用图形选择特征利用图形选择特征v利用邻近分析选择特征利用邻近分析选择特征资源环境地理信息系统资源环境地理信息系统School of Resource&Environment Engineering WHUT2023-1-3047v利用利用SQL表达式选择特征表达式选择特征v 选择特征