[postgis-devel] Upcoming Book: PostGIS in Action

Paragon Corporation lr at pcorp.us
Fri May 8 15:40:40 PDT 2009


Several months ago we asked  you about the value of a PostGIS book and if
you would buy such a thing.  We got a lot of favorable comments and
suggestions.  We think our success in getting a book contract was in large
part because of this.  We thank you very much for your heart-warming
support.

Needless to say we got a couple of contract offers a couple of months ago
and settled on Manning.  We liked the fact that they had pre-book sales and
also allowed readers to provide input into what they would like to see in
the book.  Now that our book has reached Pre-Book sale status and is now
listed on the Manning site, we can celebrate a little and announce its
existence.

The book detail summary is not in place yet, but you can download the first
chapter for free and order now if you want.  

http://www.manning.com/obe

Ordering early allows you to get the chapters as they are written and get
the final e-Book/Hardcopy.  We have an estimated Hard-Copy completion of
around January/February 2010 and the full ebook copy should be available
about 2 months before that.

The book will cover both basic concepts as well as advanced.

Things that will be covered (we have chapters 1,2,3 already written but
nothing is set in stone until it hits hard-copy),  so feel free to voice any
ideas you have on our author blog.

Below are the following chapters we have planned (or done)

1) What spatial databases do in general, which ones exist, and OGC
terminology
2) What geometry types PostGIS supports and how well it supports each with
some simple exercises of creating each type.  Here we cover 2d, 3d, 3dm
basic geometry types and curved geometries
3) Data modeling -- This chapter starts by going over some basic storage
models -- using schemas, do you use table inheritance, have untyped or
specific typed geometry column, separate tables, separate columns, use srids
or not and so forth as well as pros and cons of each.  It then concludes
with simple exercises demonstrating these different storage approaches.  
4) Working with geometries -- this covers key geometry properties and
concepts -- such as what a spatial reference system is and kinds out there,
other key geometry properties and functions that take one geometry.  It will
conclude with business case uses for these.
5) Deals mostly with relation operations and functions that take more than
one geometry as input (pretty much a companion to chapter 4)
6) This chapter covers combining what was learned in 4 and 5 to create more
sophisticated queries.  It will show things such as clipping geometries,
splitting geometries with lines, combining spatial aggregates with sql
aggregates, generating a farm of test data.
7) working with real data -- we go in depth into how to load data with
shp2pgsql and OGR2OGR.  Tricks for determining the spatial reference system
of a data source when there is or is no meta data.  Also exporting to
various different data sources.

8) Speeding up queries -- demonstrates how to write optimal SQL statements
as well as somewhat hackish statements to force the PostgreSQL planner to
follow a more optimal plan.  How to use explain and graphical explain to
determine where the bottlenecks in your queries are. Choosing the right
indexes (spatial and btree, compound vs. non-compound).  Key PostgreSQL
settings.

--Part 2: 
9) This covers specific use cases -- how to fix different kinds of invalid
geometries, various proximity analysis/nearest neighbor exercises, using
buffers, linear referencing. I think we have about 25 exercises planned out.

10) PostGIS add-ons and ancillary tools -- planned here are Tiger Geocoder,
PgRouting, PLPython, PLR
11) Using PostGIS in web applications -- planned here UMN Mapserver,
GeoServer, SharpMap, OpenLayers, (maybe Web Feature Server)
12) Using PostGIS in desktop environment -- here we plan to do some quick
exercises using -- OpenJump, QuantumGIS, uDig, GvSig
13) WKT Raster -- new work going on here -- we'll cover difference between
raster and vector data, installing WKT Raster, loading raster data, raster
/vector overlays, analysis of color bands

The Appendixes
Appendix A:  Additional Resources
We'll have listings of useful blogs and sites for more tips and tricks,
places to get data etc.

Appendix B: Installation, Upgrade
We'll provide resources where you can get binaries for PostGIS
How to PostGIS enable a new db
How to upgrade from one version to another (both soft and hard and the lazy
hard)

Appendix C: SQL Primer
Basic SQL stuff that is pretty standard in most relational databases
Different join types (INNER, LEFT, RIGHT, EXCEPT, UNION [ALL]  with cute
diagrams of each), Aggregates, recursive queries and common table
expressions (new in PostgreSQL 8.4 but supported in other high-end dbs --
SQL server, IBM, Oracle), Windowing queries
Doing inserts, updates, cross table updates

Appendix D: PostgreSQL Specific Features
Things that are somewhat unique to PostgreSQL -- such as how to create
custom aggregates, arrays as data types, rules, triggers, sql and plpgsql
function primer. 

Thanks for your support,
Leo and Regina









More information about the postgis-devel mailing list