PostGIS

为了提高DBMS对空间数据的管理能力,通常有两种解决方案:

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

代表是ESRI的ArcSDE和MapInfo的SpatialWare

2、扩展对象关系数据库

代表:Oracle的Oracel Spatial、IBM的DB2 Spatial Extender

PostgreSQL是目前开源空间信息软件领域性能比较好的数据库,构建在其上的空间对象扩展模块PostGIS使其成为一个真正的大型空间数据库。

PostGIS通过向PostgreSQL添加对空间数据类型、空间索引和空间函数的支持,将PostgreSQL数据库管理系统转换为空间数据库。

可以说PostGIS仅仅是PostgreSQL的一个插件,但是它将PostgreSQL变成一个强大的空间数据库。

空间索引和边界框(bounding box)

空间数据库提供了一个“空间索引 (spatial index)”,它回答了“哪些对象在这个特定的边界框内” 这个问题。

边框是平行于坐标轴且包含特定地理要素的最小矩阵。

PostGIS_第1张图片

索引必须快速执行才能起到理想的作用,因此,空间索引不像B树索引那样提供精确的结果,而是提供近似的结果。

“多边形内部包含哪些线段”将由空间索引解释为“这个多边形边界框内部包含哪些线段边界框?”

各种数据库实际实现的空间索引差异很大,最常见的实现是R-tree,但是其他空间数据库中也有基于四叉树和基于网格的索引 。

空间函数

空间函数中大部分可以归纳为以下五类:

(1)转换函数:在geometry和外部数据格式之间进行转换

(2)管理: 管理关于空间表和PostGIS组织的信息的函数

(3)检索:检索几何图形的属性和空间信息测量的函数

(4)比较:比较两种几何图形的空间关系的函数

(5)生成

 

你可能感兴趣的:(GIS/地理信息)