PostGIS (/ˈpoʊstdʒɪs/ POST-jis) is an open source software program that adds support for geographic objects to the PostgreSQL object-relational database. PostGIS follows the Simple Features for SQL specification from the Open Geospatial Consortium (OGC).
Developer(s) | Refractions Research, Paul Ramsey, Dave Blasby, Mark Cave-Ayland, Regina Obe, Sandro Santilli, Olivier Courtin, Nicklas Avén, Bborie Park, Pierre Racine, Daniel Baston, Darafei Praliaskouski, Raúl Marín Rodríguez, Kevin Neufeld, Jeff Lounsbury, Chris Hodgson, Jorge Arévalo, Mateusz Loskot, Norman Vine, Carl Anderson, Ralph Mason, Klaus Foerster, Bruno Wolff III, Markus Schaber |
---|---|
Initial release | April 19, 2001 |
Stable release | 3.5.0[1]
/ 26 September 2024 |
Repository | |
Operating system | Linux, Windows, Mac OS X, POSIX-compliant systems |
Type | Geographic information system |
License | GNU General Public License (version 2 or later) |
Website | postgis |
PostGIS is implemented as a PostgreSQL external extension.[2]
Features
edit- Geometry types for Points, LineStrings, Polygons, MultiPoints, MultiLineStrings, MultiPolygons, GeometryCollections, 3D types TINS and polyhedral surfaces, including solids.
- Spheroidal types under the geography datatype Points, LineStrings, Polygons, MultiPoints, MultiLineStrings, MultiPolygons and GeometryCollections.
- raster type - supports various pixel types and more than 1000 bands per raster. Since PostGIS 3, is a separate PostgreSQL extension called postgis_raster.
- SQL/MM Topology support - via PostgreSQL extension postgis_topology.
- Spatial predicates for determining the interactions of geometries using the 3x3 DE-9IM (provided by the GEOS software library).
- Spatial operators for determining geospatial measurements like area, distance, length and perimeter.
- Spatial operators for determining geospatial set operations, like union, difference, symmetric difference and buffers (provided by GEOS).
- R-tree-over-GiST (Generalized Search Tree) spatial indexes for high speed spatial querying.
- Index selectivity support, to provide high performance query plans for mixed spatial/non-spatial queries.
The PostGIS implementation is based on "light-weight" geometries and indexes optimized to reduce disk and memory footprint. Using light-weight geometries helps servers increase the amount of data migrated up from physical disk storage into RAM, improving query performance substantially.
PostGIS is registered as "implements the specified standard" for "Simple Features for SQL" by the OGC.[3] PostGIS has not been certified as compliant by the OGC.
History
editMay of 2001, at that point I was running a small consulting company here in Victoria, working for the provincial government, mostly working in the geospatial field. Because all of our contracts came from the provincial government, we were very tied to the cycle of when they would release and sign contracts. And the government changed that year, so all the civil servants were very risk averse in terms of signing new contract contracts. They didn't know whether what their budget situation was going to be that year.
So we ended up having like three months where we got almost no direct revenue. We, you know, didn't all go on vacation for three months. We were kind of young, excited about the field. So we thought, you know, let's see if we can build something to store the spatial data in a database. And we had used Postgres for one of our data processing projects the year previous, so we were kind of familiar with it. And that experimental work in the spring of 2001 ended up being released at the end of May 2001 as PostGIS version 0.1.— Paul Ramsey (September 8, 2023) "Why people care about PostGIS and Postgres" Path To Citus Con
Refractions Research released the first version of PostGIS in 2001 under the GNU General Public License. After six release candidates, a stable "1.0" version followed on April 19, 2005.
In 2006 the OGC registered PostGIS as "implement[ing] the specified standard" for "Simple Features for SQL".[4]
Release | First release | Latest minor version | Latest release |
---|---|---|---|
1.0 | 2005-04-19 | 1.0.6 | 2005-12-06[5] |
1.1 | 2005-12-21 | 1.1.7 | 2007-01-31[4] |
1.2 | 2006-12-08 | 1.2.1 | 2007-01-11[6] |
1.3 | 2007-08-09 | 1.3.6 | 2009-05-06[7] |
1.4 | 2009-07-24 | 1.4.2 | 2010-03-11[8] |
1.5 | 2010-02-04 | 1.5.8 | 2012-11-15[9] |
2.0 | 2012-04-03 | 2.0.7 | 2015-04-06[10] |
2.1 | 2013-08-17 | 2.1.9 | 2017-09-19[11] |
2.2 | 2015-10-07 | 2.2.8 | 2018-11-22[12] |
2.3 | 2016-09-26 | 2.3.10 | 2019-08-11[13] |
2.4 | 2017-09-30 | 2.4.10 | 2022-04-24[14] |
2.5 | 2018-09-23 | 2.5.9 | 2022-11-12[15] |
3.0 | 2019-10-20 | 3.0.9 | 2023-05-29[16] |
3.1 | 2020-12-18 | 3.1.9 | 2023-05-29[16] |
3.2 | 2021-12-18 | 3.2.5 | 2023-05-29[16] |
3.3 | 2023-05-29 | 3.3.4 | 2023-07-28[17] |
3.4 | 2023-08-15 | 3.4.3 | 2024-09-04[18] |
3.5 | 2024-09-26 | 3.5.0 | 2024-09-26[19] |
Users
editMany software products can use PostGIS as a database backend, including:
- ArcGIS (via GISquirrel, ST-Links SpatialKit, ZigGIS, ArcSDE and other third-party connectors)
- Cadcorp SIS
- Carto
- CockroachDB
- GeoMedia (via third-party connectors)
- GeoServer (GPL)
- GeoNetwork (GPL)
- GRASS GIS (GPL)
- gvSIG (GPL)
- Kosmo (GPL)
- Manifold System
- MapInfo Professional
- Mapnik (LGPL)
- MapServer (BSD)
- Maptitude
- MapGuide (LGPL)
- OpenJUMP (GPL)
- OpenStreetMap
- QGIS (GPL)
- SAGA GIS (GPL)
- TerraLib (LGPL)
- TerraView (GPL)
- uDig (LGPL)
See also
edit- Well-known text and binary, descriptions of geospatial objects used within PostGIS
- DE-9IM, the Dimensionally Extended nine-Intersection Model used by PostGIS
References
edit- ^ "PostGIS 3.5.0". 26 September 2024. Retrieved 1 October 2024.
- ^ "H.4. Extensions". 10 February 2022.
- ^ OGC Implementing Product Details Open Geospatial Consortium
- ^ a b PostGIS History
- ^ PostGIS 1.0.6 Released
- ^ PostGIS 1.2.1 Release
- ^ PostGIS 1.3.6 Release
- ^ PostGIS 1.4.2 Release
- ^ PostGIS 1.5.8 Released
- ^ PostGIS 2.0.7 and 2.1.7 Released
- ^ PostGIS 2.1.9 Released
- ^ PostGIS 2.2.8 EOL
- ^ PostGIS 3.0.0alpha4, 2.5.3, 2.4.8, 2.3.10 Released
- ^ PostGIS 2.4.10 Released
- ^ PostGIS 2.5.9 Released
- ^ a b c "PostGIS 3.3.3, 3.2.5, 3.1.9, 3.0.9 Patch Releases".
- ^ "PostGIS 3.3.4 Patch Release".
- ^ "PostGIS 3.4.3".
- ^ "PostGIS 3.5.0".