Saturday, March 21, 2015

Books about Open Source Geospatial Software --- Suddenly They're Everywhere!

16 months have passed since I last posted on this blog!  At that time, I was happy that Anita Graser, our QGIS heroine from Austria, had just published her QGIS 2.0 book.  There are at least nine (9!) QGIS books commercially available now (or within a couple of months), including Ms Graser's second edition book. QGIS itself is now at version 2.8 for the general release version, thanks to their new accelerated release schedule.  Thank you, open source geospatial community folks!

In this blog, I thought I'd give you a listing of how-to books about open source geospatial software I recently found.  These include books on QGIS, PostGIS (spatial objects extender for the open source PostgreSQL database), GeoServer (a super-duper server for sharing geospatial data), and web mapping clients like OpenLayers and LeafletPackt Publishing and Locate Press lead the way, with e-book centered Leanpub getting into the act recently.  Packt also carries books on OpenStreetMap, Google Maps API, and Bing Maps API, although the last two are not open source projects.  Here's what I found so far — I haven't looked at them all, far from it, so I present this list without comment:


Title Author(s) Link
Learning QGIS 2.0 Anita Graser Click here
Learning QGIS, 2nd Edition Anita Graser Click here
Building Mapping Applications with QGIS Erik Westra Click here
Mastering QGIS Kurt Menke, Richard Smith, John Van Hoesen, Luigi Pirelli Click here
QGIS 2 Cookbook Alex Mandel, Anita Graser, Victor Olaya Click here
Getting Started With GIS Using QGIS McCartney Taylor, Nik Freeman Click here
The QGIS Training Manual Rüdiger Thiede, Tim Sutton, Horst Düster, Marcelle Sutton Click here
QGIS Python Programming Cookbook Joel Lawhead Click here
The PyQGIS Programmer's Guide Gary Sherman Click here


Title Author(s) Link
GeoServer Beginner’s Guide Stefano Iacovella, Brian Youngblood Click here
Mastering GeoServer Colin Henderson Click here
GeoServer Cookbook Stefano Iacovella Click here


Title Author(s) Link
PostGIS in Action Regina Obe, Leo Hsu Click here
PostGIS in Action, Second Edition Regina Obe, Leo Hsu Click here
PostGIS Essentials Angel Marquez Click here
PostGIS Cookbook Paolo Corti, Stephen Vincent Mather, Thomas J Kraft, Bborie Park Click here


Title Author(s) Link
OpenLayers 2.10 Beginner's Guide Erik Hazzard Click here
OpenLayers 3: Beginner's Guide Thomas Gratier, Paul Spencer, Erik Hazzard Click here
Instant OpenLayers Starter Alessio Di Lorenzo, Giovanni Allegri Click here
OpenLayers Cookbook Antonio Santiago Perez Click here
The Book of OpenLayers 3 Antonio Santiago Click here


Title Author(s) Link
Instant Interactive Map designs with Leaflet JavaScript Library How-to Jonathan Derrough Click here
Leaflet.js Essentials Paul Crickard III Click here
Leaflet Tips and Tricks Malcolm Maclean Click here
Mapping with Leaflet.js Seth Vincent Click here


Title Author(s) Link
Learning D3.js Mapping Thomas Newton, Oscar Villarreal Click here

Saturday, November 16, 2013

Learning QGIS 2.0

Some of us learn software sitting down with a book in front of a PC.  Others learn by trial-and-error, working things out in front of a PC with occasional references to on-line documentation.  I'm of the former persuasion, probably because I'm an old geezer.

So I happily inform you that we finally we have a book for learning the latest version of QGIS:  Learning QGIS 2.0.  Published in September 2013 by Packt Publishing, the author is Anita Graser of the "Free and Open Source GIS Ramblings" blog fame.  She is a QGIS developer, as well as a prolific contributer of QGIS related tutorials and blog articles.

You can order it directly from the publisher, or from resellers like  Buying from the publisher gives you a choice of buying the print version or the electronic versions, or both.  At this point, Amazon, while offering a lower price for the print edition, doesn't give you the option of buying the various electronic versions of the book.

For other open source GIS and QGIS learning materials, check out Locate Press as well as the QGIS resource page in my Open Source Township GIS website.  Happy Learning!

Friday, June 21, 2013

Making Simple Interactive Maps with the New Google Maps Engine Lite

My next two blogs in this series will be on making simple interactive web maps, one with the new Google Maps Engine Lite, and the other with Mango Map.  Neither one requires you to do any JavaScript coding.  They're really easy!

A sample of a simple web map made using Google Maps Engine Lite is shown below:

Tuesday, December 11, 2012

Using A GIS Layer with Google Fusion Tables:
The 2012 Acme Parcel Map

In creating web map applications, I usually try to use Open Source tools such as QGIS for creating the GIS layers and Open Layers to render the map on the browser screen.  As often as not, though, I use not-quite-public-domain layers like Google satellite or street map images as the basemap layer.

Recently, Google released to the public the (limited) use of its cloud-based database service called Google Fusion Tables.  It lets you store tabular data (with or without geometry), query the data, and plot the data on a Google Maps layer if your table has appropriate coordinate geometry information.  In fact, it's probably one of the easiest ways of creating a webmap if you have some GIS layers you want to display on-line!

(Fusion tables can import KML files using one of its built-in functions, or you can have it import a shapefile using the website  Your fusion table is stored in your cloud-based Google Drive.)

In creating the most recent iteration of the Acme Township web-based parcel data map, I thought I'd combine an Acme Township parcel layer (a KML file zipped to a KMZ file) on Google Maps with the parcel ownership and tax status data (from the Assessor's database) that is stored as a table in Google Fusion Tables.  The map is at

It works like this when you call up the URL:
  • A KML layer containing the Acme Township parcel boundaries is overlaid on a Google hybrid satellite image.  The advantage of using the hybrid image is that street names are automatically rendered on the map as you pan and zoom around the township.
  • In addition to the coordinates of the parcels, the KMZ layer only contains one attribute for each parcel: the parcel ID number (PIN).  This minimizes the size of the KMZ file.
  • After you pan and zoom to find the parcel of interest, you click somewhere in the parcel to get the data you want.  When you click on a parcel,
    1. The app extracts the PIN from the parcel that was clicked, and sends the PIN to Google Fusion Tables;
    2. Google Fusion Tables takes the PIN and finds the parcel record that contains the PIN.
    3. Fusion Tables sends back the parcel record as a JSON-formatted text file, which the app receives, parses and then displays on the side panel.
    Parsing the parcel record that's sent back from Google Fusion Tables required some thought, but thanks to examples from Google, I was able to figure it out after some trial-and-error.
My thanks to the fantastic Acme Township staff for providing the data that made this possible!

Thursday, April 19, 2012

Visualizing Acme Township's Annual Phragmites Surveys

Acme Township has been commissioning annual surveys for invasive phragmites stands along its Grand Traverse Bay shoreline since 2009.  The results of these surveys are used to determine the scope of each year's eradication program.  The first survey in 2009 was carried out by Derek Walton, a biologist and summer intern working for the township.  Specially trained township resident volunteers carried out the second survey in 2010.  The Watershed Center Grand Traverse Bay carried out the 2011 survey, and is expected to carry out the 2012 survey as well.

Acme Phragmites Surveys web mapEach year, the survey recorded the location of each observed phragmites stand using a portable GPS (global positioning system) unit, together with any relevant metadata for the observation.  The data were then converted to GIS shapefile format to create phragmites location maps for use by the spraying contractor.

I used the three years of available survey data to make a simple interactive web map showing the location of each year's observed phragmites stands.  You can view the map with your browser at:

Hence the phragmites GIS data can serve a dual purpose.  When collected each summer, the data are used immediately for planning the season's eradication campaign.  When used together with other years' data, the data can serve as part of a monitoring and evaluation process, helping to formulate and evaluate key performance indicators for the long-term effort.

This particular map was created using Google Maps API v3.  Each year's phragmites data comprises a separate KML file overlaid onto a Google Satellite View basemap, as does the township outline polygon.  The township 2010 parcel polygons are a Google Fusion Tables layer.  Aren't web maps cool?

Sunday, April 8, 2012

Open Source GIS Book Updated ... (yaay!)

There have been precious few books in print that have updated information on how to do GIS using open source software.  One reason for this is the incredibly fast rate at which popular open source GIS packages have been updated.  For example, even as mainstream users fire up QGIS 1.7.4 to do their GIS work, the hard-working members of the world-wide network of developers are working on QGIS 1.9.90 build 110 (as of today).  It's entirely possible that the next major upgrade to QGIS will be version 2.0, skipping public releases of versions 1.8 and 1.9 !!!

(What?  You're not using QGIS 1.7.4?  Go here immediately!)

Geospatial Desktop cover
Last month, a new publisher called Locate Press published a book called The Geospatial Desktop: Open Source GIS & Mapping.  This book is an update of an out-of-print 2008 book called Desktop GIS: Mapping the Planet with Open Source Tools.  It uses more modern versions of open source tools, including QGIS, to teach readers the rudiments of GIS.  It is available from in softcover print (US $50) and kindle (US $29) versions.

I liked the original book, so I will probably be purchasing the Kindle version.  Some of you may have had a chance to look at the original as well.  The author is Gary Sherman, the developer of the original versions of QGIS.  His very informative blog is here.

Gary Sherman also noted in a video interview that he is working on a separate book on QGIS.  If so, this will be the first published "how-to" book (I assume that's what it will be) on QGIS.  (For other QGIS resources --- and there are many, many of them --- see

If you're looking to see what you can do using other, non-QGIS open source GIS tools, or if you need to brush up on GIS itself, then you might consider getting this book.  I'll let you know when the QGIS book comes out.

18 April 2012 update:  I left a question last week at Gary Sherman's blog, asking him about the status of his QGIS book project.  He graciously responded, indicating that the project is on hold at the moment.  The incredible pace of establishment of new features, functions, and plug-ins in the development version of QGIS (v. 1.9.90) guarantees that any QGIS book written now will be obsolete upon publication.  The strategy is to wait until version 2.0 comes out before deciding on whether and when to re-start the QGIS book project.

Monday, March 5, 2012

What to Do When a GeoRef Shapefile is Missing a *.prj File --- a new tutorial

A couple of weeks ago, Michigan professional forester Lee Mueller sent me an e-mail asking if it were possible to use uDig to assign a projection to a shapefile. Lee had been given a shapefile that was missing the all-important *.prj file, which defines the map projection to which the shapefile has been projected. The supplier, however, assured him that the shapefile had been projected to Michigan GeoRef.

Lee needed a method whereby a *.prj file could be created for the problem shapefile; without the *.prj file, uDig cannot reproject it to State Plane.

We pondered this question by e-mail over a couple of days, and in the end both he and I came up with different, but equally valid and elegant, solutions. I figured out how to do it using uDig, and Lee figured out how to do it using QGIS. Lee's solution takes advantage of the fact that even though QGIS can't handle GeoRef very well, it still can recognize that two GeoRef-projected files are in the same projection, and can plot both files correctly, relative to each other.

There is a new tutorial in our Township GIS site that presents these two methods. Check out

You folks may find other methods and/or uses for these work-arounds. Be sure to share them with us when you do!