中国电建昆明勘测设计研究院有限公司
摘要:现阶段,随着经济的发展,科技的进步,地理信息系统的应用愈加广泛,不同行业、不同部门之间均借助于地理信息系统的强大科技优势促进自身业务的发展,由此而产生的不同部门、不同系统间的信息孤岛和地理信息的重复性建设问题日趋严重,迫切需要解决措施。而传统意义上的数据格式转化直接数据访问及数据互操作等逐渐不能满足日益复杂的地理信息网络环境,因此,基于服务的地理信息共享体系架构应运而生。本文对基于服务的地理信息共享在GoogleEarth上的应用进行了探讨,以期为相关工作人员提供合理性启发。
关键词:服务体系架构;地理信息共享;GoogleEarth;应用;web服务
近年来,地理信息系统在城市规划、交通运输、环境保护、测绘工程、农业等领域异军突起,发挥着重要作用,其应用取得了良好的经济效益和社会效益。地理信息共享能够实现地理信息采集和加工过程中的人力、物力投入,减少地理信息的重复采集,提高地理信息资源的经济、社会及生态效益。另一方面,地理信息共享也能够有效促进政府决策的民主化和科学化。面向服务体系架构(SOA)为地理信息共享问题提供了新的技术支撑,通过服务架构体系,将不同平台和系统有机结合在一起,促进地理信息资源的共享,将地理信息系统的优势发挥到极致。
一、面向服务体系架构的结构综述
1.面向服务体系架构中的元素
SOA提供的仅仅是一种方法,在这种方法下,可以通过分布式系统的构建来将应用程序功能提供给不同的用户。在这个系统下,主要的组成元素包括功能元素和服务质量元素,如下图1所示,左边主要是体现体系结构的功能性方面,而右边则是体现服务质量。
2.面向服务体系架构协作
如下图2所示,形象地展示了面向服务体系架构中的协作。这些协作遵循一定的范例,即“查找—绑定—调用”。其中,服务使用者执行动态服务定位,方法是通过查询服务注册中心查找相匹配服务的。如果服务存在,注册中心就会给使用者提供相应信息的端点地址。面向服务的体系架构中,具体的操作主要包括发布、发现、绑定和调用三部分。首先,关于发布,为了促进服务实现可访问化,需要发布相应的服务描述,从而能够促进服务使用者对其执行发现和调用命令。其次,关于发现,服务请求者需要对服务进行定位,具体的定位方法以查询服务注册中心来实现。第三,关于绑定和调用,在检索之后,服务使用者需要根据服务描述继续调用服务。因此,面向服务的体系架构构件主要是服务和服务描述[1]。
二、技术平台
1.GoogleEarth数字地球平台
数字地球平台是一种具有强大功能的计算机辅助决策系统,它具有数据采集、传输、存储、处理和分析等功能,并具备高分辨率、统一坐标、开放格式、三维可视化和分布式网络等特点,可同时开展微观研究和宏观研究,对技术的发展和人类社会具有重要意义。
GoogleEarth是一种将卫星图像、Google搜索和地图整合在一起的地球信息系统,具有功能强、性能好、实用化和人性化等特点,目前已被广泛应用在规划、导航、地理、数学和教育等行业。GoogleEarth由服务器和客户端组成,服务器负责提供地理信息,实现客户端的数据可视化,而客户需要通过Internet从服务器上下载具有高分辨率的地图,同时也可将数据缓存使用。
KML是用于标示GoogleEarth上地理信息的文件格式,主要包括文件夹、地标、地表覆盖、屏幕覆盖和网络连接五部分,目前已得到广泛应用[2]。
2.AXIS引擎
AXIS是一个基于Pull解析用于提高XML的内存使用率的对象模型,AXIOM通过StreamingAPIforXMLPull解析器控制解析全过程,从而实现延迟构建。
可扩展消息传递引擎接受到消息后,将调用处理程序对信息进行相应的处理,然后再将消息传递给相应的消息接受者进行处理。
可插入模块均包含相应的处理程序,并为服务器提供了相应的扩展机制。AXIS管理员负责将下载到的WS-Addressing模块按照module。Xml规则部署到引擎中。
所谓的数据绑定即框架实现XML和Java转换的过程,目前可使用的框架种类较多,而用户也会根据自己的偏好进行选择。目前AXIS可支持大部分的框架,并提供自己的框架,从而可使用户不受限制地使用。
三、系统结构及其实现
1.系统整体机构
地理信息系统将每一个GIS系统看作发布地理共享信息和注册服务信息的实体,而访问者则通过注册中心获得自己的地理信息,整个的地理信息共享过程则是通过web服务和面向服务架构设计实现的。首先,由于不同部门和企业采用的平台、系统开发的语言以及安全设置均有所不同,所以需要通过Web接入实现平台和语言的跨越。其次,由于在数据传输的过程中,存在着操作系统、平台以及数据结构等各方面的限制,所以使用XML能很好的消除该方面的限制。最后,由于Web服务接口随时变换,用户不能直接连接Web服务,所以通过松耦联合系统可实现系统间的集成,并及时提供相应的地理信息。
2.系统共享架构
系统共享架构主要包括数据层、服务层和应用层。数据层主要包括可存储数据信息的数据库和可按照WSDL标准提取数据信息的适配器;服务层主要包括可实现信息分解和信息配送的分解器、可整合信息并将信息返回到应用层的结果整合器和实现客户调用功能和打包SOAP信息并返回到结果整合器的SOAP引擎;而应用层主要包括各种用于与用户交互的地理信息系统和其他系统[3]。
3.相应的实现方案
从Web服务提供者、GoogleEarth服务使用者和Web服务器三个方面来介绍相应的实现方案:其中Web服务提供者通过标注共享信息和发布Web数据提供服务,GoogleEarth服务使用者通过共享数据和本地GoogleEarth来获取数据,而Web服务器则是实现服务提供和获取的平台和中转站。
第一,关于Web服务提供者:Web服务提供者系统由地理信息录入、地理信息存储和地理信息Web服务发布三个部分组成。地理信息录入可生成包含共享信息的KML文件,地理信息存储可存储和调用相应的地理信息,而地理信息Web服务可将读取并发送地理信息。提供Web服务主要包含四个流程:通过SOAP发送并调用Web服务、Web服务调用相应的JAVA程序、JAVA程序读取相应的地理信息并返回Web服务器、将数据发送给Web使用者。
第二,关于GoogleEarth服务使用者:GoogleEarth服务使用者主要由地理信息获取和地理信息数据显示两部分组成,其中,地理信息获取部分可实现将SOAP信息转换成本地KML文件的功能,而地理信息部分用于为用户显示所需的地理信息。使用GoogleEarth服务包含以下三个流程:调用JAVA程序并获和相应的Web服务、获取相应的地理信息并解析成KML文件、为用户可视化获取的地理信息。
第三,关于Web服务器:Web服务器包括GoogleMapsAPI、网站系统和数据库三个部分,其中,GoogleMapsAPI用于获取并传递地理信息数据,网站系统用于Web服务调用和地理信息的扩展,数据库用于存储数据。使用Web服务器包括以下三个流程:用户访问相应的网站、ASP.NET调用转换和存储相应的信息、页面调用GoogleMapsAPI为用户提供MapGIS形式的信息。
结语
随着科技的进步,地理信息系统为经济发展和社会进步做出了重要贡献,但是自身的信息孤岛问题却越来越严重。为了解决地理信息系统信息孤岛的难题,基于服务的地理信息共享应运而生,随着其在GoogleEarth中的广泛应用,必然会促进地理空间数据网络服务体系走向完善。
参考文献:
[1]张尧,甘泉,刘建川等.基于MongoDB的地理信息共享数据存储模型研究[J].测绘,2014,(4):147-150,172.
[2]杜福光.地市级地理信息共享服务平台设计[J].测绘工程,2014,23(11):51-55.
[3]温伯威,陈换新,张巍等.地理空间数据网络服务体系研究[J].地理信息世界,2013,(5):32-35,50.