meface/docs/article/db/index.md

40 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
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