论文部分内容阅读
数据是GIS数据库中最核心的部分,而数据库的设计与实现则是GIS系统优劣的前提和关键。选择什么样的数据库作为数据存储和管理的基础,如何利用数据库系统实现对GIS空间数据的管理、如何确保GIS数据的完整性和一致性、如何获得GIS对空间数据库访问的高效性等等,这些问题都是整个GIS系统设计中的重要环节和核心内容。 本论文对GIS的数据结构及其空间数据在关系数据库,对象数据库和关系-对象数据库中的存储、查询、索引等进行了讨论,得出利用对象关系数据库是最为方便、有效的方法。 目前最常用的是关系型数据库,它是在一个较低级的层次上,用一系列的表列和行处理结构化的数据,但在表达非结构化的空间数据方面存在许多缺陷。 使用面向对象的模型存储空间地物是高效、易于理解的,但面向对象型数据库不支持基于工业标准的SQL语句,同时与其它类型数据库没有良好的兼容关系。这限制了它的使用范围与应用前景。 而对象关系数据库将面向对象模型引入到关系数据库中,采用对象模型的智能化对非结构化的空间数据进行有效处理,避开其繁杂的关系操作,不仅仍保留对SQL标准的支持,而且扩展到也能对对象数据进行SQL操作。它突破了纯面向对象数据库的不通用性,以及纯关系数据模型的范式限制,实现了对象操作与关系操作的优势结合。 Oracle Spatial是Oracle8i及以上版本数据库为实现快速、高效的储藏、存取、分析空间数据而把相关函数和过程集在一起的专用组件。利用Oracle Spatial可以在单个数据库事例中,实现非结构化、有嵌套关系的空间、属性数据的统一存储和管理。本文研究了Oracle数据库的空间数据类型的客户端映射。扩展了Oracle C++ Class的功能,设计了空间存取、查询、索引等操作的扩展类库,在GIS应用程序和数据库之间架设了一座桥梁,使空间数据和属性数据得到了有效的管理和使用。