At Least 10 Reasons You Should Be Using QGIS

Last Friday I gave a talk at the spring New Mexico Geographic Information Council (NMGIC) meeting. There were ~100 people in attendance. I asked at the outset for people to raise their hands if ArcGIS was their primary GIS software. About 95 people raised their hands! I then asked who used QGIS as their primary GIS. About 2.5 people raised their hands. One person wasn't super confident. Since the topic of the meeting was remote sensing and UAV's I asked if anyone used something different for their work day-to-day. Two others raised their hands. Suffice to say it was an ESRI-centric group of mostly standard desktop users from local, state and federal govt, with some private industry and academics. A broad slice of the local GIS community. 

Since I mostly interact with the FOSS4G/GeoHipster/#gistribe choir, it's easy to forget that the majority of GIS workers in the US still haven't used software like QGIS. Nor do many have the permission to install it. That is changing, but there are still many who have just played with it on the weekend once or twice.


So I thought I'd share my experience and go through the main points of my talk. I've done this before at NMGIC. I do something similar every couple of years. But there was something different this time. For whatever reason the message really resonated this time. Even among the die-hard esri users. Maybe it was the animated gif's I used this time around, maybe it was because I used a lot of examples of the cool data visualization capabilities QGIS now has, or maybe people are fed up with esri licensing. I heard a lot about the latter prior to speaking. Anyway I felt like I finally broke through and it was fun. 

First I asked if there were any Mac users in the audience. At least 30 hands went up.

#1) Run QGIS Anywhere

Install it on Windows, Max OS X and Linux. I even have it running on my Chromebook thanks to Alasdair Rae's post. Then there is QField for Android.

#2) Interoperability!

QGIS reads/writes a silly number of file formats. This is where I first found a place for it in my day-to-day. Someone gives you KML/KMZ, GPX, data in a spreadsheet? No problem, and converting that into something more useful like GeoJSON is simple. Esri users can sleep soundly knowing they can read/write File Gdb's. The added ability to work with Spatialite, GeoPackages and PostGIS are perhaps the most important reason to use QGIS, as Mike Miller recently covered in this post

#3) 127 Basemaps Available!

I'll admit I was going for instant gratification. I was the second to last talk of the day and people would be tired. But when you compare this to the 12 that ArcMap has, and consider those 12 are part of the 127, it makes an impression on an esri user. These are available via the QuickMapServices plugin when the contributed pack is enabled.

#4) Geoprocessing!

Back to a more serious topic. This has long been the strength of QGIS. When you combine the ~900 tools in the Processing Toolbox, the batch processing capability, the Graphical Modeler and the Python Console it's a serious package. If you then work with PostGIS and/or R, which are practically fully functional GIS's in their own right, it's state of the art. 

#5) Semi-automatic Classification Plugin

I was trying to cater to the remote sensing crowd. But seriously this is just about the most impressive plugin in the fleet.

  • Download: Landsat | Sentinal-2 | ASTER | MODIS.
  • Dropdown band combination styling
  • Unsupervised and Supervised Classification
  • Spectral signature plots etc. 

There's a great introductory video of the capabilities. If you have 20 minutes it's well worth the watch. 

#6) Variables

I have come to love these. Store any constant. Make the variable Global, Project level or Layer level. I use them to store conversion factors: square meters to acres, meters to miles etc. Store your name as cartographer and use them in the Print Composer. The gif below shows using them in an acreage calculation. It also shows how easy it is to calc fields in an attribute table. Across the board QGIS requires fewer clicks than ArcGIS. 

#7) Cartography | Data Visualization | Styling

This used to be the weakness and now it's a strength. Most of the features I highlighted can't be found in Arc. What I tell people is that several years ago I had a list in my head of things you can do in Arc that you can't in QGIS. Now I have the opposite list and it's growing. Most of the following are on it. The color picker is crazy good. Warning...this section is a little long, and I don't even get into the Print Composer or Atlas generation, which have improved greatly.

The Interactive Styling Dock created by Nathan Woodrow is addictive and I now can't live without it. Tinker with colors and see if they'll work immediately. Works for labels too. If you haven't used it, check it out.

The array of QGIS renderers and sub-renderers is very impressive. There are of course the usual categorical and graduated ones. But there are also Inverted, 2.5 D, Point displacement, Heatmap, Hillshade and geometry generators! I showed two use cases for Inverted Polygon Shapeburst Fills which I use regularly these days. First coastal vignettes (left) and then study areas (right). 

Then there are Blending Modes. When wanting to show something like land ownership over a hillshade image you can use transparency. But the ownership colors become bleached & you don't get full hillshade detail. Instead in QGIS you can use one of 13 blending modes. Below is an example of using the Multiply blending mode on a land ownership layer. The result is full saturation of the colors in the ownership layer and full detail in the hillshade.

And it continues with Live Layer Effects created by Nyall Dawson. Quickly add inner glows, outer glows, drop shadows, blur effects etc., to your vector features. 

Copy/Paste layer styles. I know you can do this in ArcMap by importing symbology. However, it's just easier and more complete in QGIS. Right-click on a layer and copy the style, then right-click on the other layer and past the style. This includes label settings too. 

And if you need 3D there is the QGIS2ThreeJS plugin. It lets you set up a 3D view in QGIS. It writes out some javascript files and an html file and the result opens in a browser. It's very responsive. Below is a view of the Sangre de Cristo mountains outside of Santa Fe, New Mexico showing some wilderness proposals. Google imagery is draped on a DEM.

#8) Expressions and Functions

The array of functions and variables available in the QGIS select by expression window is awesome, especially when compared with ArcGIS which has just string, date and numeric. Plus these can be used in data defined variables, the print composer, the Atlas generator, rule based styling etc. In the case of data defined variables I doubt people have even thought of use cases for exposing all of this in each piece of a style or a label. But it's there if you ever need it.

#9) Geometry Generator Symbol Layers

I don't know if this really deserves a spot in the top 10, but I just discovered them and think they're cool. It's another case where it feels like the developers of QGIS are thinking outside the box and being creative with geo data. You can use this sub-renderer along with the expression engine to modify geometries just while rendering features. Plus the resulting geometry does not have to match the original. For example use the expression: centroid($geometry) on a polygon layer to render it as centroids. Or use: buffer ($geometry, -4000) to render a polygon layer with internal negative buffers of 4000 meters. Below shows the Colorado Game Management Units rendered as normal black polygons, then as light blue internal buffers and finally as red centroids.

#10) Virtual Layers

These are like database views. You can define a layer based on an SQL query. However it doesn't matter what file format your data is in! So you can use spatial SQL on shapefiles, KML, CSV's etc. Below is an example of creating a buffer view of some dialysis clinic points. 

#11) Some Things Are Just Easier in QGIS

There are a lot of simple tasks where QGIS requires fewer clicks, or is just more straightforward. The Save vector layer as... is a great example of that.

  • Reprojecting layers
  • Converting between file formats
  • Being able to read so many file formats
  • Editing (this is an area I wish I'd had time to cover)

#12) It's Rapidly Growing and Evolving

With a new stable release every four months, new features are being added all the time, QGIS is really growing fast. Due to this rapid pace each spring there is a long-term release created. This works better for production environments. Bug fixes are backported to this over the course of the year.

Another plus for QGIS is that you can have multiple versions installed with no issues. For example, I have the stable release, the long-term  release and the bleeding edge nightly release running.

We're also at a cool time in the QGIS development cycle. There is a major new release due out in September - QGIS Version 3.0. This incorporates a new version of Qt and Python 3. It looks to be faster and have quite a few new features. It will also sport a new logo.


#13) Help Resources

There are a myriad of support options these days.

#14) It's Free and Open Source!

I was also clear that I'm not trying to get you to stop using ArcGIS. You can still use QGIS and have an ArcGIS license. There is room in most offices for a hybrid solution to geo issues. In fact, it would be difficult to make an argument against it. These are just tools. You wouldn't limit yourself to just one screwdriver. Why limit yourself here? QGIS is free to install and check out. For example, if you need Spatial Analyst tools but don't have the license, use QGIS. If you need that Erase tool but don't have the license, use QGIS. Although I do think it's only a matter of time until you realize you can do everything you need with QGIS. 

Plus with QGIS, if there's a feature you need you can develop it in-house or sponsor it. A year ago I submitted a feature request. I realized there was no easy way to get QGIS to style a discrete raster. For example, one with vegetation types or land use categories. The feature request just sat there. Then Nyall Dawson came out with this post which got me thinking. About the same time I saw a post in a listserv about this issue. I ended up having a conversation with a few QGIS users about it. We decided to put together a proposal. Stéphane Henriod deserves all the credit here. We pitched it to Nyall Dawson (North Road) who returned a quote. We realized that while none of us could afford it individually, collectively we could. Within a few weeks the feature was done and available via the nightlies. 

Discrete raster styling will be a new feature when 3.0 comes out. It's minor but was a very empowering experience. As I've heard Anita Graser say, 'It's a do-ocracy.' If you want something done, don't just complain, you actually have the power to change it!

Like I said at the outset, for whatever reason my talk was really well received this time around. I had several die hard esri users come up to me afterwards and tell me some version of, "I always thought yeah yeah yeah but I have Arc..., but now I think I'm going to download QGIS this weekend." I honestly think some of the styling capabilities are mind blowing to someone who has been locked in an esri box. Plus many don't realize that QGIS has tools like the Graphical Modeler, or that you can read a ESRI File Geodatabase. Once people realize what it can do it's a no-brainer. It was really gratifying to finally get through!

They also held a raffle and I won a drone!!! All in all a great day!