PostGIS

来自Wiki.Citydatum
Reiziuh讨论 | 贡献2019年11月13日 (三) 03:48的版本
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索
TODO
提示:该页面仍需进一步完善,欢迎加入我们


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;

参考链接