基于GML的空间数据集成技术研究

2015-02-23 05:02:00    来源:中国地理信息产业协会

摘要:IS的快速发展和广泛应用导致空间数据的多源性的产生,给数据的应用和共享带来不便。使得空间集成技术越来越受到大家关注,因此GML的空间数据集成技术也被许多不同行业接受和采用。

1 引言

  随着科学技术的不断发展,计算机技术已经深入到生活中的每个环节,在不同的环节要用到不同的硬件和软件,这也导致信息在一定程度上的差异性。尤其在一些地理信息系统中尤为显著,GIS软件种类繁多,他们具有不同的数据存储格式,很大程度上妨碍了数据共享和信息交流。随着GIS的快速发展,如何将这些数据充分利用起来,实现数据共享已经迫不及待了。因此发展空间数据集成技术已经不可避免了。

  空间对象包括空间数据和属性数据两种,空间数据表现了地理空间实体的位置、大小、形状、方向以及几何拓扑关系。属性数据表现空间实体的空间属性以外的其他属性特征,而属性数据主要是对空间数据的说明。比如地质灾害点,如用Point表示,空间属性就比较简单了,也就是灾害点的地理坐标,但是属性数据可能很多,在国土部下发的地质灾害信息调查表中,属性数量多达200多个。空间对象的空间数据和属性数据也有两种存储模式,一种是空间数据与属性数据存都存在GIS平台的空间文件中;另一种是把空间数据与属性数据分离,空间数据存在GIS平台的空间文件中,而属性数据则存在独立的数据库表中,两者通过唯一的空间对象识别码连接。GIS平台为第一种存储模式提供了空间数据和非空间数据的统一管理,不需要额外的数据库管理系统,缺点是存取不方便;后一种模式采用GIS平台和数据库管理系统相互结合的办法,充分发挥GIS和数据库管理系统各自的优势,提高工作效益、方便数据存储、检索能力,但需要额外的投资。对于数据庞大的系统,为了保证系统的效率和程序的方便性,采用空间数据与属性数据分离的模式更合理。


2 空间数据集成模式及比较

  各种GIS系统的数据格式都不一样,并且互不兼容,所以一种平台下的数据,只有经过特定的工具转换后,才能在另一种平台下使用。常用的GIS系统有:ArcGIS、MapInfo、GeoMedia、MGE、SmallWorld、Supermap、MapGIS、GeoStar、TopMap、GeoBean、VRMap、MapEngine等,实现这些不同格式的数据之间的相互转换是非常复杂的。目前,实现数据集成模式大致有数据格式转换模式、直接数据访问模式、数据互操作模式三种[1-3]。


2.1 数据格式转换模式

  对于这种模式来说,就是从一种数据格式转换到另一种数据格式,这是一种传统的地理信息系统数据集成模式。一般这种方式是软件公司提供专门软件来实现完成的。例如从AutoDesk的DXF文件格式转化到MapInfo的MIF文件格式。对于这种转换模式,正是因为对空间对象统一描述方法的缺乏,才使得在描述空间对象时采用的数据模型有不同的数据模式,因而使得转换后源数据的信息不能完全表达出来。另外,这种模式需要将数据统一起来,这样就违背了数据分析和独立性的原则[1]。


2.2 直接数据访问模式

  直接数据访问是指在一个软件中实现对其他软件数据格式的直接访问。简单地说就是一个软件可以根据用户要求生成和使用其他软件数据格式文件。与数据格式转换模式相比,它可以简化繁琐的转换过程,但是也存在着软件不知道存储信息含义的缺点。


2.3 数据互操作模式

  数据互操作模式是OpenGIS Consorttium(OGC)制定的数据集成规范。数据互操作是指在异构数据库或者分布式的情况下,用户在互助互利的基础上,能透明的获取自己所需要的信息。“数据的互操作分为技术、数据、应用和企业四个层次”[2],GML能够很好的解决数据方面上的互操作问题。这种数据集成模式可以避免以上两种模式的缺点,能有效对数据进行集成,但是“对于那些历史上非OpenGIS标准的空间数据格式的处理方法缺乏标准的规范[4]。在如今市场上看,非OpenGIS标准的空间数据格式中已有的数据仍占据主体[1]。尽管如此,但是GML的数据互操作数据集成模式还是为空间数据的集成提供了新的思路和方法。

  但现在有更好的方法,采用GML作为中介,为每种GIS系统提供一个把自身格式的数据转换为GML格式的数据和再把GML格式数据转换为自身格式的工具,就能实现所有GIS系统数据格式的自由转换。图1显示了不同数据格式之间数据转换的复杂性,由于各种数据格式的不同,如果把其关系一一表述出来比较复杂,因此基于在ArcGIS、MapInfo、MapGIS、Supermap、VRMap、MGE六种格式的直接数据转换图。



图1不同数据格式直接数据转换关系图

Fig.1 Different data format conversion between direct data graph


  如果采用GML作为数据集成的中介,数据转换关系就简单多了,如图2所示。




图2 基于GML的数据转换关系图

Fig.2 Conversion between GML data map based on


  采用GML作为不同数据模型的空间数据转换方案,由于只需要实现数据模型与GML之间的转换,极大地简化了数据转换的难度和工作量。


3 GML数据集成现状

  GML(Geography Markup Language),是开放式地理信息系统协会(OGC)于1999年提出的,在日趋发展的网络环境下,它的提出正是为了成为其中地理数据的一种通用接口,它符合空间数据集成模式中的第二种即数据互操作模式[5]。使用GML对多元异构地理空间数据集成,可以很好的避免以往网络语言描述复杂的空间信息的缺点,因为它对地理空间数据的描述拥有统一的数据格式,从而能够容易的进行数据集成。

  对于GML快速发展,也引起了包过复旦大学、同济大学、武汉大学等许多名校学者的重视。武汉大学和国家基础地理信息中心已经开始制定GML国家标准。周水康课题组早在2003年就提出了一种新颖的方法,用于GML文档自动转换到SVG文档,论文发表在ACM-GIS 2003[6]。从跨入21世纪以来,关佶红课题组就研究了基于GML和SVG的空间信息集成和发布、GML模式匹配、GML存储机制和查询处理以及压缩算法等[7-10]。

  但是,目前研究工作远不够系统和深入,实际集成应用方案比较少,所提出的技术和算法还不能满足海量GML空间数据处理和管理的实际应用需要。因此,还需要进行进一步的研究,探索新的技术方案,开发更有效的算法。


4 基于GML的空间数据集成方法

(1)直接文件操作

  不同的空间模型有着不一样的空间数据,有些空间数据模型的数据结构是公开的(比如Shapefile模型,MapInfo的数据模型),大多数机构中数据模型中的数据是非公开的。对于数据结构公开的数据模型,在数据转换时,程序员可以按数据模型的数据结构直接对从文件中读写数据,可以不通过GIS系统,直接实现公开数据结构的空间数据与GML格式的空间数据之间的相互转换。

  不同的空间数据模型,数据结构也不尽相同,所以,需要对特定的空间数据模型进行数据结构分析,研究空间数据的读写操作,然后建立特定模型的空间数据对象与GML对象之间的转换关系。在认真地研究和掌握这些过程和内容后,才能编写出实现特定空间数据与GML数据的相互转换的程序。研究步骤如图3所示。



图3 公开数据结构空间数据集成工作流程

Fig.3 Public data structure of spatial data workflow integration


(2)非公开数据结构的空间数据转换

  对于非公开性的空间数据模型的数据结构,由于空间数据结构的复杂性,在有限的时间和精力条件下,要把其全部弄得很清楚、明白是非常有难度的。因此,数据集成系统开发人员不能直接对空间数据文件进行操作,只能通过其它方式实现空间数据的转换。

  非公开数据结构的数据转换主要有三种方式:GIS系统本身提供的转换、第三方系统提供的转换、嵌入式编程接口转换、独立组件编程接口转换。


①GIS自转换

  OGC的GML逐渐成为国际标准,正被越来越多的GIS软件接受和采纳,并提供了与GML模型的相互转换功能。比如美国ESRI的ArcGIS就提供了GML数据支持,可以把ArcGIS空间数据导出到GML,也可以把GML空间数据导入ArcGIS,这样就可以实现它们之间的相互转化。


②第三方系统提供的转换

  一些企业采用GIS系统为了能够高效地管理自己数据结构的空间数据外,往往还能够读取其它格式的空间数据,把其它格式的空间数据导入到本系统中。如果该GIS系统能够实现空间数据与GML之间的转换,那么通过这种方式,就能把其它格式的空间数据转换为GML。


③嵌入式编程接口转换

  各种GIS系统一般都提供了不同形式的编程接口,程序员通过编程接口,可以很容易读写空间对象,从而可以比较容易地实现各种数据模型的空间数据与GML格式的空间数据之间的相互转换。

  GIS系统提供的接口主要有两种,一种是嵌入式的定制开发接口。比如ArcMap提供了定制功能,能够执行VBA程序。VBA程序通过ArcObjects能够非常方便地读写ArcGIS的对象。因此,程序员可以比较容易实现ArcGIS空间数据与GML文档的转换。


④独立组件编程接口转换

  通过嵌入式接口实现数据模型的转换只对少部分GIS系统可行,多数GIS系统并不提供嵌入式接口,因此这种方式适用面比较窄。所幸的是几乎所有的GIS系统都提供非嵌入式的二次开发组件,如ArcGIS提供了ArcEngine,SuperMap提供了Map Objects,MapGIS也有相应的组件,这些组件封装了访问各自空间数据的接口,程序员调用组件对象,就能很方便地操作它们的空间数据对象,能够实现空间数据与GML文档之间的转换。


(3)空间数据集成方法比较

  前面探讨了几种空间数据集成方法,它们具有各自的特点和使用环境,如表1所示。


表1 几种数据集成方法比较

Tab.1 Several kinds of data integration method



5 GML数据集成的优点

  首先,GML是OGC提出的开放式标准,OGC是一个非盈利的组织,因此GML不受特有的硬件和软件商家所限制;其次,GML在XML的基础上,却又和XML具有一样的优点,GML中的表现形式和数据是分开的,这样用户就可以专心的处理数据的存储和访问了;第三,GML采用XML Schema来定义GML中的标签的空间信息含义,这样不仅方便信息集成,又保证了信息的正确性;第四,GML使用XLink和XPointer技术,具有更强的链接和查询能力[11]。


6 结束语

  GML作为各种数据格式的中介,极大的简化了数据之间的转化的难度和工作量,它也迅速的受到企业对它的关注和广泛支持。但由于GML数据来自不同的数据源,要想真正好的运用这项技术,我们还面临着挑战,如何能够进一步的改进模式匹配算法从而简化集成过程,还需要进一步的研究。


参考文献:

  [1] 钟耳顺,王康宏 ,宋关福,等.GIS多源数据集成模式评述[C].深圳:99’中国GIS年会论文集,1999.

  [2] 崔希民,刘清旺,谢传节,等.基于GML的多源异构空间数据集成和互操作[J].矿山测量,2003(3):47-49

  [3] 李建军,陈洪辉,基于GML的多源异构空间数据协同集成[J].计算机工程,2004,30(23):34-36.

  [4] 黄裕霞,陈常松,GIS互操作及其体系结构[J].地理研究,2000,9(1):925-931.

  [5] 袁梅,莫登沅,边少锋.基于GML的空间数据交换格式及其应用[J].测绘科学,2004,24(1):31-34.

  [6] Zhimao Guo,Shuigeng Zhou.G2ST:a novel method to transform GML to SVG[J].Proceedings of ACM-GIS 2003:161-168.

  [7] 朱付保,关佶红,周水庚.基于模型映射的GML文档存储和查询方法[J].计算机研究与发展,2006,43(suppl):510-516.

  [8] 李俊,关佶红,李玉珍.GML空间数据存储映射模型研究[J].武汉大学学报:信息科学版,2004,29(12):1071-1074.

  [9] 李玉珍,关佶红,李俊.GML空间数据存储研究[J].计算机研究与发展,2004,41:496-451.

  [10]关佶红,虞为,安杨.GML模式匹配算法[J].武汉大学学报:信息科学版,2004,29(2):169-174,2004.

  [11] 旷建中,马劲松.基于GML的多源数据集成模型研究[J].计算机应用研究,2005,22(6):105-107.


作者简介:占美志(1989-)男 江西九江人 硕士研究生 主要从事空间数据处理


声明:中国勘测联合网登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,文章内容仅供参考。