Book Review: Learning QGIS by Anita Graser [eBook]

Title: Learning QGIS (Second Edition)
Author: Anita Graser
Publisher: Packt Publishing
Year: 2014
Aimed at: QGIS – beginner, GIS/Python – knowledgeable
Purchased from: www.packtpub.com

Learning QGISMy New Years resolution is to upgrade skills and software knowledge instead of sitting in front of a TV for hours on end (we’ll see how long this lasts). About six years ago I installed QGIS on my laptop, never used it, removed it, reinstalled it, never used it, removed it and this cycle has continued for each year. I am putting a stop this vicious cycle as of now and aim to become proficient with this well renowned piece of open source software, with my main goal to incorporate Python for automation and develop some plugins. I will become familiar with the software before making the leap to Python.

There’s only so much you can fit into 125 pages and while this book is packed with information on the capabilities of QGIS it certainly leaves you wanting more. I think this is a good problem as it drives you to do your own research and play around with what’s on offer in QGIS based on your own interest.

The book starts off by guiding you through the installation process and then provides a brief description of the interface and available toolbars.

In Chapter 2 we begin to add spatial data (vector and raster) to the map. The link provided to download the sample data didn’t stand the test of time (a year) but was easy to locate with an internet search. We are also introduced to georeferencing, loading data from databases and accessing data from OGC web services, ending without a brief styling tutorial.

The main part of the third chapter walks us through creating and editing geometries and attribute data. We also encounter using the measurements tools, the field calculator, reprojecting and converting files, and joining tabular data.

Chapter 4 presents Spatial Analysis; clipping a raster, terrain analysis, raster calculator, vector to raster and raster to vector conversions, heatmaps, vector geoprocessing (proximity analysis), raster sampling at point locations, density with hexagonal grids, calculate are shares within a region. There is a lot of information in this chapter, without nearly being exhaustive, that emphasizes the analytical capabilities of QGIS.

“Creating Great Maps” is the title of the fifth chapter. Did it hold up to this title? In short, yes, but you are not walked through step by step with someone holding your hand, you are presented with visualization and styling techniques to help you create your own masterpiece. A whole book could be dedicated to this topic.

The final chapter jumps straight into “Extending QGIS with Python” and is certainly not for those just beginning programming with Python. Lines of code are given with a general overview of what’s happening and knowledge of syntax and the API is required here. As a newbie to the QGIS API I found this chapter a bit daunting but time, effort and the will to learn more is a challenge that I accept. The chapter and indeed the book concludes with an example of a processing script and developing and implementing a plugin.

QGIS Python Console

QGIS Python Console

One thing this book has thought me is that QGIS is highly customizable to user preferences and visualizations. My next step is to gain more familiarity with QGIS through available text books and online tutorials before heading down the customization path with Python.

Overall Verdict: Although it was difficult to follow some of the workflows exactly, and this is perhaps because it is more informative than tutorial, I felt this was a good intro to QGIS, what the software has to offer, how to navigate the GUI and the possibilities of extending QGIS with Python. The book cost me a whopping €5.63 from a sale on the Packt Publishing website. This book is packed with info and provided a solid beginning on my quest to QGIS stardom. I am already wondering why it took my so long to break out of that repetitive cycle.