
What this book covers
Chapter 1, Moving Data In and Out of PostGIS, covers the processes available for importing and exporting spatial and nonspatial data to and from PostGIS. These processes include the use of utilities provided by PostGIS and third parties, such as GDAL/OGR.
Chapter 2, Structures that Work, discusses how to organize PostGIS data using mechanisms available through PostgreSQL. These mechanisms are used to normalize potentially unclean and unstructured import data.
Chapter 3, Working with Vector Data – The Basics, introduces PostGIS operations commonly done on vectors, known as geometries and geographies in PostGIS. Operations covered include the processing of invalid geometries, determining relationships between geometries, and simplifying complex geometries.
Chapter 4, Working with Vector Data – Advanced Recipes, dives into advanced topics for analyzing geometries. You will learn how to make use of KNN filters to increase the performance of proximity queries, create polygons from LiDAR data, and compute Voronoi cells usable in neighborhood analyses.
Chapter 5, Working with Raster Data, presents a realistic workflow for operating on rasters in PostGIS. You will learn how to import a raster, modify the raster, conduct analysis on the raster, and export the raster in standard raster formats.
Chapter 6, Working with pgRouting, introduces the pgRouting extension that brings graph traversal and analysis capabilities to PostGIS. The recipes in this chapter answer the real-world questions of conditionally navigating from point A to point B and accurately modeling complex routes, such as waterways.
Chapter 7, Into the Nth Dimension, covers tools and techniques used to process and analyze multi-dimensional spatial data in PostGIS, including LiDAR-sourced point cloud. Topics covered include the loading of point clouds into PostGIS, creating 2.5D and 3D geometries from point clouds, and the application of several photogrammetry principles.
Chapter 8, PostGIS Programming, shows how to use the Python language to write applications that operate on and interact with PostGIS. The applications written include methods to read and write external datasets to and from PostGIS, as well as a basic geocoding engine using OpenStreetMap datasets.
Chapter 9, PostGIS and the Web, presents the use of OGC and REST web services to deliver PostGIS data and services to the Web. This chapter discusses providing OGC WFS and WMS services with MapServer and GeoServer and consuming them from clients such as OpenLayers and Leaflet. It then shows how to build a web application with GeoDjango.
Chapter 10, Maintenance, Optimization, and Performance Tuning, takes a step back from PostGIS and focuses on the capabilities of the PostgreSQL database server. By leveraging the tools provided by PostgreSQL, you can ensure the long-term viability of your spatial and nonspatial data and maximize the performance of various PostGIS operations.
Chapter 11, Using Desktop Clients, shows how spatial data in PostGIS can be consumed and manipulated by various open source desktop GIS applications. Several applications are discussed so as to highlight the different approaches to interact with spatial data and help you find the right tool for the task.