几种空间数据库系统的空间查询模块功能浅析

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

几种空间数据库系统的空间查询模块功能浅析

摘要:本文针对市场流行数据库Oracle和MySQL以及地理信息系统ArcGIS的空间查询模块功能进行了调研,通过研究具体功能函数,分析总结各自的优缺点并尝试性提出了其适合的应用方向及范围。

关键词:空间查询Oracle MySQL ArcGIS

引言

空间数据库是地理信息系统在计算机物理存储介质上存储的与应用相关的地理空间数据的总和,一般是以一系列特定结构的文件的形式组织在存储介质之上的。空间数据库的研究始于20 世纪70年代的地图制图与遥感图像处理领域,其目的是为了有效地利用卫星遥感资源迅速绘制出各种经济专题地图。由于传统的关系数据库在空间数据的表示、存储、管理、检索上存在许多缺陷,从而形成了空间数据库这一数据库研究领域。而传统数据库系统只针对简单对象,无法有效的支持复杂对象(如图形、图像)。随着空间数据库的诞生,空间数据查询功能应运而生。各数据库开发商针对空间数据库的特殊性,结合在实际应用中对空间数据关系的分析技术,基于数据库语言开发出了一套具备空间数据查询功能的模块。本文分别对Oracle、MySQL和ArcGIS三个产品的空间数据查询服务进行了一些调研,分析其处理函数功能与实现方法,评价其功能的优缺点,探讨了产品的应用范围与使用方法。

1Oracle数据库

Oracle数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。该数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。但它的所有知识,只要在一种机型上学习了Oracle知识,便能在各种类型的机器上使用它。

1.1Oracle Spatial概述

Oracle Spatial 是Oracle数据库强大的核心特性,它将所有的地理空间数据类型(矢量、栅格、网格、影像、网络、拓扑)统一在单一、开放的、基于标准的数据管理环境中,这就减少了管理单独、分离的专用系统的成本、复杂性和开销。Oracle Spatial使得我们能够在一个多用户环境中部署地理信息系统(GIS),并且与其它企业数据有机结合起来,统一部署电子商务、政务。其功能由于传统的GIS 技术已达到其本身可伸缩性的极限,用户越来越多地转向以数据库为中心的空间计算。Oracle Spatial将空间过程和操作直接转移到数据库内核中,从而提高了性能和安全性。Oracle Spatial从1995年Oracle7.1.6开始发展到2003年的10G版本,空间数据处理能力越来越强大。其在MDSYS方案下有大量的自定义数据类型,经常使用的是SDO_GEOMETRY类型,见图1。该类型表示一个几何对象,可以是点、线、

面、多点、多线、多面或混合对象。Oracle Spatial 在此数据类型的基础上,实现了R树空间索引和四叉树空间索引,还以SQL函数的形式实现了多种空间分析功能。

图 1 MDSYS.SDO_GEOMETRY <--> OCCI 对照模型

1.2Oracle Spatial功能

1.2.1空间索引R树与四叉树

为了优化空间查询的性能,Oracle Locator 为关系数据库提供了空间索引功能。Oracle Locator 提供R树索引创建功能,该功能生成和存储几何结构的近似值作为索引。R树索引易于创建和使用—几乎不需要调整即可获得最佳性能。可以在空间数据的两个、三个或四个维度上创建R树索引。

R树索引通过一个最小的包含几何体的矩形(外包矩形--MBR)来匹配每个几何体。对于一个几何体图层,R树索引包含该层上所有几何体的分层MBR索引。R树索引存储在空间索引表SD)——INDEX_TABLE中,而该表又在视图USER_SDO_INDEX_METAVATA中。R 树索引也是通过一个顺序数字发生器来确保当前用户对索引的实时更新。在创建空间索引的时候,如果不指明任何索引参数就创建的是R树索引。

在线性四叉树索引方案中,坐标空间受支配于称为镶嵌的一种处理,该处理定义了覆盖每个几何体的唯一的、彻底的区域、所选取的区域都按一定的方式编码并存放在表SDO_INDEX中。根据所以区域的大小情况不同四叉树索引还可分为固定索引与混合索引。其中固定索引是关系模式的首选,它使用相同大小的区域来覆盖几何体,其效率依赖于分解的级数和几何体的大小。函数SDO_TUNE.ESTIMATE_TILING_LEVEL可用来选取恰当的区域大小。混合索引结合了固定大小的区域和可变大小的区域。大多数应用都不用混合索引,而是用固定索引或R树索引。

两种索引方式各有所长:对几何体的近似值,R索引不能进行微调;在索引的创建和微

调方面,R树索引比四叉树索引容易;在存储空间方面,R树索引比四叉树索引需要的更少;当对数据有大量的更新时,四叉树索引是更好的选择[1]。

1.2.2网络数据模型

在Oracle 数据库10g 中提供了一个存储网络(图形)结构的数据模型。它显式地存

储和维护“连接—节点”网络的连通性并提供网络分析功能(如最短路径、连通性分析)。需要网络解决方案的应用程序包括运输、公共交通、公共设施和生命科学(生物化学路径分析)。

对于运输应用程序,该网络数据模型还支持一个路线搜索特性。Oracle 引入了一个可伸

缩的路线搜索引擎,该引擎提供了地址(或预先经过地理编码的位置)之间的驾驶距离、时间和方向。它作为一个Java 客户端库提供给网络数据模型,这个网络数据模型可以容易地部署在Oracle 应用服务器或独立的OC4J 环境中。其他的特性包括:最快或最短路径的首选项,返回概要或详细的驾驶指导;并返回沿着一条街道网络从单个位置到多个目标位置的时间和距离。

1.2.3拓扑数据模型

ORACLE SPATIAL 包含一个数据模型和模式,它们在Oracle 数据库中持久存储拓扑结构。当进行大量特征编辑且对地图和地图图层间的数据完整性的有高度需求时,这非常有用。另一个好处是基于拓扑结构的查询一般比涉及到关系(如邻接性、连通性和包容性)的查询执行速度更快。土地管理(地籍)系统和空间数据提供商将从这些功能中获益。

1.2.4GeoRaster

一种新的数据类型在Oracle 数据库10g 中以本地形式管理地理参照栅格成像(卫星成像、遥感数据、网格化数据)。ORACLE SPATIAL 的GeoRaster 特性提供成像的地理参照、用于元数据管理的XML 模式和基本操作,如形成分层、平铺和交*。环境管理、国防/国家安全、能源勘探和人造卫星影像门户方面的应用程序将会从中受益。

1.2.5地理编码器

地理编码是将地理参照(比如地址和邮编)与位置坐标(经度和纬度)联系起来的过程。在Oracle Spatial 10g 中提供一个功能全面的地理编码引擎。它通过查询存储在Oracle 数

据库中的经过地理编码的数据,提供国际地址标准化、地理编码和POI 匹配。它独特的非解析地址支持为客户应用程序增加了巨大的灵活性和便利性。Oracle Spatial地理编码器作为Java 存储过程在Oracle 数据库服务器内部实施。并提供了一个用于地理编码的PL/SQL API。

2MySQL

MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQL AB公司。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥

有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了

相关文档
最新文档