基于服务的空间地理信息共享平台设计与实现
2012-06-29郑建功许有田高红心崔军
郑建功,许有田,高红心,崔军
(西安市勘察测绘院,陕西西安 710054)
1 引言
随着计算机技术、网络技术、空间数据库技术、空间技术的飞速发展,地理信息技术的发展已经进入一个崭新的时代,已经开始向社会和大众方向延伸。GIS技术也经历了传统GIS、WebGIS、分布式GIS、三维GIS等不同发展阶段。然而当前基于服务的GIS,逐渐脱颖而出,成为引领GIS发展的一个重要方向标。
近年来,不同部门、不同行业通过遥感、航摄、GPS、LIDAR、传统测绘等生产了海量的二维、三维空间地理数据,建立了大量的空间地理信息系统和空间数据库。但是由于空间地理数据的多样性和复杂性,传统的表现方法缺陷日益凸显。各个系统彼此封闭、孤立、缺乏统一标准,不同的数据格式、数据结构、存储方法,数据系统和“孤岛数据库”难以实现信息共享和交流,无法实现空间地理信息数据和服务的最大共享[1]。而Web Services的引入将能够改变GIS数据访问和网络互操作,实现真正网络环境下的空间地理信息共享,于是基于服务的空间地理信息共享平台研究和设计,已经成为当前GIS界研究的一个重要方向。本文重点讨论基于ArcGIS Server平台建立空间地理信息共享平台的相关研究设计和实现方法。
2 共享平台实现模式
2.1 传统WebGIS
传统的WebGIS主要使用CGI、ActiveX和DCOM技术、java、GIS插件等技术建立WebGIS的应用。这些技术各有优缺点,当前流行的 WebGIS平台,如 ArcIMS、MapXtreme、MapGuide分别选用了这些技术,但是使用这些技术开发的WebGIS应用系统升级和移植比较困难,尤其是缺乏对分布式地理信息数据处理的能力[2]。
2.2 分布式WebGIS
进入上世纪90年代,分布对象技术成为分布计算发展的主流方向。分布式WebGIS是以网络为基础平台,“分布”为突出特点,即实现数据和功能的分布,能够管理多分辨率的、海量的和多源的空间数据的技术系统。所使用的主要代表技术有OMG的CORBA,Microsoft的 COM/DCOM 和 SUN 的 EJB[3]。
笔者在《测绘科学》2009年第5期上,论述了从底层采用AJAX+J2EE构建的4层分布式DragonMapWeb系统的技术设计和实现方法。
2.3 基于Web Services的GIS
Web Services是在Internet上进行分布式计算的基本构造块,是组件对象技术在Internet中的延伸,是一种部署在Web上的组件。Web Services是通过一系列标准和协议来保证程序之间的动态连接的。可以认为功能成熟全面的Web Services平台是HTTP+XML+SOAP+WSDL+UDDI。
基于Web的地理信息服务的主要目标就是发挥GIS自身特点和优势的同时,利用Web通过Internet为GIS应用提供一个开放、标准的信息获取、管理、存储、共享、分析和系统性的交互操作的环境[4]。基于Web服务的GIS服务链如图1所示。
图1 地理信息Web服务链[5]
3 基于ArcGIS Server的共享平台设计
3.1 ArcGIS Server
ArcGIS Server是一个发布企业级GIS应用程序的综合平台,提供了创建和配置GIS应用程序和服务的框架,可以满足客户端的各种需求。它是基于ArcObject组件开发的服务器端产品,能在企业和分布式计算框架中建立以服务器为中心、集中式管理并以计算机网络为核心支持多用户的GIS应用,通过ArcGIS Server提供的 Server API可构建在标准的.NET和J2EE Web服务器中的Web应用和Web Services以及其他企业级应用,功能涵盖GIS的基本服务、数据访问、地图查询、地图分析、地图查询等[6]。
ArcGIS Server主要提供两种Web服务方式:基于SOAP的Web服务和基于REST的Web服务。但是REST服务更具有一定的优势,如:
①无需引入SOAP消息传输层,轻量级和高效率的HTTP格式可被直接应用。
②更加灵活和易用。
③可以不使用任何语言就能访问REST服务。
④更好的性能和缓存支持。
⑤可扩展性和无状态性。
⑥易于被索引和发现。
基于REST风格的Web服务和基于SOAP的Web服务比较 表1
本平台主要采用ArcGIS Server平台,数据库管理采用ArcSDE引擎管理的Oracle数据库集中管理空间地理信息数据库。客户端采用REST风格的Silver-Light开发方式。
3.2 平台数据建模
众所周知,数据建模在整个系统建设中占了很大部分,耗时、耗力、投资较大。GIS地理信息数据建模是建立该系统关键的一环。这主要涉及我们有什么数据?向客户提供什么数据?这些都是我们如何表现这些数据的基础[7]。
建立统一的标准规范、数据更新维护和运行管理机制,实现各类空间地理信息资源的整合,提供纵向多级、横向多库的空间地理数据服务体系,具备标准的多类型地理信息服务接口,让各级部门或单位可以在发布的综合空间地理数据库上开展地理信息业务,促进空间地理信息服务共享。
图2 空间地理信息平台数据模型
3.3 平台设计目标
(1)建立空间地理数据库标准规范和数据交换共享制度,为“数字城市”提供权威、标准的数据与应用服务平台。
(2)建立市级空间地理信息数据交换中心和目录服务中心。
(3)建立二维、三维一体化的空间地理信息共享服务平台。
(3)提供面向公众的地理空间信息服务,促进地理空间信息建设向实用化、共享化、大众化、产业化方向发展。
3.4 平台体系架构
该平台采用ESRI系列产品:ArcGIS Server等支撑整个基于服务的地理信息共享平台建设。该平台建设涉及面广,其最终目标是实现所有二维、三维数据的网络服务共享应用,为政府、企事业单位搭建一个基础空间地理信息共享服务平台。空间地理信息服务平台体系架构如图3所示。
图3 空间地理信息服务平台体系架构
3.5 共享服务平台界面
图4 共享服务平台界面
4 结语
市场经济的发展和行业内的激烈竞争都要求我们必须以“服务”的理念和姿态做事,这种服务也必须与时俱进、动态变化。这将是传统测绘服务方式的巨大革命。具体到我们测绘单位来说,那就是不再以传统的数据加工——交付使用——更新这种模式,而是转化成服务提供——远程调用这种模式。本文重点提出了基于ArcGIS Server的空间地理信息共享平台建设的关键技术、系统设计目标、系统架构、数据建模以及实现方法。
[1]孙立坚,刘纪平,王亮等.基于Web Services技术的GIS体系结构研究[J].地理信息世界,2005(6):21~22
[2]陈静,龚健雅,朱欣焰等.基于J2EE的分布式Web GIS[J].测绘通报,2004(2):27~30
[3]郑建功,张转,刘杨等.基于AJAX和J2EE的WebGIS分布式系统设计与实现[J].测绘科学,2009(5):210~211
[4]王建涛.基于Web的地理信息服务研究与实践[D].郑州:解放军信息工程大学博士论文,2005
[5]ESRI,ArcWeb Service.http://www.gegraphynetwork.com/webserviees/gateway.html
[6]王建涛.基于ArcGIS Server的地图网络服务系统设计与实现[D].西安:西安科技大学硕士论文,2009
[7]郑建功,高红心,李楠等.基于SuperMap IS.NET的城市投资项目管理系统设计与实现[J].城市勘测,2009(4):19~21