时间:2022-10-30 06:30:01 | 来源:信息时代
时间:2022-10-30 06:30:01 来源:信息时代
空间数据库 : 以描述、存储、查询和处理空间数据为特色的专用数据库,是在传统数据模型的基础上增加了对空间数据的处理能力,它从数据类型、查询语言、查询处理和存储方法诸方面提供了对空间数据处理能力的全面支持(包括空间索引和空间连接等)。空间数据库所支持的空间应用包括地理信息系统(GIS)、多媒体信息系统和计算机辅助设计系统(CAD)等。
与传统数据库相比,空间数据库系统具有以下特征: 处理的数据量非常庞大; 数据类型复杂;数据对象通常是多维的,因此难以对其进行有效的索引;传统数据库的查询语言无法满足空间应用的需要,因此需要进行扩展以支持空间查询; 在空间数据上的操作通常比一般数据库应用要耗费更多的CPU时间,因此需要在空间索引的基础上选择高效的查询策略。
推动空间数据库研究的最主要的应用是GIS,GIS中的空间数据格式多样,如遥感栅格图像、空间网络数据和矢量数据等。在GIS等应用中,要对空间数据进行抽象和表达。为使数据库能有效地存储这些空间数据,需要研究相应的数据模型,即空间数据模型。空间数据在表达方式上一般分为矢量表示和栅格表示,这两种表示分别对应于空间对象模型和空间场模型。在空间对象模型中,空间中的事物被抽象为点、线、面这样的离散的对象,该模型适用于需要处理具有明确边界的空间实体(道路、建筑物等)的情况;而在空间场模型中,空间被抽象为一组场函数,该模型通常用于无明确边界的连续空间实体(气流、植被)的应用中。
在采用空间对象模型表示空间中的实体和实体之间的关系时,需要对传统数据库的数据类型和查询语言进行扩展,以有效支持空间对象的存储和查询。通常,支持空间对象模型的数据类型称为空间数据类型,并且可以在对象关系数据库中以用户定义的抽象数据类型来对其进行定义。比较典型的对象建模方法是开放地理信息系统联盟(open GIS consortium,OGC)组织制定的空间对象模型,它的几何数据模型由空间表示体系所描述的几何体来表达,并规定了一个适用于其子类的空间参照系统。OGC标准中的几何体分为四个子类: 点、线、面和几何体集合。OGC组织通过在SQL3/SQL99中定义空间数据类型和操作,制定了空间SQL扩展标准,以作为操纵和获取空间数据的工具,该标准已经被广泛接受。
由于空间对象的多维特性,传统的1维数据的索引结构无法支持,空间数据库中必须有专门的索引才能有效地支持对空间对象的检索。空间索引就是用于支持高效的空间对象查询而专门设计的索引结构,它能够加速查询中的空间选取和空间连接操作,从而提高查询的性能。空间索引的基本方法可以分为两类,一类是将多维空间转化为一维空间,然后采用1维的索引结构(如B-树)进行索引。将多维空间转化为1维空间的方法主要是空间曲线填充方法,如Z-曲线和Hilbert曲线等。另一类是直接为空间属性创建的专门的索引结构,如格网、R-树索引。
仅仅在空间数据上建立空间索引并不能完全解决空间数据的查询效率问题,这是因为空间数据上的操作往往比较复杂,为了得到最佳的查询计划,传统数据库的查询性能评估中常常被忽略不计的CPU计算代价在空间数据库的环境下则必须与I/O代价一起考虑。空间数据库中的查询通常采用过滤-精炼两步策略,即先通过空间索引或空间近似对象快速过滤出一个较小的查询结果的候选集,然后再对这个较小候选集中的对象执行CPU代价高昂的复杂空间操作和计算,得到最终的精确结果集合。
以空间场模型表示空间实体时,这类空间数据库被称为空间栅格数据库。由场函数来描述的空间实体通常采用数据分片的方法进行存储,其查询性能主要取决于结果集的大小以及结果集在磁盘页面上的聚集程度。空间栅格数据库中的图像分析操作基于地图代数,地图代数是对栅格分析所做的大量操作顺序进行组织的一种系统框架。另一种重要的图像查询是基于内容的检索,这种查询的结果取决于隐含在栅格图像中的内容和关系,而不再是显式存储在数据库中的属性(如元数据)。
另一类特殊的空间对象是空间网络,它在交通、运输、水系以及管网线网等领域应用很多。在这类应用中,起关键作用的是网络连通性关系。空间网络数据库就是专门用于解决基于连通性的空间实体的高效存储和查询问题的空间数据库。空间网络对象通常采用图结构进行建模,用邻接表或邻接矩阵的结构进行存储。空间网络数据库中常见的查询包括点查询、边查询和路径查询。
从主要数据库厂商的观点来看,管理空间数据需要专门的产品。因此,他们在市场上推出了各类基于商业数据库的空间插件产品,其中代表性的产品是Oracle公司的Oracle Spatial和IBM公司的DB2Spatial Extender。使用这类产品能够很容易地在传统数据库应用中增加空间处理能力,实现空间数据与其他数据的无缝集成。不过这些空间插件通常只能用于厂商自己的数据库产品,它们对空间基本分析等功能的支持有限。针对这样的问题,一些GIS厂商也为关注于空间分析的用户设计了专用的数据库。后者将商业数据库作为底层的存储支持,而把空间领域知识封装于其中,对外提供空间数据的访问,相当于一个中间件。其中代表性的是ESRI公司的空间数据库引擎ArcSDE。这类产品更贴近GIS应用,能够直接适用于各类商业数据库,而空间数据库中的一致性和安全性要求则由产品自身来维护。近年来,由于MySQL、PostgreSQL等开源数据库系统得到了广泛的关注,针对空间应用特点,基于开源数据库提供灵活的原生空间数据支持能力就变得可能。这类数据库兼具性能高效和扩展灵活两大优势,正成为空间数据库发展的新趋势,其代表性产品是遵循OGC规范的PostGIS。
上述空间数据库的技术主要是解决各类空间实体的高效存储和查询问题,随着空间数据库的应用普及,有力地推动了在更广泛领域中集成空间信息。这些应用领域不仅关注于空间信息的存储和查询,它们开始更多地提出对知识发现和决策支持的需求,因此相关的方法得以研究开展,出现了支持这类应用要求的空间数据库研究——空间数据仓库和空间数据挖掘。空间数据的数量不断增长,其中蕴涵着许多有用的空间关系和知识,能够用来帮助我们理解空间数据,揭示空间关系,提供决策支持。研究在空间数据库中进行自动和半自动地数据分析和知识发现具有重要意义,空间数据挖掘和空间数据仓库就是用于对空间数据库中的空间实体进行统计分析和知识挖掘的工具。空间数据挖掘发现的知识类型包括通用的几何知识、空间分布规律、空间关联规则、空间分类规则、空间聚类规则、空间特征规则、空间划分规则以及空间演变规则等; 空间数据仓库则主要设计用于高效支持包含空间数据的统计聚集汇总查询,提供多层次多角度多粒度的数据展现和探查方法,便于分析人员探索性地发现空间关联和知识。