PostGIS 3.1.0dev Manual

DEV (Fri 24 Jan 2020 09:56:17 PM UTC rev. 7a54134 )

The PostGIS Development Group

Abstract

PostGIS is an extension to the PostgreSQL object-relational database system which allows GIS (Geographic Information Systems) objects to be stored in the database. PostGIS includes support for GiST-based R-Tree spatial indexes, and functions for analysis and processing of GIS objects.

This is the manual for version 3.1.0dev

This work is licensed under a Creative Commons Attribution-Share Alike 3.0 License. Feel free to use this material any way you like, but we ask that you attribute credit to the PostGIS Project and wherever possible, a link back to http://postgis.net.


Table of Contents
1. Introduction
1.1. Project Steering Committee
1.2. Core Contributors Present
1.3. Core Contributors Past
1.4. Other Contributors
2. PostGIS Installation
2.1. Short Version
2.2. Compiling and Install from Source
2.2.1. Getting the Source
2.2.2. Install Requirements
2.2.3. Build configuration
2.2.4. Building
2.2.5. Building PostGIS Extensions and Deploying them
2.2.6. Testing
2.2.7. Installation
2.3. Installing and Using the address standardizer
2.3.1. Installing Regex::Assemble
2.4. Installing, Upgrading Tiger Geocoder and loading data
2.4.1. Tiger Geocoder Enabling your PostGIS database: Using Extension
2.4.2. Tiger Geocoder Enabling your PostGIS database: Not Using Extensions
2.4.3. Using Address Standardizer Extension with Tiger geocoder
2.4.4. Loading Tiger Data
2.4.5. Upgrading your Tiger Geocoder Install
2.5. Common Problems during installation
3. PostGIS Administration
3.1. Tuning your configuration for performance
3.1.1. Startup
3.1.2. Runtime
3.2. Configuring raster support
3.3. Creating spatial databases
3.3.1. Spatially enable database using EXTENSION
3.3.2. Spatially enable database without using EXTENSION (discouraged)
3.3.3. Create a spatially-enabled database from a template
3.4. Upgrading spatial databases
3.4.1. Soft upgrade
3.4.2. Hard upgrade
4. PostGIS Usage
4.1. Using PostGIS: Data Management and Queries
4.1.1. GIS Objects
4.1.2. PostGIS Geography Type
4.1.3. Using OpenGIS Standards
4.1.4. Loading GIS (Vector) Data
4.1.5. Retrieving GIS Data
4.1.6. Building Indexes
4.1.7. Complex Queries
4.2. Using PostGIS Geometry: Building Applications
4.2.1. Using MapServer
4.2.2. Java Clients (JDBC)
4.2.3. C Clients (libpq)
4.3. Raster Data Management, Queries, and Applications
4.3.1. Loading and Creating Rasters
4.3.2. Raster Catalogs
4.3.3. Building Custom Applications with PostGIS Raster
4.4. Topology
4.4.1. Topology Types
4.4.2. Topology Domains
4.4.3. Topology and TopoGeometry Management
4.4.4. Topology Constructors
4.4.5. Topology Editors
4.4.6. Topology Accessors
4.4.7. Topology Processing
4.4.8. TopoGeometry Constructors
4.4.9. TopoGeometry Editors
4.4.10. TopoGeometry Accessors
4.4.11. TopoGeometry Outputs
4.4.12. Topology Spatial Relationships
4.5. Address Standardizer
4.5.1. How the Parser Works
4.5.2. Address Standardizer Types
4.5.3. Address Standardizer Tables
4.5.4. Address Standardizer Functions
4.6. PostGIS Extras
4.6.1. Tiger Geocoder
4.7. Performance tips
4.7.1. Small tables of large geometries
4.7.2. CLUSTERing on geometry indices
4.7.3. Avoiding dimension conversion
5. PostGIS Reference
5.1. PostGIS Geometry/Geography/Box Data Types
5.2. Table Management Functions
5.3. Geometry Constructors
5.4. Geometry Accessors
5.5. Geometry Editors
5.6. Geometry Validation
5.7. Spatial Reference System Functions
5.8. Geometry Input
5.8.1. Well-Known Text (WKT)
5.8.2. Well-Known Binary (WKB)
5.8.3. Other Formats
5.9. Geometry Output
5.9.1. Well-Known Text (WKT)
5.9.2. Well-Known Binary (WKB)
5.9.3. Other Formats
5.10. Operators
5.10.1. Bounding Box Operators
5.10.2. Distance Operators
5.11. Spatial Relationships
5.11.1. Topological Relationships
5.11.2. Distance Relationships
5.12. Measurement Functions
5.13. Geometry Processing
5.14. Affine Transformations
5.15. Clustering Functions
5.16. Bounding Box Functions
5.17. Linear Referencing
5.18. Trajectory Functions
5.19. SFCGAL Functions
5.20. Long Transaction Support
5.21. Version Functions
5.22. Grand Unified Custom Variables (GUCs)
5.23. Troubleshooting Functions
6. Raster Reference
6.1. Raster Support Data types
6.2. Raster Management
6.3. Raster Constructors
6.4. Raster Accessors
6.5. Raster Band Accessors
6.6. Raster Pixel Accessors and Setters
6.7. Raster Editors
6.8. Raster Band Editors
6.9. Raster Band Statistics and Analytics
6.10. Raster Inputs
6.11. Raster Outputs
6.12. Raster Processing
6.12.1. Map Algebra
6.12.2. Built-in Map Algebra Callback Functions
6.12.3. DEM (Elevation)
6.12.4. Raster to Geometry
6.13. Raster Operators
6.14. Raster and Raster Band Spatial Relationships
6.15. Raster Tips
6.15.1. Out-DB Rasters
7. PostGIS Frequently Asked Questions
8. PostGIS Raster Frequently Asked Questions
9. PostGIS Special Functions Index
9.1. PostGIS Aggregate Functions
9.2. PostGIS Window Functions
9.3. PostGIS SQL-MM Compliant Functions
9.4. PostGIS Geography Support Functions
9.5. PostGIS Raster Support Functions
9.6. PostGIS Geometry / Geography / Raster Dump Functions
9.7. PostGIS Box Functions
9.8. PostGIS Functions that support 3D
9.9. PostGIS Curved Geometry Support Functions
9.10. PostGIS Polyhedral Surface Support Functions
9.11. PostGIS Function Support Matrix
9.12. New, Enhanced or changed PostGIS Functions
9.12.1. PostGIS Functions new or enhanced in 3.1
9.12.2. PostGIS Functions new or enhanced in 3.0
9.12.3. PostGIS Functions new or enhanced in 2.5
9.12.4. PostGIS Functions new or enhanced in 2.4
9.12.5. PostGIS Functions new or enhanced in 2.3
9.12.6. PostGIS Functions new or enhanced in 2.2
9.12.7. PostGIS functions breaking changes in 2.2
9.12.8. PostGIS Functions new or enhanced in 2.1
9.12.9. PostGIS functions breaking changes in 2.1
9.12.10. PostGIS Functions new, behavior changed, or enhanced in 2.0
9.12.11. PostGIS Functions changed behavior in 2.0
9.12.12. PostGIS Functions new, behavior changed, or enhanced in 1.5
9.12.13. PostGIS Functions new, behavior changed, or enhanced in 1.4
9.12.14. PostGIS Functions new in 1.3
10. Reporting Problems
10.1. Reporting Software Bugs
10.2. Reporting Documentation Issues
A. Appendix
A.1. Release 3.0.0
A.2. Release 3.0.0rc2
A.3. Release 3.0.0rc1
A.4. Release 3.0.0beta1
A.5. Release 3.0.0alpha4
A.6. Release 3.0.0alpha3
A.7. Release 3.0.0alpha2
A.8. Release 3.0.0alpha1
A.9. Release 2.5.0
A.10. Release 2.4.5
A.11. Release 2.4.4
A.12. Release 2.4.3
A.13. Release 2.4.2
A.14. Release 2.4.1
A.15. Release 2.4.0
A.16. Release 2.3.3
A.17. Release 2.3.2
A.18. Release 2.3.1
A.19. Release 2.3.0
A.20. Release 2.2.2
A.21. Release 2.2.1
A.22. Release 2.2.0
A.23. Release 2.1.8
A.24. Release 2.1.7
A.25. Release 2.1.6
A.26. Release 2.1.5
A.27. Release 2.1.4
A.28. Release 2.1.3
A.29. Release 2.1.2
A.30. Release 2.1.1
A.31. Release 2.1.0
A.32. Release 2.0.5
A.33. Release 2.0.4
A.34. Release 2.0.3
A.35. Release 2.0.2
A.36. Release 2.0.1
A.37. Release 2.0.0
A.38. Release 1.5.4
A.39. Release 1.5.3
A.40. Release 1.5.2
A.41. Release 1.5.1
A.42. Release 1.5.0
A.43. Release 1.4.0
A.44. Release 1.3.6
A.45. Release 1.3.5
A.46. Release 1.3.4
A.47. Release 1.3.3
A.48. Release 1.3.2
A.49. Release 1.3.1
A.50. Release 1.3.0
A.51. Release 1.2.1
A.52. Release 1.2.0
A.53. Release 1.1.6
A.54. Release 1.1.5
A.55. Release 1.1.4
A.56. Release 1.1.3
A.57. Release 1.1.2
A.58. Release 1.1.1
A.59. Release 1.1.0
A.60. Release 1.0.6
A.61. Release 1.0.5
A.62. Release 1.0.4
A.63. Release 1.0.3
A.64. Release 1.0.2
A.65. Release 1.0.1
A.66. Release 1.0.0
A.67. Release 1.0.0RC6
A.68. Release 1.0.0RC5
A.69. Release 1.0.0RC4
A.70. Release 1.0.0RC3
A.71. Release 1.0.0RC2
A.72. Release 1.0.0RC1