PostGIS (/ˈpstɪ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).

PostGIS
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 releaseApril 19, 2001 (2001-04-19)
Stable release
3.5.0[1] Edit this on Wikidata / 26 September 2024; 2 months ago (26 September 2024)
Repository
Operating systemLinux, Windows, Mac OS X, POSIX-compliant systems
TypeGeographic information system
LicenseGNU General Public License (version 2 or later)
Websitepostgis.net Edit this at Wikidata

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

edit

May 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 history (as of 29th September 2024)
Release First release Latest minor version Latest release
1.0 2005-04-19 Old version, no longer maintained: 1.0.6 2005-12-06[5]
1.1 2005-12-21 Old version, no longer maintained: 1.1.7 2007-01-31[4]
1.2 2006-12-08 Old version, no longer maintained: 1.2.1 2007-01-11[6]
1.3 2007-08-09 Old version, no longer maintained: 1.3.6 2009-05-06[7]
1.4 2009-07-24 Old version, no longer maintained: 1.4.2 2010-03-11[8]
1.5 2010-02-04 Old version, no longer maintained: 1.5.8 2012-11-15[9]
2.0 2012-04-03 Old version, no longer maintained: 2.0.7 2015-04-06[10]
2.1 2013-08-17 Old version, no longer maintained: 2.1.9 2017-09-19[11]
2.2 2015-10-07 Old version, no longer maintained: 2.2.8 2018-11-22[12]
2.3 2016-09-26 Old version, no longer maintained: 2.3.10 2019-08-11[13]
2.4 2017-09-30 Old version, no longer maintained: 2.4.10 2022-04-24[14]
2.5 2018-09-23 Old version, no longer maintained: 2.5.9 2022-11-12[15]
3.0 2019-10-20 Old version, yet still maintained: 3.0.9 2023-05-29[16]
3.1 2020-12-18 Old version, yet still maintained: 3.1.9 2023-05-29[16]
3.2 2021-12-18 Old version, yet still maintained: 3.2.5 2023-05-29[16]
3.3 2023-05-29 Old version, yet still maintained: 3.3.4 2023-07-28[17]
3.4 2023-08-15 Old version, yet still maintained: 3.4.3 2024-09-04[18]
3.5 2024-09-26 Current stable version: 3.5.0 2024-09-26[19]
Legend:
Old version, not maintained
Old version, still maintained
Latest version
Latest preview version
Future release

Users

edit

Many software products can use PostGIS as a database backend, including:

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
  1. ^ "PostGIS 3.5.0". 26 September 2024. Retrieved 1 October 2024.
  2. ^ "H.4. Extensions". 10 February 2022.
  3. ^ OGC Implementing Product Details Open Geospatial Consortium
  4. ^ a b PostGIS History
  5. ^ PostGIS 1.0.6 Released
  6. ^ PostGIS 1.2.1 Release
  7. ^ PostGIS 1.3.6 Release
  8. ^ PostGIS 1.4.2 Release
  9. ^ PostGIS 1.5.8 Released
  10. ^ PostGIS 2.0.7 and 2.1.7 Released
  11. ^ PostGIS 2.1.9 Released
  12. ^ PostGIS 2.2.8 EOL
  13. ^ PostGIS 3.0.0alpha4, 2.5.3, 2.4.8, 2.3.10 Released
  14. ^ PostGIS 2.4.10 Released
  15. ^ PostGIS 2.5.9 Released
  16. ^ a b c "PostGIS 3.3.3, 3.2.5, 3.1.9, 3.0.9 Patch Releases".
  17. ^ "PostGIS 3.3.4 Patch Release".
  18. ^ "PostGIS 3.4.3".
  19. ^ "PostGIS 3.5.0".
edit