PostGIS
来自Wiki.Citydatum
PostGIS是对象关系型数据库系统PostgreSQL的一个扩展,PostGIS遵循OpenGIS的规范,提供空间对象、空间索引、空间操作函数、空间操作符等空间信息服务功能。PostGIS的版权被纳入到GNU的GPL中,任何人可以自由得到PostGIS源码并对其做研究和改进。
概述
特性
- 支持所有的空间数据类型,包括:点(POINT)、线(LINESTRING)、多边形(POLYGON)、多点(MULTIPOINT)、多线(MULTILINESTRING)、多多边形(MULTIPOLYGON)和集合对象集(GEOMETRYCOLLECTION)等;
- 提供多种类型的空间对象存储:对于空间矢量数据,Geometry使用笛卡尔坐标系,Geography使用球面坐标系(默认是WGS84坐标系);对于空间栅格数据,提供Raster类型;
- 支持所有的对象表达方法,如:WKT和WKB;
- 支持所有的数据存取和构造方法,如:GeomFromText()、AsBinary(),以及GeometryN()等;
- 提供简单的空间分析函数,如:Area、Length;
- 提供一些具有复杂分析功能的函数,如:Distance;
- 提供对于元数据的支持,如:GEOMETRY_COLUMNS、SPATIAL_REF_SYS;
- 提供对于元数据的支持函数,如:AddGeometryColumn、DropGeometryColumn;
- 提供一系列的二元谓词,用于检测空间对象之间的空间关系,同时返回布尔值来表征对象之间符合这个关系,如:Contains、Within、Overlaps、Touches;
- 提供用于空间数据操作的空间操作符,如:Union(融合多边形之间的边界。两个交迭的多边形通过Union运算形成一个新的多边形,这个新的多边形的边界为两个多边形中最大边界)、Difference;
软件支持
许多GIS软件都支持将PostGIS作为后台数据库,包括:
- ArcGIS (通过GISquirrel, ST-Links SpatialKit, ZigGIS, ArcSDE,arcgis-ogr或其他第三方连接插件)
- Cadcorp SIS
- CartoDB
- CitySurf Globe
- GeoMedia (需要安装第三方连接插件)
- GeoServer
- GeoNetwork
- GRASS GIS (GPL)
- gvSIG (GPL)
- Kosmo (GPL)
- Manifold System
- MapInfo Professional
- Mapnik (LGPL)
- MapServer (BSD)
- MapGuide (LGPL)
- OpenJUMP (GPL)
- QGIS (GPL)
- SAGA GIS (GPL)
- TerraLib (LGPL)
- TerraView (GPL)
- uDig (LGPL)
应用
上手
- 安装PostGIS;
- 在每个需要使用它的数据库中激活插件;
CREATE EXTENSION postgis; -- 栅格数据支持 — CREATE EXTENSION postgis_raster; -- 拓扑支持 — CREATE EXTENSION postgis_topology; -- SFCGAL支持(可处理三维数据) — CREATE EXTENSION postgis_sfcgal; -- Tiger地理编码支持 — CREATE EXTENSION fuzzystrmatch; CREATE EXTENSION postgis_tiger_geocoder; -- PCRE支持,地址标准化插件 -- CREATE EXTENSION address_standardizer;