40 lines
2.7 KiB
Markdown
40 lines
2.7 KiB
Markdown
---
|
||
title: 空间数据与关系型数据库
|
||
date: 2020-11-20
|
||
author: ac
|
||
tags:
|
||
- spatial database
|
||
categories:
|
||
- Database
|
||
---
|
||
|
||
## 空间数据与关系型数据库
|
||
|
||
由于空间数据具有空间位置、非结构化、空间关系、分类编码、海量数据等特征,一般的商用数据库管理系统难以满足要求。面对空间数据的存储问题 ,国内外主要有两种解决方案:<br/>
|
||
|
||
- 关系型数据库 + 空间数据引擎(中间件),如esri的ArcSDE和MapInfo的SpatialWare;
|
||
- 扩展对象关系型数据库,如Oracle的Oracle Spatial、IBM的DB2 Spatial Extender。
|
||
|
||
**关系型数据库 + 空间数据引擎**<br/>
|
||
|
||
空间数据交给**独立于数据库之外**的空间数据引擎,由空间数据引擎来组织空间数据在关系型数据库种的存储。当需要访问数据时,通知空间数据引擎,由引擎从关系型数据库中取出数据并转化为用户可以使用的方式。<br/>
|
||
|
||
- 优点:访问速度快,支持通用的关系数据库管理系统,空间数据按*BLOB*存取,可跨数据库平台,与特定*GIS*平台结合紧密,应用灵活。<br/>
|
||
- 缺点:空间操作和处理无法在数据库内核中实现,数据模型较为复杂,扩展*SQL*比较困难,不易实现数据共享与互操作。<br/>
|
||
|
||
**扩展对象关系型数据库**<br/>
|
||
|
||
支持抽象的数据类型(*ADT*)及其相关操作的定义*;*用户利用这种能力可以增加空间数据类型及相关函数,从而将空间数据类型与函数就从中间件(空间数据引擎)转移到了数据库管理系统中,不必采用空间数据引擎的专用接口进行编程,而是使用增加了的空间数据类型和函数的标准扩展型*SQL*语言来操作空间数据。
|
||
|
||
- 优点:空间数据的管理与通用数据库系统融为一体,空间数据按对象存取,可在数据库内核中实现空间操作和处理,扩展*SQL*比较方便,较易实现数据共享与互操作。<br/>
|
||
- 缺点:实现难度大,压缩数据比较困难。<br/>
|
||
|
||
|
||
|
||
在标准的对象关系型数据库中,采用用户自定义数据类型(UDT)的SQL规范,对存储类型进行扩展,创建用于存储和表示地理要素的数据类型,在二维表中,使用单独的一列表示几何特征,如esri公司提供的支持多种数据库的ST_Geometry ,还有开源的PostgreSQL数据库空间数据的扩展模块PostGIS。它们都采用符合开放地理空间联盟 (OGC) 标准的结构化查询语言 (SQL) 来访问地理数据和数据库,提供空间数据类型、空间索引和空间函数。<br/>
|
||
|
||
|
||
|
||
## 参考文章
|
||
|
||
[1] PostGIS开启开源空间数据库的未来 https://blog.csdn.net/chinalog/article/details/6283596 |