论文部分内容阅读
从20世纪60年代至今,GIS(Geographic Information System,地理信息系统)作为信息技术的重要组成部分,经过40多年的发展,已经得到了广泛的应用。地理信息系统是一种采集、存储、管理、分析、显示和应用空间数据的计算机系统。而空间数据是地理信息系统的重要组成部分,占据了整个GIS的70%甚至更多,空间数据管理一直是地理信息系统的重要研究方向之一。如何有效的存储、管理和应用空间数据,是直接关系到整个GIS系统的性能和有效性的关键性问题。随着GIS被广泛应用以及其自身的发展,相继出现了各种GIS软件,诸如ArcInfo、MGE、MapInfo、MapGIS、GeoStar、SuperMap等专业GIS软件,与此同时,也就积累了大量的空间数据。然而,由于各个GIS软件厂商采用的数据模型的差异,导致不同GIS软件无法相互利用对方的空间数据,这样就形成了一个个的“信息孤岛”,使得宝贵的空间数据无法达到共享。同时,随着Internet等技术的发展,不同行业、不同部门之间迫切需要实现空间数据共享。为了实现GIS空间数据共享以及互操作,开放式地理信息系统协会(OpenGIS Consortium,OGC)顺应时代的要求,推出了地理标记语言(Geography Markup Language,GML)实施规范。GML是基于XML的地理信息编码规范,它中立于任何厂商、任何平台,为地理信息包括地理要素的空间与非空间特性信息的建模、传输和存储提供了统一的框架。它的出现为空间数据建模、空间数据的共享和和操作提供了很好的解决方案,同时也为WebGIS的发展提供了新的途径。由于GML自身的完善,以及其独有的优势,GML已经成为空间数据编码、交换的国际标准。伴随着GML的发展,出现了大量的GML格式数据,这也给我们带来了新的挑战,即如何有效的存储管理和操作这些GML数据,如何建立适用于GML的良好的空间索引机制以及如何对GML空间数据进行查询操作等问题亟待于解决。那么,本文就是基于以上问题,提出了利用Oracle XML DB技术来存储管理GML空间数据,借助R-树空间索引技术设计了一种数据库外部索引方案,用以提高空间查询以及相关操作的效率,然后结合Oracle XQuery对XML查询的支持,借助NTS开源软件扩展Oracle XQuery,使其支持对GML空间数据的查询。本文所做的主要研究工作包括以下内容:(1)首先简要介绍了GML以及其发展历史,然后分析了GML空间数据模型,对于GML核心模式中的诸如:要素模式、几何模式、坐标参考系统模式、拓扑模式、时态模式以及Coverage模式进行了详细阐述。接着介绍了与GML相关的XML技术,以及如何借助GML提供的核心模式,来进行空间数据建模。(2)由于GML基于XML编码,因此研究当前XML数据存储管理方式,进而结合XML数据的存储管理方式。然后介绍Oracle XML DB的对XML存储管理方式,提出利用Oracle公司推出的XML DB技术来存储管理GML数据。(3)借助Oracle XQuery对XML查询的支持,结合开源软件NTS设计并实现了一种扩展Oracle XQuery,使其支持对GML的空间查询。(4)由于Oracle XML DB并不支持GML的空间索引,因此,根据GML空间数据的特点,设计并实现了基于R-树索引的空间索引机制。利用R-树索引将有效的提高基于Oracle XML DB设计的GML数据库的查询、检索等相关操作效率。