论文部分内容阅读
GML是开放式地理信息系统协会OGC(Open Geospatial Consortium)制定的、基于XML的地理信息编码规范,它中立于任何厂商、任何平台,为地理信息包括地理要素的空间与非空间特性信息的建模、传输和存储提供了统一的框架。它的出现为空间数据的共享和互操作提供了很好的解决方案,同时也给WebGIS技术的发展开辟了新的道路。GML是XML对空间数据的编码,它既具有XML基于文本、可扩展、自描述、能够嵌套表达复杂数据模型等特征,也具有空间数据的海量、复杂、不可排序等特征。目前GML已成为空间数据编码、交换的国际标准,大量GML空间数据的不断涌现,给我们带来了新的挑战,即如何有效地管理、操纵这些GML格式的数据,如何建立良好的索引机制以高效地检索数据量大大增加的GML文档。本文结合开源纯面向对象数据库db4o和传统的空间数据库技术,研究了GML空间数据的原生对象存储方法、索引机制。本文的主要研究内容包括:(1)首先分析了GML规范中空间数据的特征、GML模式和GML空间数据建模规则,然后利用开源XML解析器VTD-XML提供的解析模型(非SAX、DOM),设计并实现了一个基于VTD-XML的新型GML解析方案,它可以用来解析符合GML3.X规范的GML模式及GML文档。(2)分析了空间数据库主要存储管理模式和面向对象空间数据模型,针对GML空间数据的特点,基于开源纯面向对象数据库引擎db4o提出了基于要素的面向对象的GML空间数据存储粒度和存储模型,设计了GML空间数据的无抗阻失调存储算法,综合以上研究,本文利用db4o提供的开发接口实现了GML空间数据存储引擎。(3)目前,开源纯面向对象数据库db4o只提供B树索引,根据GML空间数据特征,本文设计并实现了基于R树的空间索引机制,利用R树索引将db4o的查询范围扩展至空间数据。基于上述的理论研究,本文利用开源软件VTD-XML、db4o提供的接口,在C#.NET环境下开发了GML解析存储原型系统,实现了GML空间数据的R树索引机制,并测试上述新型解析、存储索引机制的性能,论证本文提出的解析存储方案的可行性。