论文部分内容阅读
随着地理信息系统应用的不断深入,空间数据的应用领域也越来越广,从而导致了海量空间数据的产生。而空间数据在人们的生产、生活中发挥着重要的作用,因此如何对空间数据进行共享以及访问成为GIS研究中的关键问题。目前一般采用空间数据库实现空间数据的共享,同时通过空间数据引擎对空间数据库进行访问。
空间数据和其他数据相比具有非结构化、多尺度和多态性以及海量数据的特性。由于传统的文件系统在存储容量以及并发访问等方面的不足,文件格式已经严重不能满足空间数据的存储需求;同时,由于数据库系统在存储和管理海量数据方面的优势,使得各个GIS厂商都采用关系数据库作为空间数据主要存储介质,这都促进了人们对空间数据库的研究。对空间数据库的研究包括空间数据模型的研究、空间数据的共享以及空间数据访问技术的研究等多个方面。本课题在空间数据共享技术研究的基础上,主要对空间数据访问技术进行研究。
经过多年的发展,空间数据引擎技术也不断地发展成熟,现在的GIS平台大多采用空间数据引擎对空间数据库进行访问。空间数据引擎是一组访问空间数据库的程序的集合,提供了对空间数据的存储、空间索引和查询以及空间分析等功能。复杂一些的空间数据引擎还包括多用户访问、并发处理以及错误处理等功能。空间数据引擎是访问空间数据库的桥梁。在GIS平台中采用空间数据引擎访问空间数据库具有很多的优点。首先分层的系统架构能够降低各个层次之间的耦合度,提高各个模块的复用性:其次,采用空间数据数据引擎能够很好地对复杂的空间业务逻辑进行封装,降低开发的难度。
但是,现有的空间数据引擎大多是针对特定的DBMS而设计的,导致了GIS平台在空间数据访问方面具有以下缺点:空间数据引擎的逻辑实现和特定的关系数据库绑定在一起、空间数据库的集成不易于扩展等。如何结合新的技术,对现有的空间数据访问方法进行改进以使其适应易扩展、松散耦合的需求,这是值得思考的问题。
由于本课题是典型的GIS应用研究,因此,本课题所采用的研究思路如下:首先对GIS研究中的基本概念和理论进行介绍,在对空间数据模型研究的基础上,详细地介绍了空间数据库以及空间数据引擎的体系结构和实现方法;其次,在对传统空间数据访问技术研究的基础上,总结了传统空间数据引擎存在的不足,提出了基于虚拟空间数据引擎和空间数据库驱动的空间数据访问架构;最后,在Map GIS K9平台上对本课题所作的研究进行实现。本课题具体的研究过程如下:
1)对空间数据基本理论的研究。空间数据是数据在地理空间中特有的表现方式,描述了地理世界中的各种事物及其相互关系。它们本身具有空间、时间和属性等特性。对空间数据的研究主要包括:空间数据模型的研究、空间数据的管理与共享、空间数据的索引与检索以及空间数据的访问。空间数据模型是对空间数据在空间数据库中的组织结构的抽象化的描述,面向对象的空间数据组织方法是应用广泛的一种空间数据模型。空间数据库是一种专门用于对空间数据进行管理的特殊的数据库系统。而空间数据引擎为空间数据的访问提供了一种良好的途径。
2)虚拟空间数据引擎(Virtual Spatial Database Engine,V-SDE)的研究。空间数据引擎是位于GIS应用和空间数据库之间的一个中间层,由此造成了空间数据引擎和关系数据库的高耦合度,不利于空间数据引擎的复用以及空间数据库的扩展。而虚拟空间数据引擎通过对空间数据操作逻辑进行抽象,屏蔽了各种空间数据库的差异,从而能支持多种空间数据的操作,能够实现虚拟空间数据引擎较高的复用性,同时也能实现空间数据库的扩展。
3)空间数据库驱动的研究。空间数据库驱动是对空间数据库操作的一个封装,提供空间数据源的连接、空间数据查询以及空间数据上载等功能。空间数据库驱动在功能上是一个可复用的功能模块,可用于任何对空间数据库操作的应用中:除此之外,由于各种不同的空间数据库驱动内部在实现接口、接口含义,以及接口参数等方面是一致的,因此各种空间数据库驱动在语义上是统一的。
4)空间数据库驱动的实现。运用面向对象的程序设计思想对空间数据库驱动内部结构进行设计。在此基础上,详细设计了接口的方法并对实现的关键技术进行了实现,最终在GIS平台上进行实现。
本课题研究的主要目的是对现有的GIS平台架构进行改造,使其实现对空间数据库集成的自动化,以及提高系统的扩展性。为此本课题在充分分析现有系统架构的基础上,提出了虚拟空间数据引擎和空间数据库驱动两项关键技术,并详细描述了采用这两个关键技术所实现的GIS平台架构。论文围绕“面向统一语义的空间数据库驱动”这一主题,研究了虚拟空间数据引擎的实现方法、空间数据库驱动的结构以及实现等关键技术。并在此基础上设计和实现了在Map GIS K9平台上对达梦空间数据库的集成。