基于GML的空间数据共享模型的研究与实现
2012-04-16杨先震梁艳萍
杨先震 梁艳萍
摘要:首先总结了两种现有异构系统间的数据交互模式,分析了其不足之处,然后提出了一种新的空间数据共享模型,并在此模型的基础上实现了空间信息的初步共享,为实现异构系统间的信息交换提供了一条可行的解决之道。
关键词:GIS;GML;空间数据;数据共享
Abstract: The paper summarizes the mode of data exchange between the two existing heterogeneous systems, analysis of its inadequacies, and then proposes a new spatial data sharing model, and on the basis of this model space realizes information sharing, provide a viable solution to information exchange between heterogeneous systems.
Key words: GIS; of GML; spatial data; data sharing
中图分类号:S973.1+5 文献标识码:A 文章编号:
1 引言
在信息高速公路的时代,如何能在不同的GIS系统间分享数据,是一件刻不容缓的问题,然而空间信息要真正实现共享, 必须解决空间信息数据多格式、多数据库融合等瓶颈问题[1]。由于GIS处理的数据对象是空间对象,有很强的时空特性,获取数据的手段也复杂多样,这就形成多种格式的原始数据,再加上GIS 应用系统很长一段时间处于以具体项目为中心的孤立发展状态中, 很多GIS 软件都有自己的数据格式,且互不兼容,因此形成一个个“信息孤岛”,造成了人力、财力上的浪费,信息资源不能得到有效的利用。现在该问题已经有了一个很好解决方案,那就是以堀ML为基础的GIS编码标准,称为地理图形标记语言GML(GeographyMarkupLanguage)。GML是由开放式地理信息系统联盟(OpenGISConsortium,简称OGC)所发展,专为地理信息而发展的,以GML为基础的编码标准,其与生俱来的转换及存取能力,将为地理空间信息的管理开启一个全新的领域[2]。
2 异构系统间数据交互方式
目前,从技术角度来讲,解决空间数据共享的方法主要包括数据交换和GIS 的互操作。
2.1 空间数据交换的办法
在以单机、数据集中式管理为特点的GIS技术发展阶段,满足GIS 各个系统之间数据共享需求的主要技术手段是数据交换,数据交换所要解决的核心问题是来源于不同GIS 的数据之间格式转换的问题。
(1) 数据格式转换模式
这种基于文件级的共享是当前GIS 软件系统共享的主要办法。它主要是把其它格式的数据经过专门的数据转换程序进行转换,变成本系统的数据格式,从而通过交换格式来实现系统之间的共享。由于转换模式缺乏对空间对象统一的描述方法,因而使得不同数据格式描述空间对象时采用的数据模型不同,转换后不能完全准确地表达原数据信息,经常性地造成一些信息丢失,同时数据不能自动同步更新。
(2) 直接数据访问模式
它是指在一个GIS 软件中实现对其它软件数据格式的直接访问,用户可以使单个GIS 软件存取多种数据格式。由于对数据的访问是建立在对要访问数据格式的充分了解的基础上,因此如果要访问的数据格式不公开,就无法进行访问;并且如果宿主软件数据格式发生变化,各集成软件必须提供升级软件,基于这种GIS 数据格式的数据处理必存在滞后性。
2.2 GIS 的互操作
数据互操作模式是OpenGIS Consortium制定的规范。它为多源数据共享提供了一个崭新的思路和模式。OGC 为数据互操作制定了统一的规范,从而使得一个系统同时支持不同的空间数据格式成为可能。根据OGC颁布的规范,可以把提供数据源的软件称为数据服务器(Data Servers),把使用数据的软件称为数据客户(Data Clients),数据客户使用某种数据的过程就是发出数据请求,由数据服务器提供服务的过程,其最终目的是使数据客户能读取任意数据服务器提供的空间数据[3] 。目前实现数据融合的互操作主要有基于公共接口的GIS 互操作(见图1) 和基于联邦空间数据库的互操作(见图2) 。数据互操作模式在应用中的主要局限在于:
(1) OGC 标准虽然将计算机软件领域的非空间数据处理标准成功地应用到空间数据上,但是,它主要考虑的是采用了OpenGIS 协议的空间数据服务软件和空间数据客户软件,对于那些历史存在的大量非OpenGIS 标准的空间数据格式的处理办法还缺乏标准的规范,而非OpenGIS 标准的空间数据格式目前占主体地位;
(2) 为真正实现各种格式数据之间的互操作,需要每种格式的宿主软件都按照统一的规范实现数据访问,在一定时期内还不现实;
(3) 一个软件访问其它软件的数据格式时是通过数据服务器实现的,这个数据服务器实际上就是被访问数据格式的宿主软件,这就是说,用户必须同时拥有这两个GIS 软件,并且同时运行,才能完成数据互操作过程。
3 基于GML的空间数据共享模型
GML[4]是由OGC 发展,以第二代网络语言XML为基础的GIS 编码标准。之所以从众多的空间数据交换格式标准中选择它,除了GML 简单、容易和非空间数据整合、容易转换外,还基于以下原因:
(1) GML 是遵循OGC 所制定的地理抽象模型,該模型已得到了大多数GIS 软件厂商及第三方软件厂商的支持,因此数据在转换成GML不会有信息的损失。
(2) GML 空间数据的有效性控制,GML 模式定义了GML 文档的内容和结构,通过GML 模式可以在数据编辑及传输时验证其规格是否有效。
(3) GML 是基于XML 的地理信息表示,各种XML 技术如XML解析、XML Schema、XLink、XPointer、XSL 、XML 查询语言等都可应用于GML。
(4) GML封装了地理信息及其属性,GML地理要素(Feature)包括一系列的属性和相应的几何信息、拓扑信息,一般来说属性由名字、类型和值组成,几何信息由基本元素如点、线、面、曲线、多边形等组成, 拓扑信息由拓扑基元Node、Edge、Face、TopoSolid 以及这些基元之间的关系来描述。GML 允许构建相当复杂的要素,如要素间的嵌套。
(5) GML 封装了空间地理参考系统,空间地理参考系统是地理信息系统数据处理的基础。GML 封装了空间地理参考系统、主要的投影关系等,保证分布式处理的扩展性和灵活性。
(6)通过编写转换器可以方便的把GML数据从一种格式转换为另一种格式,如利用GML数据文件生成shp文件、tab文件等。这种变形可以同过多种方式完成,如XSLT(Extensible Stylesheet Language Transformation),C#、Java等,其中利用XSLT最为方便,其他技术可用于实现XSLT的扩展模块[5,6]
3.1共享模型的实现思想
现有的空间数据共享方案各有优缺点。而SQL (标准结构化查询语言) 以及ODBC的出现曾经为不同数据库之间的数据交换难题提供了比较满意的解决方案。引进这种思想, 将空间数据纳进标准组织和标准协议进行规范和管理,这里提出一种空间数据共享的新模型,该模型的具体实现思想如下:
(1)定义一个标准的GML Schema,即定义一个标准的数据编码格式,通过GML Schema 可以把主流数据格式的GIS数据无损转换成GML标准格式。(如图3所示)
(2)提供一种解析转换机制,首先利用GML 的扩展、定制功能对GML标准文件进行准确的解析,使GML数据转换为客户要求GML 数据文件,即语义GML,然后语义GML根据请求格式生成相应的用户要求格式。
(3)能够提供空间元数据服务,能够实现异构数据源在元数据库中的注册、查询,空间数据共享模块可以通过元数据库服务得到数据源的信息。
3.2 方案的实施
这种方案以GML为基础,利用GML 的跨语言,跨平台的特性实现异构数据源之间的数据共享,方案模型如图4所示,下面来说明方案实施的具体流程。
(1)用户发出某一格式数据请求(图4中1号箭头);
(2)空间数据共享模块向元数据服务模块发出查询请求(图4中2号箭头);
(3)请求信息源信息的返回(图4中3号箭头),元数据服务的注册服务模块分析来自共享模块的请求,检索注册数据库,将查询结果返回到共享模块;
(4)共享模块对元数据服务模块返回的信息进行分析,判断返回的图层格式是否与用户要求的格式相同,如果相同则直接绑定数据源,获取请求的图层(图1中4号5号箭头);如果不同则向GML转换模块请求数据(图4中6号箭头代表该步骤);
(5)GML转换模块向数据源请求数据,根据数据源的路径或URL进行数据源绑定,(图4中7号箭头);
(6)数据源向GML转换模块返回图层数据,(图4中8号箭头);
(7)返回到转换GML模块的图层,经过加工变成了标准的GML格式,再向解析GML 模块发出请求,解析GML模块根据请求格式生成相应的用户要求格式;
(8)返回用户要求的数据(图4中10号箭头);
(9)共享模块完成数据整合后,将最终的数据返回给请求用户(图4中11号箭头)。
4 应用实例
根据上述空间数据共享模型,以徐州市地下矿山信息管理系统(此系统为笔者所在项目小组开发)为例,进行了模型实用性测试。测试数据为tab格式数据,希望生成shp格式的数据,由于篇幅问题,以下是由GML Schema生成的部分标准GML,导入系统中显示如图5所示,在转换的过程中没有数据损失,很好的保持了数据的完整性。
……
5 结论
针对项目开发时遇到的数据格式转换问题进行了研究和开发,提出了一种新的数据格式转化方法,利用GML作为数据的表示方法,把数据转换为GML格式,大大减少交换数据的复杂性。GML作为业界接受的标准空间数据格式,将极大地推动G IS 产业的发展,本文通过空间数据共享模型屏蔽分布式异构数据源的差异,将不同原始数据格式的图层数据统一成GML 的形式组织在一起,然后根据用户的要求,通过语义转换变成用户需求的格式,经过实践证明是可行的,为实现异构系统间的信息交换提供了一条可行的解决之道。
参考文献:
[1] Thomas Devogele. On spatial database integration[J ] . Geographical Information Science , 2004 ,12 (4) .
[2] 黄旭初.新世代的GIS编码标准-地理图形标记语言GML,国土信息系统通讯,2002(42).
[3] Yaser Bishr. Overcoming the semantic and other barriers to GIS interoperability [J ] . Geographical Information Science ,2005 ,12(4) .
[4] Open GIS Consortium , Inc. OpenGIS Geography Markup Language ( GML) Implementation Specification 310[ EB/OL ] . http :/ / www. Open geo spatial. org
[5] RonLake.Introdution to Geography Markup Language[EB/OL].
http://www.jlocationservices.com
[6] Mark Reichardt.OGCs GML 3.0:A New Wave of Open Geoprocessing on the Web.[EB/OL].http://www.geoinformatics.com
作者简介:杨先震(1982-),男,汉族,江苏徐州人,中国矿业大学本科毕业生,从事GIS开发与应用研究。
梁艳萍(1988-),女,汉族,四川人,现居青海
注:文章内所有公式及图表请以PDF形式查看。