How to Learn QGIS

Eric van Rees
5 min readJan 18, 2019

--

Last week, I spent some time with the book “Learning QGIS (fourth edition)”, written by Andrew Cutts and Anita Graser. Here are some thoughts on the book and QGIS itself.

Because QGIS has seen a new major release (QGIS3), I decided it was a good moment to get to know the software better. For those of you who are not familiar with QGIS, this is an open source GIS software product for creating/editing/visualizing spatial data. The book “Learning QGIS (fourth edition”, was published only recently (end of 2018), so the information is relatively fresh: it was written for version 3.4.

The book is divided into six chapters and counts 268 pages. It’s meant for newbies to the software and serves a general introduction. Even if you’re not familiar with GIS software at all, you’ll quickly understand how to use QGIS. Having used ArcMap for 15 years and being not very familiar with QGIS before reading the book, I think it’s a good resource on how to start using QGIS and get the most out of it as a beginner.

After downloading and installing QGIS3.4.3-Madeira on my pc, I set out to read the book and follow along the tutorials (QGIS uses a GUI, so you spend lots of time pushing buttons and typing commands). I’ll stick to a short overview of all chapters:

  1. Where do I start?

The book opens with where to get QGIS and how to install it on different operating systems (not just Windows). There are different installers available, offer more or less extended open source functionality around QGIS.

A section on “What’s new in QGIS3” states that GeoPackage is now the “default” file format, although shapefiles are used throughout the book (!). QGIS3 supports Python 3 and the QGIS Python API is organized differently than before.

Strangely, no mention of the new 3D visualization capabilities. These pop up in the last chapter, on Python that really has no connection to the 3D capabilities of QGIS at all.

2. Data creation and editing

The second chapter is all about data. You learn how to create data from scratch, as well as fields in an attribute table. Importing data, using basemaps, data types (raster and vector), connecting to a databases is all covered here. You also learn how to edit vector geometries using the map window in an edit session. This is all similar to how ArcMap works, so nothing new here.

3. Visualizing data

Here, you learn how to style different types of raster and vector data. I enjoyed the fact that the authors show how to style different data types: terrain data is styled differently than satellite imagery, which is styled differently than landcover maps. The same goes for points, lines and polygons. Lots of tips and tricks for using different styling options, which is one of the best things a GIS can offer (try styling a map without a graphical interface…).

4. Creating great maps

A chapter on cartography. Whereas chapter 3 is about styling map elements, this chapter is about the layout of a map canvas using additional visualization, such as a legend. Again, this is all similar to ArcMap. The labeling options are dealt with in the map window rather than the map canvas, but I understand this is something you’d visualize only when you’re taking the map data outside of a GIS. Some info here on creating web maps and 3D maps, I wish there was more of this.

5. Spatial analysis

This chapter not only deals with analyzing raster and vector data, but also covers data conversion and batch processing. You learn how to access different processing tools, using the Processing Toolbox that lists all available toolboxes. Additional functionality is available through plugins that are available online and can be installed with a single mouseclick.

The examples using spatial analysis functionality don’t go very deep and explain little (I have to admit that ArcMap has really great documentation so the bar is set high). Another omission is how to interpret all the data after analysis: the authors tell you what to do, but not what the results mean. If you know ArcMap’s Model Builder, QGIS’ Graphical Modeler will look familar. You can share these models but not generate a Python script of one as in ArcMap.

6. Extending QGIS with Python

The main reason or buying this book was this last chapter on Python integration. It tells you how to write Python scripts that use QGIS’ Python API, that is quite different from earlier versions. You also learn how to create and deploy your own plugin.

First of all, you’re supposed to know Python scripting (and objects) when reading this chapter in order to understand what’s going on. There are some scripts, but there’s not much annotation. Compared to ArcPy (ArcMap and ArcGIS Pro’s Python library), QGIS requires a lot more code, even for calling relatively simple geoprocessing functions such as creating a buffer.

What’s nice though is QGIS built-in code editor, although there’s hardly any space for it inside the application, that suffers from too many buttons and menus anyway. You can just run the script inside the application, although I’m not sure you could do it outside of a running application (such as with ArcMap).

At the end of the chapter, the authors point out additional resources for Python integration with QGIS. This is only fair as this book only gives you a brief overview of what’s possible.

Conclusion

If you’re new into (Q)GIS, I think “Learning QGIS (fourth edition)” is a good resource to start with. It teaches you the most important things of the latest version of the program, which is always recommended. Advanced GIS users will find this insufficient though, but there are other advanced resources available. If you’re curious about the latest version of QGIS, this is also a good choice. As I said, it’s less interesting if you’re buying it only for the Python chapter or want to know more about 3D visualization tools.

NEXT UP: “Hands-on Geospatial Analysis with R and QGIS”, also from Packt Publishing.

--

--

Eric van Rees

Writer and editor. Interested in all things geospatial.