第1页/总8页ServiceGIS与面向服务的地理信息共享宋关福(北京超图软件股份有限公司,100192)罗灵军(重庆市地理信息中心,401121)1.引言地理信息共享一直是3S领域研究的热点和重点,近年来,对地理信息共享需求的剧增,促进了地理信息共享平台及其之上的发展。作为地理信息共享的三大环境,管理环境、标准环境和技术环境在地理信息领域各自扮演着十分重要的角色,其中任何一个方面的进步,都将推进地理信息共享的发展进程。从软件技术手段角度看,目前地理信息共享已经经历了面向文件的第一代共享和面向空间数据库的第二代共享两个阶段的发展,随着ServiceGIS的发展和应用,正在迎来面向服务的地理信息共享新模式。新一代地理信息共享不仅解决了当前地理信息共享中存在的诸多问题,还带来了数据共享和功能共享并举的第三代地理信息共享革命,并成功开启了地理信息的服务聚合时代。2.面向文件的地理信息共享早期的GIS软件一般采用文件方式管理空间数据。因此,在空间数据库技术被广泛应用之前,通过共享文件实现地理信息共享,是唯一可行的方式。GIS/CAD软件数据格式文件如TAB(MapInfo)、Coverage(Arc/Info)、DGN(MicroStation)、DWG(AutoCAD),交换格式DXF(AutoCAD)、MIF(MapInfo)、E00(Arc/Info)、VCT(中国地球空间信息交换格式)都是地理信息数据的共享载体;TIFF、JPEG、MrSID和ECW(ErMapper)等文件格式则成为影像类地理信息的共享载体。大量上述类型的文件在单位内部和单位之间不停穿梭,为传递和共享地理信息发挥了巨大的作用。最初实现文件存储和传递的介质包括磁盘、光盘、硬盘和磁带等设备,几乎所有的地理信息工作者都曾经历过那段抱着这些介质到处跑的岁月。随着网络应用的不断普及,人们开始通过网络上传和下载地理空间数据文件来共享地理信息。在局域网内部,人们甚至可以通过互相访问网络上计算机的共享文件夹,直接读取服务器上同一份数据文件,以保障所有终端使用者总能获得最新的地理信息并与其他使用者保持版本的一致性。第2页/总8页客户端A客户端B客户端C服务器共享文件夹图1、面向文件的地理信息共享模式面向文件的共享是地理信息共享的重要起步阶段,也是最简单和最基础的方式。这种方式一直被人们沿用至今,在今后的某些场合,还将继续发挥作用。简单易用是面向文件的地理信息共享方式最突出的特点,但其先天性不足也是显而易见的:a)数据损失问题。数据在不同软件之间不断转换和传送,数据精度很可能遭受不同程度的损失,甚至造成部分数据内容的丢失。b)可视化表现的一致性问题。由于不同的GIS软件均采用了各自独立的符号库和地理信息可视化表现技术,所以来自其他单位或系统的地理信息数据文件在导入不同GIS软件时,都不可避免地要重新进行可视化配置的重复劳动,很容易造成不一致的可视化表现。c)工作效率问题。面向文件的地理信息共享,需要不断进行文件转换分发、完成来自其他单位的数据导入、处理系统间的数据组织和可视化表现配置以及重复建库等问题,不但增加数据共享的工作量,造成了大量低水平的重复劳动,降低了工作效率,而且一旦遇到应急等紧急情况,面向文件的地理信息共享也会因此严重影响工作进度,从而导致更大的损失。d)更新的及时性问题。随着地理信息数据量的不断增大,重复建库必然会造成大量不必要的成本增加,也严重影响了数据更新的及时性和准确性。e)安全性问题。基于文件的共享,必须实现文件级的数据的可访问性或可获取性,难以对数据的访问和扩散权限进行控制,无法保证地理信息数据的安全性,影响了信息共享的可操作性。3.面向数据库的地理信息共享尽管空间数据库的研究很早就已经开始,但是直到2000年,这一技术才逐渐得到普及。目前,这种技术已经取代了传统文件的管理方式,成为地理信息尤其是海量地理信息管理的主流技术。空间数据库技术的普及,带来了全新的面向数据库的第二代地理信息共享模式。由于空间数据库支持网络上多用户并发访问,尤其是支持多用户并发写操作,因此,空间数据库很快就成为在局域网内共享地理信息数据的技术平台。目前,主要的大型GIS应用项目在管理地理信息数据时,采用的都是空间数据库。同一个单位的多个客户端可以直接访问统一的空间数据库服务器,从而获得可控的版本一致性。很快,人们发现,空间数据库不仅适用于单位内部各部门之间的空间数据共享,同时也是单位之间共第3页/总8页享地理信息的利器。基于空间数据库技术,信息中心可以建立统一的基础地理信息数据库,并向应用这些数据的部门开放空间数据库访问接口和相关数据组织规范。这些应用部门只需要直接通过网络访问这些空间数据库,并在叠加本单位专题地理信息数据的基础上构建应用系统,而不必重复建设基础地理信息数据库。图2、面向数据库的地理信息共享模式前文提到的面向文件共享模式中存在的几个问题,在面向数据库的地理信息共享模式中也得到完美的解决。由于不需要对基础地理信息数据重复建库,一方面减少了应用部门重复建库的成本,避免了数据在各部门不同文件格式间转换可能导致的内容和精度损失,另一方面,更为重要的是,由于基础地理信息由统一的单位进行维护和更新,所以其他应用部门总能使用到最新的数据,而代价却很小。2004年,茂名市信息中心与超图软件公司合作完成了茂名面向信息资源整合、共享的管理的电子政务信息资源管理平台总体设计,根据当时的GIS技术条件,构建了茂名市基础地理信息共享平台。其他委办局的专业应用系统,都可以通过访问空间数据库接入该共享平台,大大缩短了委办局专业应用系统的建设周期,同时节约了大量重复建设的投资,为建设节约型社会做出了巨大贡献。在以后的项目中,这种模式很快得到了推广,并在北京的崇文、昌平、怀柔、大兴、平谷和上海奉贤、浙江绍兴县等多个地政府部门建立了大量的成功案例。在过去的几年里,面向数据库的地理信息共享模式获得了非常大成功。但随着应用推广的日益广泛和深入,该模式也暴露出了一些潜在的问题,不利于进一步大范围推广应用:a)对网络安全要求较高。在网上开放空间数据库访问接口,对网络安全性有一定要求。在安全可控的局域网内推广应用具有一定的可行性,但若要实现远程共享,存在数据安全隐患。b)带宽要求高。由于要通过网络实施大量空间数据的传递,对网络带宽有一定要求,因此该模式仅适合在局域网内和宽带专网内推广应用。c)难于实现异构GIS平台集成应用。一般要求应用部门与基础地理信息提供部门使用相同的GIS平台,或者要求基于多种GIS平台都支持的空间数据库技术(如OracleSpatial)来构建基础地理信息共享平台。但由于一些大型城市或单位的地理信息系统应用起步较早,各部门已经建立了基于不同GIS平台开发的信息化系统,要统一GIS平台就势必要推翻已有的系统成果,这种做法很不经济。针对这种情况,一些单位提出,采用OracleSpatial等数据库原厂商的空间数据库建立地理信第4页/总8页息共享平台。尽管这种做法表面上解决了多种GIS平台均可支持访问的问题,但与GIS平台厂商自己研发的空间数据库技术(如SuperMapSDX+和ArcSDE等)相比,数据库原厂商的空间数据库技术无论性能还是专业分析功能方面都受到一定限制,远逊于GIS平台软件厂商的空间数据库技术。因此,基于数据库原厂商的空间数据库技术构建的地理信息共享平台在国内尚未形成主流。鉴于以上原因,地理信息共享与应用需要结合GIS和软件新技术,发展新的共享模式,才能满足包括Internet网和远程Intranet网上的地理信息共享需求,实现异构GIS平台之间共享地理信息,把地理信息共享推向一个全新的高度和更加广泛的应用领域。4.面向服务的地理信息共享4.1.面向服务地理信息共享的过渡模式发展到后期的WebGIS软件也提供了Web服务发布能力,通过WebGIS软件,一些部门建立了面向服务的地理信息共享平台。但由于WebGIS平台软件提供的功能相对比较简单,仅限于数据可视化、查询和基本的数据管理功能,不具备瘦客户端模式下的高级复杂在线编辑功能和高级分析功能。因此,这类服务共享平台主要定位于数据共享,而不具备功能共享的能力,以至于在应用部门还是要重新开发大量的通用功能。还有一些单位为了提高系统的并发访问能力和客户端用户体验,采用了另一种过渡方式,即通过建立类似于GoogleMaps的图片服务发布平台。这种模式把地理空间数据配置好地图后,通过工具软件按照一定的网格切分生成多级图片,并采用金字塔结构存储在服务器上,通过Web服务向客户端发布出来。由于服务器端不需要进行实时地图可视化计算,直接把图片发布到客户端,因此该模式提供了非常高的网络访问效率,大幅度提高了并发访问能力,同时还在客户端采用AjaxMap技术实现浏览器客户端的平滑地图显示与漫游操作,提升了用户体验。但另一方面,该模式下服务器端缺乏一体化的高端GIS功能服务器,因此也只能满足基本的图片数据共享要求,无法实现高端的功能共享能力,也无法用于开发高端GIS应用系统。该模式仅为面向服务地理信息共享提供了一种过渡模式。4.2.ServiceGIS概述软件技术的发展和革新必然会影响到GIS软件的发展趋势,从而影响地理信息共享的方式。20世纪90年代产生的面向组件的软件工程方法,曾经给GIS领域带来组件式GIS(ComponentsGIS)革命。组件式GIS以其众所周知的独特性和技术优势,领衔主演了过去十年的GIS应用开发方法。从面向组件概念的产生到软件技术的成熟,再到组件式GIS的产生和应用,只用了短短几年时间。与之不同的是,面向服务这一更高层次的软件工程方法,从概念产生到软件技术成熟却历经了十年时间。Gartner1996年就率先提出了SOA(面向服务的体系架构),十年后IBM等企业才开始实现SOA的软件工具。而到2008年,SOA才成为主流的软件工程方法之一。而与面向组件相同的是,这一软件工程方法也同样引发了新的GIS软件技术革命。服务式GIS(ServiceGIS)可以理解为面向服务的组件式GIS,是产生于面向服务软件工程方法的GIS软件技术。ServiceGIS脱胎于组件式GIS,是在组件式GIS基础上的质的飞跃,也是对组件式GIS自然的顺理成章的升级。在组件式GIS功能强大的组件群基础上,ServiceGIS采用面向服务的软件工程方法,把GIS的全部功能封装为Web服务(WebService),从而实现了被多种客户端跨平台、跨网络、跨语言地调用,并具备了服务聚合能力以集成来自其他服务器发布的GIS服务。ServiceGIS软件平台的新突破,主要包括以下几个方面:第5页/总8页在细粒度组件式GIS基础上,封装粒度适中的全功能GIS服务群,构成ServiceGIS的服务器,并向客户端发布这些服务。这里强调全功能的GIS服务,包括数据管理、二维可视化、三维可视化、地图在线编辑、制图排版以及各类空间分析和处理等,而不仅仅是WebGIS时代的基本GIS功能。服务器支持发布基于通用规范的服务,如WMS、WCS、WFS、WPS、GeoRSS、KML等,以便被第三方软件作为客户端集成调用。客户端GIS软件具备服务聚合能力,可聚合同一厂家服务器软件和第三方服务器软件发布的GIS服务,并与本地数据和本地功能集成应用。服务器端软件具备强大的服务聚合能力,可以聚合来自其他服务器上发布的GIS服务,并可以将聚合后的结果再次发布,而再次发布的服务还可以继续被其他的服务器软件聚合。ServiceGIS是一个完整的、面向服务的GIS软件技术体系,它包括服务提供者(ServiceProviders)、服务消费者(ServiceConsumers)和服务规范(ServiceSpecifications)。ServiceGIS同时也是一个全功能的GIS技术体系,远远超越了WebGIS时代的功能,不再以Web为其单一客户端与表现界面,而是将其客户端延伸到了GIS桌面软件、移动终端、甚至于传统的GIS组件。ServiceGIS与WebGIS之间的