论文部分内容阅读
GML是开放地理信息系统协会(OpenGIS Consortium,简称OGC)制定的、基于XML的地理信息编码标准,用于空间数据在网络上的传输、存储和发布。它中立于任何厂商、任何平台,为地理信息包括地理要素的空间与非空间信息的建模、传输和存储提供了统一的框架。它的出现为空间数据的共享和互操作提供了很好的解决方案,同时也给WebGIS技术的发展开辟了新的道路。如今GML已成为空间数据编码和交换的国际标准,GML应用越来越广泛,迫切需要解决GML空间数据的查询问题。本文首先分析当前国内外GML查询的研究成果,在详细描述GML规范中几种重要的数据模型、总结GML空间数据特征的基础上,提出了基于要素的GML查询策略,即将各空间查询建立在GML要素查询基础上,查询其对应的属性。这种策略采用面向对象技术,将GML数据看成要素对象集合,不仅能够解决绝大部分GML查询问题,更适应当前软件开发的潮流。其次,本文通过对XQuery语言进行空间扩展,执行GML空间查询,并根据GML文档的结构特征,提出了XQuery查询GML时应具备的特性,为基于要素的GML查询奠定了基础。此外,本文使用SAX解析技术设计了GML解析引擎,在增加空间数据类型的基础上给出了GML各类型的数据结构和解析步骤,最终生成一棵以要素为叶子量GML数据节省了系统开销,更易于扩展,支持对各空间数据类型的解析,为本文基于要素的GML查询前的数据处理提供了很好的解决方案。本文最后开发了基于要素的GML查询机制的原型系统,给出了系统各模块实现的步骤和类结构,实现了对要素几何、拓扑和非空间属性的查询,并能执行缓冲区分析。各查询以要素为基础,可将空间和非空间查询有机结合起来。系统结构灵活,易于扩展对要素其他属性的查询。本文的创新之处在于提出了基于要素的GML查询思想;对XQuery语言进行了空间扩展,使其具备了空间查询功能;采用SAX技术设计了GML解析引擎,并最终实现了基于要素的GML查询系统的设计和开发。随着GIS的发展,解决GML空间数据的查询问题迫在眉睫,开发GML空间数据库系统是必然的趋势。本文的工作对后期的扩展以及GML空间数据库系统的开发具有一定的借鉴性。