分布式WebGIS构件化的研究和实现
整理时间 [2005-07-12] 阅读次数 [7625]
作者:李慕华 来源:网络
文字大小:【大】【中】【小】
摘 要
地理信息系统(Geographical Information System,简称GIS)以数字化的形式反映人类社会赖以生存的地球空间的现势和变迁的各种空间数据以及描述这些空间数据特征的属性,支持空间数据及其属性数据的输入/输出、存储、显示以及进行地理空间信息的查询、综合分析和辅助决策。随着分布式网络技术的发展、数字地球概念的提出,传统的GIS向着信息共享的网络GIS发展。WebGIS是GIS与网络的有机结合,它使GIS的应用领域扩展到社会的方方面面,成为了大众化的信息工具。
构件化的WebGIS,以一组具有某种标准通信接口允许跨语言应用的构件提供GIS 功能,可以被封装成能实现与具体任务最紧密相关的功能模块,方便地进行组装和嵌入,有效地支持GIS在网络上的应用和二次开发。这是WebGIS的一大发展趋势。本文将结合网络用户对于GIS的基本需求,从理论上研究和探讨分布式环境下WebGIS的构件化,设计并用C++语言和COM/DCOM技术实现了一个构件化的WebGIS系统。
关键词:构件化,分布式,WebGIS,COM/DCOM 目 录 摘 要... 2 目 录... 3 第一章 引言... 5 一、WebGIS起源... 5 二、WebGIS的目标... 6 1. 大众普及化... 6 2. 数据分布... 6 3. 资源共享... 6
4. 互操作性... 7 三、 WebGIS现状... 7
四、我们的工作──环境背景及要解决的问题... 9 第二章 分布式WebGIS构件化研究... 10 一、 构件的概念... 10 1.构件 10 2.CORBA.. 11 3.COM/DCOM... 11 4.GIS构件... 11 二、构件化的意义... 12 三、构件化系统建模... 13 1.体系结构... 13
2.地理空间数据模型... 14 3.构件层次划分... 16 4.构件功能划分... 17
四、改进系统性能的技术要点... 22 1.空间索引.... 22 2.缓存技术.... 22
第三章 系统设计与实现... 24 一、地图数据访问对象类... 24 (一) GxConnection 连接对象... 24 (二) GxLayer 图层对象... 26
(三) GxGeometryIndex 几何索引对象... 29
(四) GxFieldDef 字段定义对象... 29 (五) GxFieldDefs 字段定义集合对象... 29 (六) GxLegendLib 图例库对象... 30 (七) GxDisplaySetting 显示配置对象... 31 (八) GxDisplaySettingItem 配置项对象... 32 (九) GxReferenceSystem 参照系对象... 33 (十) GxEntity 实体对象... 34 (十一) GxGeometry 几何对象(基类) 35 (十二) GxPoint 点对象... 37 (十三) GxPoints 点簇对象... 37 (十四) GxLine 线对象... 38 (十五) GxLines 线簇对象... 40 (十六) GxPolygon 多边形对象... 40 (十七) GxAnnotation 标注对象... 41 (十八) GxImage 图像对象... 42
(十九) GxGeometries 复杂几何对象... 43 二、地图可视化对象类.... 44 (一) GxMapView 地图显示构件... 44 (二) GxMap 地图对象... 46
(三) GxMapLayer 显示图层对象... 47 三、实用功能对象类... 48
(一) GxError 错误处理对象... 48 (二) GxSet 集合对象... 48
(三) GxArray 数组对象... 49 (四) GxEnumeration 枚举对象... 50 (五) GxSelection 被选集对象... 50 (六) GxUtility 功能函数对象... 51 第四章 总结... 54 参考文献... 55 致 谢... 57
第一章 引言
地理信息系统(Geographical Information System,GIS)的任务是采集、存储、管理、分析和显示地球空间信息。它是以数字化的形式反映人类社会赖以生存的地球空间的现势和变迁的各种空间数据以及描述这些空间数据特征的属性,以模型化的方法来模拟地球空间对象的行为,在计算机软、硬件的支持下,以特定的格式支持输入/输出、存贮、显示以及进行地理空间信息查询、综合分析、辅助决策的有效工具。 一、WebGIS起源
自1963年加拿大地理信息系统(CGIS)诞生以来,经过多年来的发展,传统的GIS技术已经成熟。GIS正广泛应用于城市规划、设施管理、资源、环境、能源、农业、水利、交通、国防、人口、灾害防护以至人民生活的各个方面,发挥着重要的作用。
信息高速公路的提出,信息技术以及Internet的飞速发展与广泛应用,人们对分布式应用研究以及共享信息和知识需求不断增长,从而对GIS的研究也发生了根本变化。1998年美国副总统戈尔提出了“数字地球”的概念,它的核心是全球的信息化,它是对真实地球及其相关现象的统一性的数字化重视和认识。可以说数字地球是也一个GIS系统,因为它包容了全球与地理有关的信息。数字地球以Internet技术为起点,建立一个连通全球的信息网络,提供数字地球籍以存在的空间。因此实现“数字地球”离不开网络化GIS的支持。
人们在社会生活中不断提出对空间信息的新的更高的需求。越来越多的用户依赖于互联网获取外界信息。在国际互联网上使用浏览器进行信息查询,实际上就是向Web服务器端请求数据。不同于常见的文本、图像、声音和视频等信息,对于一些比较专业的数据,通用的Web服务器和浏览器一般不会提供支持。随着国际互联网的普及和GIS在各个领域越来越广泛的应用,人们希望通过国际互联网也能进行GIS信息的查询。而国际互联网的迅猛发展和广泛应用,使得它必将成为GIS软件的运行环境,基于Web的GIS应用已越来越成为广大GIS用户新的迫切的需求。
WebGIS是GIS与国际互联网的有机结合,是GIS在广域网环境下的一种应用,最终目标是实现空间信息的网络化。GIS通过国际互联网在功能上得到了延伸,真正成为一种大众使用的信息工具。从国际互
联网的任意一个节点,人们可以浏览网上的各种分布式的、具有超媒体特性的地理空间数据及属性数据,进行地理空间分析、查询,以支持智能辅助决策。通过对空间信息网络化和超媒体技术的集成,WebGIS提供给用户的信息不仅仅是矢量化的空间信息,还有遥感影像、动态视频、文字说明等多种信息。 与传统的GIS比较,WebGIS有以下优势:
? 不同于基于单机或局域网的传统GIS,WebGIS适用于广域网,拥有更多的应用群体。因此极大地扩展了GIS的应用范围,使得GIS真正成为一种大众使用的信息工具。
? 不同于集中式的传统GIS平台,WebGIS是分布式的。用户可以使用广域网上任意一台服务器的GIS服务,从而使GIS的概念扩大到社会化和全球化。
? 网络GIS采用大型的分布式空间数据仓库(或具有类似功能的ORDB),存贮和管理大数据量的空间信息,并有能力在大量用户同时通过网络对其进行访问时能快速响应。 二、WebGIS的目标 1. 大众普及化
随着网络的迅速普及,越来越多的人依赖网络获取信息、处理事务。GIS应当抓住网络这一日益发展的“第四媒体”,扩大它的应用领域。将GIS软件与Web服务器集成,通过普通浏览器,用户可以在任何地方操纵网络GIS,享用地理空间信息服务,从而将GIS扩展成为公众服务系统;同时可以拓宽地图出版渠道,降低数据散发成本。象数字地图的出现,使得人们得以抛弃传统的印刷地图,可以在网络上简便地查询地点和路线。 2. 数据分布
随着网络的发展和GIS用户的增多,地理信息资源也分布在不同的领域,归不同的用户管理。地理信息资源是一个庞大繁复的数据源,如果集中在一个站点是不太现实的。因此,系统要适应这种分布式数据的环境,能够使得GIS用户通过网络不但能够访问分散在不同站点的数据和数据处理服务,同时还能维持系统的一致性以及平衡这种访问的网络负载。 3. 资源共享
GIS应用范围在进一步扩大,为实现地球资源和信息的共享,GIS需要不断“开放”,建立面向用户的、资源共享的开放式GIS。这里主要是指地理及其属性数据的开放性。WebGIS应该支持用户通过网络实时获取不同应用系统中的地理信息,避免冗余数据存储,实现地理空间数据的共享。 4. 互操作性
互操作性是指不同的GIS软件部件或软件系统能够由于异构数据和异构处理环境所带来的分布式地球资源存取障碍而进行相互操作。GIS软件的互操作是通过规范而获得的,即GIS软件开发者通过遵从一系列通用的规则开发各自的软件来获得互操作性。在系统的设计中,我们可以参照OpenGIS有关构件方面的规范,从而使得构件具有规范化的接口。当建立了各种构件的标准接口以后,它们就可以相互操作。一些公用的构件可以被收集起来以建立构建库,以促进NSII (National Spatial Information Infrastructure) 与数字地球的建设。 三、 WebGIS现状
从90年代开始,人们对GIS的网络开发和应用做了很多有意义的探讨并提出了很多实现模型。综合起