PostGIS adds extra types (geometry, geography, raster and others) to the PostgreSQL database. It also adds functions, operators, and index enhancements that apply to these spatial types. These additonal functions, operators, index bindings and types augment the power of the core PostgreSQL DBMS, making it a fast, feature-plenty, and robust spatial database management system.
The PostGIS 2+ series provides:
PostGIS follows the Open Geospatial Consortium’s “Simple Features for SQL Specification ” and has been certified as compliant with the “Types and Functions” profile. PostGIS is open source software, released under the GNU General Public License.
A key step for using a spatial database or any database is loading and exporting data. There are several tools specifically designed for this. Most commonly used with PostGIS are listed below.
PostGIS packaged loader/dumper commandlines - shp2pgsql, pgsql2shp, raster2pgsql
PostGIS packaged loader/dumper GUI - shp2pgsql-gui (not packaged with all distributions - packaged with Windows stackbuilder and OpenGeo suite distributions)
Geospatial Data Abstraction Library (GDAL) - commandline tools and library set. It is a swiss army knife for working with spatial data. The various switches are hard to master, but well worth the effort. It is also incorporated in many proprietary and open source tools via it’s library bindings.
GeoKettle - Open source ETL workbench supports various formats including PostGIS , MySQL, Oracle, DB2 and SQL Server. Comes in community and commercial. Commercial includes support and maintenance.
Safe FME - Proprietary ETL workbench supporting most formats under the sun (including formats supported by GeoKettle + more).
PostGIS enjoys wide support from various third party open source and proprietary tools. The list below are common Open Source ones used in conjunction with PostGIS. The proprietary support list is huge and too many to itemize.
The tools in this desktop arena support most platforms (Unix/Linux, Windows, MacOS)
QGIS QT based supports many geospatial formats including PostGIS types and a favorite for PostGIS newbies and python developers. Most popular of desktop tools used with PostGIS with a nice python extension model.
OpenJump Java-based many geospatial formats including some PostGIS types. It’s a favorite of spatial database analysts.
uDig - Java-based many geospatial formats including some PostGIS types and several other spatial databases (Oracle, SQL Server, ArcSDE). Main focus is conforming to OpenGIS standards and nice cartography.
gvSig - Java based similar in functionality to QGIS.
TileMill - Most useful for building mapping tile images. Inspect, order, and layer your sources to build complex maps and export them as MBTiles, PDF, SVG. Builds on Mapnik. Uses CartoCss for styling. Can export CartoCSS stylesheets to Mapnik XML for server-side building tiles or with Mapnik directly. Refer to TileMill working with PostGIS for details about working with PostGIS data.
Most commonly used with PostGIS are listed below. Most also conform to OpenGIS Consortium (OGC) mapping standards. Below are some acronyms for standards supported:
Mapserver C-Based The first mapping server to support PostGIS and still one of the most popular. Best suited for developers who are not afraid of editing configuration files and don’t need a gooey hand-holding configuration editor. Can be used as a CGI or a plugin to various languages Python, PHP, .NET. Strong OGC WMS and WFS support. WFS-T support for PostGIS provided via TinyOWS .
GeoServer Java-based Similar functionality to Mapserver, with a web gui interface for creating map services. Caters more to newbies and Enterprise GIS folks used to working with things like ArcGIS Server. Supports OGC WMS, WFS, WFS-T
Deegree Java-based geospatial data management, including data access, visualization, discovery and security. Supports more OGC standards than most other mapping servers (WMS,WFS,WCS,WPS,WMTS).
QGIS Server Companion to QGIS desktop allows for publishing QGIS workspaces as web mapping services.
MapGuide Open Source web-based platform that enables users to quickly develop and deploy web mapping applications and geospatial web services. Comes with a Map Author GUI and support [WMS,WFS]. Data sources: any supported by AutoCad FDP (ESRI SHP, PostGIS, SQL Server, MySQL, ArcSDE), DWF, GDAL supported formats to name a few. Checkout their Gallery
pgRouting Extends PostGIS to support geospatial routing such as driving distance, shortest path distance, and traveling salesman which can take into consideration various costs such as speed and turn restrictions.
ogrfdw A PostgreSQL foreign data wrapper built on GDAL/OGR. Allows reading other spatial and non-spatial datasources as tables in PostgreSQL. Vector data gets translated to PostGIS geometry type
pgpointcloud A PostgreSQL extension and loader for storing Point Cloud data in PostgreSQL. Also includes extension for casting between point cloud data type and PostGIS geometry.