作为对象关系型数据库PostGreSQL的拓展模块,PostGIS可用于存储GIS数据,并提供了对基于GiST的R树索引支持、以及面向GIS对象的分析和处理相关的函数。
以下是PostGIS官网对其特征的介绍,
(1) 先看一下百度对PostGIS的介绍,从中可以了解到PostGIS提供的空间信息服务功能包括:
空间对象、空间索引、空间操作函数和空间操作符
(2)接着是对PostGIS特征的一些介绍,
总结为以下几点:
【1】支持所有的空间数据类:点(POINT)、线(LINESTRING)、多边形(POLYGON)、多点(MULTIPOINT)、多线(MULTILINESTRING)、多多边形(MULTIPOLYGON)和集合对象集(GEOMETRYCOLLECTION)等
【2】支持所有的对象表达方法:比如WKT和WKB。
【3】支持所有的数据存取和构造方法:
【4】提供了一些空间分析函数
【5】提供了对于元数据的支持
【6】可以用于检测空间对象之间的空间关系
【7】提供了空间操作符用于空间数据操作
(3)对PostGIS额外功能的介绍
①数据库坐标变换:几何类型可以通过Transform函数从一种投影系变换到另一种投影系中
②球体长度运算:存储在普通地理坐标系中的集合类型如果不进行坐标变换是无法进行程度运算的,OpenGIS所提供的坐标变换使得积累类型的程度计算变成可能。
③三维的几何类型:OpenGIS提供了对三维集合类型的支持,具体是利用输入的集合类型维数来决定输出的表现方式。例如,即便所有几何对象内部都以三维形式存储,纯粹的二维交叉点通常还是以二维的形式返回。此外,还提供几何对象在不同维度间转换的功能。
④空间聚集函数:空间聚集函数也是执行相同的操作,不过操作的对象是空间数据。例如聚集函数Extent返回一系列要素中的最大的包裹矩形框,如“SELECT EXTENT(GEOM) FROM ROADS”这条SQL语句的执行结果是返回ROADS这个数据表中所有的包裹矩形框。
⑤栅格数据类型:PostGIS通过一种新的数据类型片,提供对于大的栅格数据对象的存储。片由以下几个部分组成:包裹矩形框、SRID、类型和一个字节序列。通过将片的大小控制在数据库页值(32×32)以下,使得快速的随即访问变成可能。一般大的图片也是通过将其切成32×32像素的片然后再存储在数据库中的。
PostGIS 3.1.10开发手册共分为10个章节,涵盖了:PostGIS的安装、管理、使用、矢量数据处理、栅格数据处理、特殊函数、问题声明等内容,这些内容我们将在之后的文章中逐步深入探讨。