Chapter 1. What is a spatial database?
1.3. Introducing PostgreSQL and PostGIS
1.3.2. PostGIS, adding GIS to PostgreSQL
1.4. Getting started with PostGIS
1.5.1. Loading comma-separated data
1.6. Using spatial queries to analyze data
2.1. Geometry columns in PostGIS
Chapter 3. Organizing spatial data
3.1. Spatial storage approaches
3.1.1. Heterogeneous geometry columns
3.2.1. Modeling using a heterogeneous geometry column
4.1.1. Creating geometries from well-known text and well-known binary representations
4.2.1. Well-known text and well-known binary
4.2.2. Keyhole Markup Language
4.2.3. Geography Markup Language
4.2.4. Geometry JavaScript Object Notation
4.3. Accessor functions: getters and setters
4.3.1. Getting and setting spatial reference system
4.3.2. Transform to a different spatial reference
4.4.1. Planar measures for geometry types
4.5.4. Point marker for a geometry: centroid, point on surface, and nth point
Chapter 5. Relationships between geometries
5.1. Introducing spatial relationship functions
5.3. Specific intersection relationships
5.4. The remainder: ST_Difference and ST_SymDifference
5.5.1. Intersects with tolerance
5.6. Bounding box and geometry comparators
5.7. The many faces of equality
5.8. Underpinnings of relationship functions
5.8.1. The intersection matrix
Chapter 6. Spatial reference system considerations
6.1. Spatial reference system: What is it?
6.2. Selecting a spatial reference system to store data
6.2.1. Pros and cons of using EPSG:4326
6.2.2. Geography data type for EPSG:4326
6.3. Determining the spatial reference system of source data
Chapter 7. Working with real data
7.1. Tools for importing/exporting data
7.1.1. PostgreSQL built-in tools
7.1.3. OGR2OGR: all-purpose vector data loader
7.2.1. Getting and extracting compressed files
7.2.2. Using PostGIS and PostgreSQL tools to load data
7.3. Exporting data from PostGIS
Chapter 8. Techniques to solve spatial problems
8.1.1. Check for intersections and measuring distances
8.1.2. Convert to different units of measurement
8.2.1. Techniques for generating dummy data
8.2.2. Tag data to a specific region
8.3. Slicing and splicing linestrings
8.4. Slicing and splicing polygons
8.4.1. Create a single multipolygon from many multipolygon records
8.5. Translating, scaling, and rotating geometries
8.5.1. Move a geometry along X, Y, Z
9.2. Using explain to diagnose problems
9.4. Common SQL patterns and how they affect performance
9.5. System and function settings
9.6.1. Fixing invalid geometries
3. Using PostGIS with other tools
Chapter 10. Enhancing SQL with add-ons
10.1. Georeferencing with the TIGER geocoder
10.1.1. Installing the TIGER geocoder
10.2. Solving network routing problems with pgRouting
10.3. Extending PostgreSQL power with PLs
10.4. Graphing and accessing spatial analysis libraries with PL/R
10.4.1. Getting started with PL/R
10.4.2. Saving datasets and plotting
10.4.3. Using R packages in PL/R
Chapter 11. Using PostGIS in web applications
11.4. Basics of OpenLayers and GeoExt
11.5. Displaying data with server-side web scripting
11.5.1. Using PostGIS output functions with PHP
11.5.2. Displaying data in Google Earth
Chapter 12. Using PostGIS in a desktop environment
12.3.2. Adding a PostGIS connection
12.3.3. Viewing and filtering PostGIS data
12.3.4. Connecting with other spatial databases
12.4.2. Connecting to PostGIS and other spatial databases
13.1.1. What is raster data and how is it different from vector data?
13.2. Storing and loading raster data
13.3. Raster maintenance tables and functions
13.3.1. raster_columns metadata table
13.5. Combining raster processing with vector processing
13.5.1. Pixel value getters and setters
13.6. Exporting raster data into other raster formats
13.6.1. Gdal_translate basics to convert to other formats
13.6.2. Using gdalwarp to transform from one spatial ref to another
13.7. Viewing raster data with MapServer
13.8. The future of PostGIS raster support
13.8.1. Input/output functionality
Appendix A. Additional resources
PostGIS-focused tutorials and sites
Noteworthy PostGIS blogs and sites
Noteworthy R, PL/R sites, and newsgroups
pgRouting installation and examples
Open source tools and offerings
Installers and self-contained suites that include/work with PostGIS
Proprietary tools that support PostGIS
Places to get free vector data
Appendix B. Installing, compiling, and upgrading
Installing PostgreSQL and PostGIS
Desktop Linux, Windows, Mac OS X using one-click installers
Installing on Linux server (Red Hat EL, CentOS) using YUM
Mac OS X–specific installers
Creating template_postgis under PostGIS 1.3.x
Creating template_postgis under PostGIS 1.4,1.5+
Upgrading database from 1.3.x to 1.3.x+
Querying data with Structured Query Language
Appendix D. PostgreSQL features
Connecting to a PostgreSQL server
52.15.42.128