空间数据库与数据库

前言

数据库扩展相关,扫盲

正文

为了提高数据库管理系统(DBMS)对空间数据的管理能力,国内外较为流行的主要集中在“关系型数据库+空间数据引擎”、“扩展对象关系型数据库”两方面。

一、关系型数据库+空间数据引擎

  • 关系型数据库+空间数据引擎”通常是近年来由GIS厂商研发的一种中间件解决方案。用户将自己的空间数据交给独立于数据库之外的空间数据引擎,由空间数据引擎来组织空间数据在关系型数据库中的存储;当用户需要访问数据的时候,再通知空间数据引擎,有引擎从关系型数据库中取出数据,并转化为客户可以使用的方式。(中间件技术)
  • 因此,关系型数据库仅仅是存放空间数据的容器,而空间数据引擎则是空间数据进出该容器的转换通道。这类系统的典型代表有ESRI的ArcSDE和MapInfo的SpatialWare。其优点是,访问速度快,支持通用的关系数据库管理系统,空间数据按BLOB存取,可跨数据库平台,与特定GIS平台结合紧密,应用灵活。其缺点主要表现为,空间操作和处理无法在数据库内核中实现,数据模型较为复杂,扩展SQL比较困难,不易实现数据共享与互操作。

二、扩展对象关系型数据库管理系统

  • 扩展对象关系型数据库管理系统是由数据库厂商研发的管理空间数据一种解决方案。由于关系型数据库难以管理非结构化数据(也包括空间数据),数据库厂商借鉴面向对象技术,发展了对象关系型数据库管理系统。
  • 此系统支持抽象的数据类型(ADT)及其相关操作的定义;用户利用这种能力可以增加空间数据类型及相关函数,从而将空间数据类型与函数就从中间件(空间数据引擎)转移到了数据库管理系统中,客户也不必采用空间数据引擎的专用接口进行编程,而是使用增加了的空间数据类型和函数的标准扩展型SQL语言来操作空间数据
  • 目前开源空间信息软件领域最性能优秀的数据库软件当属PostgreSQL数据库,而构建在其上的空间对象扩展模块PostGIS则使得其成为一个真正的大型空间数据库。

三、空间谓词查询

  • 空间数据包括两大部分,分别是属性以及图形,比如北京这个点的空间数据其包含属性name,population,country,等,还包含图形,点的图形直接用(x,y)表示,普通属性使用数据库基本数据类型即可,而图形类型为geometrygeometry符合OGC联盟规范,它是一个父类,其包含子类有point、linestring、polygon等。geometry存储有二进制WKB(Well-Known Binary)和文本WKT(Well-Known Text)。
    关于空间查询,常见的空间谓词有cross、contain、adjacent、inside、buffer

  • 例子:在某个面层中查询长江流域人口大于50万的县或市
    layer(LayerName,LayerType,FID,Length,Area,Code,City,geom,Pop)

select city
from layer,river
where Pop>50 And geom CROSS (river.name='长江') 
  • 在某个点图层中找出编码为1000的建筑物周围500米内的所有建筑物
select FID
from layer
where type='建筑物' And geom Inside(select geom Buffer(500)
                                    from layer
                                    where code=1000 and type='建筑物') 

更多关于geometry:ST_Geometry

四、空间索引

要在空间数据库里快速地查找到所需要的空间信息,就需要为空间数据建立空间索引。索引数数据库中一种数据 快速查找的机制,通常是由关键字和存储地址组成。关键字标识数据记录,地址(指针)表示记录在数据库中的位置。索引就是一张关键字与地址的对照表。

所谓空间索引就是依据空间实体的位置和形状或空间实体之间的某种空间关系按照一定的顺序排列的一种数据结构。

常见的空间索引有:

  • 范围索引
  • 格网索引
  • 四叉树索引
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值