PostGIS
PostGIS 是一个开源程序,它为对象-关系型数据库PostgreSQL提供了存储空间地理数据的支持,使PostgreSQL成为了一个空间数据库,能够进行空间数据管理、数量测量与几何拓扑分析。PostGIS 实现了开放地理空间协会所提出的基本要素类(点、线、面、多点、多线、多面等)的SQL实现参考。
开发者 | Refractions Research, Paul Ramsey, Dave Blasby, Kevin Neufeld, Mark Cave-Ayland, Regina Obe, Sandro Santilli, Olivier Courtin, Nicklas Avén, Pierre Racine, Jeff Lounsbury, Chris Hodgson, Jorge Arévalo, Mateusz Loskot, Norman Vine, Carl Anderson, Ralph Mason, Klaus Foerster, Bruno Wolff III, Markus Schaber |
---|---|
首次发布 | 2005年4月19日 |
当前版本 | 3.1.2(2021年5月21日 | )
原始码库 | |
操作系统 | Linux、Windows, Mac OS X, POSIX 兼容系统 |
类型 | 地理资讯系统 |
许可协议 | GNU通用公共许可证 |
网站 | https://postgis.net/ |
特点
- 完整实现了基本要素标准之中的空间对象模型,如点、折线、多边形、多点、多折线、多多边形与几何集合。
- 通过调用提供GEOS之中的几何分析函数,实现了使用3x3Egenhofer matrix分析空间对象之间拓扑关系的运算,并遵循Simple Features定义,实现了一些常见的关系运算,如Intersect、Contain、Overlap等等。
- 实现了空间数量度量,能够计算几何体之间的距离、几何体的面积、周长等等。
- 通过调用提供GEOS之中的几何分析函数,实现了常见的GIS空间分析功能,如求交、求并、求差、缓冲区等等。
- 利用R树与GiST实现了空间索引,大大加快了正交查询的速度。
- 支持选择性索引,为空间与非空间的混合查询指定适当的查询策略,提高了搜索的效率。
- 目前,PostGIS仍不支持在数据库中存储栅格数据。然而目前PostGIS有一个名为PostGIS Raster(页面存档备份,存于互联网档案馆)的计划,正在实现在PostgreSQL中存储栅格数据,并实现矢量数据与栅格数据之间的无缝操作。该计划已经集成到PostGIS 2.0的版本中,目前正在开发中。
在Windows平台下,PostGIS提供了一个pgAdminII的插件,该插件能够把ESRI Shapefile格式的地理数据导入到PostGIS数据库之中。
PostGIS实现了一个基于轻量级的几何体实现,并提供了完善的索引,这大大减少了硬盘与内存的存储量。轻量级的几何体实现使伺服器能够把磁碟中更加大量的数据加载到内存之中,这大大加快了查询的性能。
PostGIS已经注册成为了OGC的Simple Features for SQL标准[1] 的其中一种实现。然而由于某些原因,OGC并未把PostGIS列为其一种“兼容”的实现。其原因包括PostGIS扩展了WKB与WKT格式来存储带有三维或四维坐标的几何体,该扩展并不符合OGC的最新定义。要了解OGS关于“兼容”的定义,请参见:What does "Compliant" mean?(页面存档备份,存于互联网档案馆).
用户
PostGIS是一个重要的GIS基础软件,因为目前它是为数不多的开源空间数据库存储方案之一。有许多著名的GIS软件都使用PostGIS作为数据库后端,其中包括:
- Cadcorp SIS
- Everest GIS
- Feature Manipulation Engine
- GeoMedia (通过第三方连接器)
- GeoServer
- GRASS GIS (GPL)
- gvSIG (GPL)
- Interoperability Extension from ESRI
- Ionic Red Spider
- Kosmo (GPL)
- Manifold System
- MapInfo Professional
- Mapnik (LGPL)
- MapDotNet Server
- MapServer (BSD)
- MapGuide (LGPL)
- MezoGIS
- OpenJUMP (GPL)
- Quantum GIS (GPL)
- TerraLib (LGPL)
- TerraView (GPL)
- uDig (LGPL)
- ArcGIS (通过ZigGIS, ArcSDE以及其他第三方连接器)
- CitySurf Globe
- 优步(Uber)
历史
PostGIS的第一个版本在2001年由Refractions Research以GNU通用公共许可证发行。在2005年的4月19日,PostGIS在经历了6个最终测试版本后,终于放出了第一个稳定版本。在2006年,PostGIS注册成为了OGC的“简单要素SQL实现”标准的一个实现。
PostGIS向PostgreSQL对象关系型数据库添加了地理对象支持。其结果是,PostGIS“空间启用”了PostgreSQL伺服器,允许其被用于地理资讯系统(GIS)的后台空间数据库,类似于ESRI的SDE或Oracle的空间扩展。
为化简Windows下PostGIS的安装,一些Windows安装器被创建,例如PostGIS Installer for Windows和PostGIS Windows Installer。
详细的历史请参见 http://www.refractions.net/products/postgis/history/(页面存档备份,存于互联网档案馆)
参见
- Well-known text与well-known binary,前者是一种用文本表示空间对象的注记方法,后者是一种用二进制流表示空间对象的存储方法。PostGIS使用这两种格式在数据库中存储空间对象。
参考
- ^ OGC Implementing Product Details. [2011-02-19]. (原始内容存档于2010-12-27).