First congrats for the book, it looks nice and timely hit the market.
What is PostGIS? a custom data type? does a connection exist between PostGIS and the data the we can get from GPS devices?
If I've understood correctly, PostGIS is composed of several pieces that integrate with the PostgreSQL database: A language, a couple of extra tables, and lots of custom functions.
GPS data generally comes in the form of lon/lat coordinates. This is just one form of spatial data that PostGIS can handle. You specify which type of coordinates you're working with in the form of an SRID (Spatial Reference System Identifier). So if you provide the correct SRID to your function, then you can work directly with GPS data.
John Todd wrote:So it is PostgreSQL specific? can't be used with SQLite, MySQL or any other RDMBS?
PostGIS is specifically for PostgreSQL. It extends PostreSQL data types and indexing mechanisms, and provides a lot of spatial functions that can be used within SQL (or procedural PGPLSQL) to perform spatial operations within the database. It is widely used, very powerful and flexible, and it's free, as is the immensely powerful, flexible and equally free PostgreSQL database. What's not to like?
Other RDBMS platforms may have their own equivalents e.g Oracle RDBMS offers the optional Spatial add-on, which similarly adds spatial data types, indexing and functions. Oracle Spatial and PostGIS seem to have the longest history of providing comprehensive spatial support, but other RDBMS platforms have been introducing some spatial support in recent years e.g. SQLServer, MySQL and SQLite, although these generally offer less comprehensive spatial functionality.
It's worth bearing in mind that spatial data is not just a bunch of X/Y coordinates to use when plotting points on your Google Maps. As Katrina points out, geographic coordinates have their own spatial reference systems, so you often need to be able to convert between these, and of course indexing and manipulation of spatial data types (point, lines, polygons) is considerably more complicated than with scalar data types, and there are all kinds of spatial operations that can be performed on spatial data. So these spatial database tools are incredibly useful if you are doing any kind of serious work with significant volumes of spatial data, and can provide a powerful standard platform on which to build your own spatially aware applications.
Check out the following books for a rapid introduction to open source GIS: