论文部分内容阅读
空间拓扑关系的描述与判断在地理信息系统(GIS)的空间数据建模、空间查询、空间分析、空间推理、数据更新等方面起着重要的作用,因此对空间拓扑关系的判断研究,一直以来都是地理信息学科的一个研究热点。目前,国际上主要采用基于点集拓扑学的九交模型来描述空间目标间的拓扑关系,虽然该模型存在着理论上的缺陷与不足,但是在实用中,它仍不失为一种能很好的描述空间关系的方法,也因此著名的数据库厂商Oracle公司在其空间数据库插件Oracle Spatial中,在空间关系操作方面提供了对九交模型的完全支持,是通过定义了11种拓扑关系操作算子实现的。在Oracle9i中,其空间关系、空间分析等操作方面的功能大大增强,本文基于Oracle Spatial就GIS中空间拓扑关系判断查询的实现问题进行了探索与尝试。 本文首先系统总结了国内外的空间关系计算的方法和模型,通过研究这些模型的拓扑关系计算的特点和Oracle Spatial的空间数据建模、存储、索引、查询方面的内容,指出了Oracle Spatial的空间拓扑关系判断查询中存在的不足,提出了解决的方法,并设计了拓扑关系判断的算法。 该方法主要是对九交模型矩阵值的每个元素进行判断。首先是利用Oracle Spatial提供的空间关系操作算子判断部分九交矩阵值,对其不能判断的矩阵元素值,则通过读取Oracle Spatial存储的SDO_GEOMETRY对象进行判断。 结合实际应用中地籍地块间空间拓扑关系判断等方面的问题,本文也研究了含有一个空洞的面域与简单面域间的拓扑关系判断的实现问题。主要是利用双四元组模型对简单地块与复合地块间拓扑关系的描述,对含空洞面域进行分解与构造实现与简单面域的拓扑关系判断。 最后,作者以VC++6.0作为开发工具,通过将VC与MapInf07.0集成,利用Oracle提供的一个进程内自动化服务器OO4O(Oracle Objects for OLE),用OO4O C++类库实现Oracle数据库的访问。以实际的空间数据为例,对本文所提出的方法和设计的算法进行了实验。