My Favorite Features of QGIS 3.0...To Date


I've spent the last couple months test driving the nightly releases of QGIS 2.99. I have used it in a production environment for paying clients and it works really well. I've crunched data and made maps. So for #QGIS3Eve I thought I'd quickly run through some of my favorite new features. Note: This is far from a comprehensive review. There are many features and tools I just haven't had time to explore and use. I also know there are many new features I'm not even aware of yet. With that caveat here is what I have found useful so far!

Overall the look of QGIS is very similar. (Note that Browser is gone as a standalone application.)  However, upon closer inspection there are a lot of very useful changes. Layer Properties, Project Properties and Options have all been touched up and added to. Probably the first thing you will notice is that instead of there being a row of add data buttons down the left side, there is now a Unified Data Source Manager button which opens up a browser.

Unified Data Source Manager

The Unified Data Source Manager can be used to access the myriad of data formats QGIS supports and add them to QGIS. This includes vector, raster, database, web services etc. You can browse within GeoPackages, SpatiaLite db's, GRIDS, coverages and Esri File Geodatabases. Any GIS layer you are interested in, can then be added to QGIS by dragging and dropping it onto the map. It also includes a connection to the Project home folder (where your qgs file is located) which is super handy.



There are some new renderers like point cluster and I've heard there are new Geometry generator expression options which is exciting. One feature I am proud to have had a small role in sponsoring is the Paletted/Unique values renderer for discrete rasters! In my conservation work I deal with a lot of vegetation and land use rasters. Now it's possible to quickly and easily give each unique value it's own color. 


The Processing Toolbox

The Processing toolbox was completely redesigned and many tools were rewritten. This means many are now faster, more flexible and stable. There are many new tools that didn’t exist in QGIS v2.x (Topological coloring, plotting tools, Find projection, Execute SQL, Order by expression, Geometry by expression, Add autoincremental field, Advanced Python field calculator are some I've noticed). Additionally processing tasks also now run in the background. This means you don’t have to stop working while a tool runs! Yet another new processing feature is that layers in different projections will automatically be reprojected, so there is no need to reproject beforehand.



Map Labels:

It now much easier to edit labels. Previously you had to set up attribute columns and set those as data defined overrides. If you don’t know what all that means, it’s OK. Now all you have to do is simply put the layer into edit mode and edit labels with tools on the Label toolbar. This is not only a huge timesaver, it means I don't have to have multiple LabelX/LabelY columns in a layer for different scales and maps. Maps also now redraw more quickly due to cached label renderers.


Search Bar

There is now a universal Search bar in the lower left corner that can be used to search for map layers, features and processing tools. This makes finding things in QGIS quick and easy...although I keep forgetting it's there.



One cool readability feature is that cell contents now auto wrap.



Select Features by Value:

There is a new Select Features By Value tool which is going to get heavy use. It can be used to quickly find and select features by attribute. Values will autocomplete and a variety of select statements can be used! Once found, you can Flash the feature on the map, zoom to it and use the assortment of Select options. 



The array of functions and variables available in the QGIS, which was already really impressive by 2.14 is now even more so. There are new expression categories like Arrays, Map Layers, and Maps. The Select by Expression window has also been slightly redesigned.


Compositions --> Layouts

The QGIS print composer was completely redesigned. They are now referred to as Layouts. Map insets can now be in a different map projection than the main map. There is a new and improved system of guides which include settings in any unit of measurement you could want (mm, cm, m, in, ft, pt, pica, pix). There are new controls for choosing fonts which include recently used fonts. When you export a map, a link to the folder shows up making it easy to track down the exported map. I also understand that it is now possible to author plugins for Layouts. I can't wait to see what people come up with.


GeoPackage Support!

QGIS 3 now supports the GeoPackage format as the default. This makes them really easy and convenient to work with in 3. This is probably the beginning of the end for shapefiles. You can easily save to an existing or new GeoPackage. This includes output from Geoprocessing tools. There is even a new Package layers tool that ports out all the layers in your project to a GeoPackage!


Other notable enhancements:

  • A fully integrated 3D environment (see below) - I have played with this a bit but not enough to become proficient. I fully expect this to become much more robust in the near future.
  • Editing improvements including: a) widgets for layer attributes, b) CAD style digitizing tools that allow you to create perfect rectangles, circles, ellipses etc. and c) a new node editing tool with a lot of behavior improvements
  • Previews of where each map projection can be used. This will be a big help for beginners!

All in all, it's a seriously impressive amount of work. I am eternally grateful to all the sponsors and developers who made this happen. I can't wait to dig in deeper! Enjoy everyone.

Another Wonderful QGIS Conference/Hackfest/Developer Meeting in Denmark!!!

There's something notable in Nødebo. From August 2-10 The third QGIS User Conference, Hackfest and Developer Meeting was held in Nødebo Denmark at the University of Copenhagen – Forest and Landscape College (Københavns Universitet Skovskolen). I was fortunate to attend, as I did in 2015. The first two days were the users conference, then there was a 3 day hackfest followed by 4 days of workshops.

It was another intimate meeting with 120 people from 29 countries and 6 continents! My wife and I were the only Americans to attend the user meeting. It was really nice to have my wife and business partner along. This in fact became a theme of the meeting. Many brought their spouses/partners and kids. It felt more like a QGIS family gathering than a "conference".

Since we are all staying on a small campus and eating all our meals there, it creates a real bonding atmosphere. There were numerous opportunities to connect with others throughout each day. It is the best community building atmosphere I've experienced at a conference. The QGIS family is very warm and inviting. I think this is part of the reason QGIS is such a successful project. I got to catch up with old and dear friends/colleagues and meet many new ones.

Many of the talks were given by developers and we were updated on the state of QGIS. Topics included QField (Matthias Kuhn and Marco Bernasocchi of OpenGIS.ch), a native QGIS 3D renderer (Martin Dobias of Lutra Consulting), the InaSafe plugin (Tim Sutton of Kartoza), QGIS Web Client 2 (Andreas Neumann). There were some short workshops in this section including a nice overview of LASTools by Martin Isenburg. Then Nyall Dawson (North Road) gave a truly memorable presentation Exploring the Depths of Madness with QGIS Symbology that I'm still trying to wrap my brain around.  Interspersed throughout the program were many presentations  highlighting local initiatives involving QGIS and several research projects. Tim Sutton just authored a much more complete accounting of the talks at the conference with video clips. You can find it here.

The environment at the Skovskolen is full of the feeling of Danish hygge. This is largely due to the hard work and gracious hosting of Lene Fischer. The meals are better than any I've had at any other conference by a large margin, and the local staff and students are warm and welcoming. We had a chatted with students Asbjørn, Ras and Frederik. Each night there was a gathering at the local watering hole Flaeken, with nail game challenges and fuzboll. I miss the nail game. It's a Skovskolen tradition involving pounding nails into a large stump. 

On the final day I taught a full day workshop on Cartography and Data Visualization in QGIS. The attendees were from 9 different countries. What I gave was a tour of the many great data visualization tools available in QGIS.

Data Visualization and Cartography with QGIS

I covered the print composer introducing some tips and tricks along the way and a section on Atlas generation. I then covered the many renderers now available, highlighting the 2.5D, Geometry generators, point displacement and showing some use cases for the popular inverted polygon shapeburst fills. I also covered some plugins such as QGIS2ThreeJS and the Time manager and use cases for different Blending modes. 

I sadly missed the group photo taken near the end of the hackfest taken by Maryanne Dawson. Sarah and I took some days in the middle to have a holiday. We rented a place in Copenhagen and flew to Oslo one day to visit the Viking Ship Museum. 

QGIS 2017 Group Photo by Maryanne Dawson

To top it off, on the final night Sarah and I were taken to a performance of Hamlet at Kronborg Castle. This is the castle that was the model for Elsinore in Hamlet. The performance was phenomenal including some interesting modern elements like cell phones and helicopters. If that weren't enough it was staged right next to the moat outside the castle complete with swans and full moon rising. There was nothing rotten in Denmark and I cannot wait until next time! From there we flew to Boston to attend FOSS4G. I'll report on that next!

A QGIS Workshop at the Society for Conservation GIS (SCGIS)

Last Sunday I taught a full day Introduction to QGIS workshop at the 2017 SCGIS conference in Pacific Grove, California. While I've taught this course many times before, this class was particularly unique because SCGIS, although an independent non-profit organization, is heavily sponsored by Esri. In addition, Max Wright with Conservation International, also taught a QGIS workshop entitled An Introduction to Predictive Land-use Change Modeling using Open-source Software, making 2 of the 4 workshops at SCGIS QGIS based. Certainly a first! 

A QGIS workshop at an Esri sponsored conference?!

A QGIS workshop at an Esri sponsored conference?!

My workshop was sold out with a waiting list and I eagerly anticipated meeting the participants. Almost universally attendees were either:

  • Mac users and/or
  • Looking for work and wanting some new skills

I expected there to be some ArcGIS power users from established conservation organizations who were just curious about QGIS, but there wasn't anyone who fit that description. 

Overall QGIS was very well received. During the morning session I introduced FOSS and QGIS, showed how to add and style data and create a map. At lunch one attendee said,

"I have about 10 pet peeves with ArcMap, and you just answered 7 of them with QGIS!"  

During the afternoon session I covered plugins, geoprocessing, the Graphical Modeler and how to get help/resources. If you missed it, all the workshop materials can be downloaded here.

One of the most interesting aspects of SCGIS is their International Scholar program. In attendance were a couple dozen scholars from around the world. I met people from Barbados, Zimbabwe, Madagascar, Brasil, Columbia, The Gambia, Bangladesh, New Zealand, Pakistan, and Zambia. It was really fun connecting with people from such different places working on conservation.

Then there was the location. We were at the Asilomar Conference Grounds on the Monterey Peninsula. The waves on the beach could be heard from our room and each night I went out to the beach to enjoy the sunset. I also had time to visit the Monterey Bay Aquarium and go on a whale watching tour!

One thing I realized is that many don't seem to look far beyond the Esri ecosystem for geo-tools. I've been an Esri user for 20 years, I get it. There are some great products in the stack. However, I hope more SCGIS'ers eventually venture to a FOSS4G conference. I think it would be immensely helpful to their work. The set of FOSS tools discussed there is so broad and interesting. Afterall GIS is just a tool, why not have a bigger set of tools to work with? Certainly having two QGIS workshops at SCGIS is a step in the right direction. 

I had some discussions with another SCGIS attendee about doing a workshop next year on how to work with LandFire products with QGIS. I'll keep you posted on that.  Next up is the 3rd QGIS User Meeting/Hackfest/Developer Meeting in Nødebo Denmark where I'll be teaching a full day workshop on Data Visualization and Cartography in QGIS!

Apparently It's Conference Season!

I don't think I've ever been to back-to-back conferences and this summer I'm going pretty much back-to-back-to-back. The best part is that they are all in great locations.

First up I'm giving an Introduction to QGIS full day workshop at the Society for Conservation GIS (SCGIS) conference. The location can't be beat. It's at the Asilomar Conference Center, located on the coast just outside of Monterey, California. Historically this has been an esri-centric group so it's an exciting opportunity to show conservationists how far QGIS has come! I've been told the workshop is sold out with a waiting list.

The main presentation hall at Asilomar

The main presentation hall at Asilomar

I'll be home for a little less than a week. Then I head to the 2017 QGIS Users Conference in Nødebo, Denmark! Lene Fischer produced the video below if you want to know where it is and how to pronounce it :)

In Denmark I'll be teaching another all day workshop. This time the topic will be Data Visualization and Cartography in QGIS.  I'll cover the myriad of great data visualization techniques now available in QGIS including the QGIS2ThreeJS and Time Manager plugins. I was there in 2015 for the first QGIS User Conference and it was a great experience...I highly recommend it. The first few days will be the Users Conference, then there is a Developer meeting and it closes the second week with the Workshops. I'll be heading down to Copenhagen in the middle for a few days to be a tourist. 

2015 QGIS Conference in Nødebo Denmark

From Denmark I fly back to Boston for FOSS4G. I'll be participating in 3 talks and a panel discussion. It will be great to catch up with the #gistribe & #spatialcommunity folks face-to-face. After 3 weeks on the road I'll then fly home. It's going to be an adventure. 

I'll post links to my workshop presentations afterwards and I'll probably write a few summaries once I've recovered.

Teaching QGIS is a Labor of Love

I love teaching QGIS and FOSS4G and I've been doing it a long time. I developed and taught my first semester long Intro to Open Source GIS course in 2009 featuring QGIS v1.0 Kore. In 2014 I co-authored the GeoAcademy curriculum and that led to opportunities to publish several QGIS books. In the last few years I've developed a FOSS public health curriculum with the National Library of Medicine (Community Health Maps). 

I've taught for a lot of schools both face-to-face and online. Plus I've taught countless of workshops all over the U.S. In fact because of the books and the GeoAcademy I have so much material I can assemble a workshop pretty quickly. Teaching...I think I'm pretty good at it. I truly love turning students onto QGIS, especially after they've been indoctrinated into the world of geospatial via Esri. Seeing those light bulbs go off is awesome. Lately my favorite demo is showing students a street reprojecting race between ogr2ogr and ArcMap. It blows minds. Spoiler alert: ogr2ogr wins.

For better or worse I always need to temper my teaching schedule. First of all, it is a lot of work to maintain and update material, and that part is always volunteer. More importantly though, my bills are paid with consulting. Teaching takes time and I need to have enough time to do my consulting work. Plus I like 'doing' more than teaching. There are various ways to teach: there are face-to-face courses at the local colleges and universities, there are online courses on various platforms, there's authoring books, and there are professional training workshops. I've done a little of each.

The local colleges and universities just don't pay part-time instructors well enough. While I wish it were different, I've known this is the reality for a long time and accept it. But I do occasionally teach courses. When I go into teach at a school I just focus on the material and the students. It feels like an act of service. Giving back to the community. I'm cool with this aspect of it. I never wanted to be a full time academic.

Now there are platforms like Udemy where you design a course and make $10 per student. If one went viral you might get a small income, but I'm not sold on that model. Authoring books is good for street cred, but they are a lot of work and have a really short shelf life.

Recently I've been interested in helping agencies and organizations migrate to a FOSS/hybrid workflows. I'm well positioned knowing Esri and FOSS equally well. It's here that I've noticed something interesting. My local State and Federal agencies seem willing to fork out whatever Esri demands for training. However, when it comes to learning QGIS people seem to just want it for free, or close to it. Recently at a local GIS meeting I had a casual conversation with someone wanting to learn QGIS. He then actually said, "You'll come teach us at our office for free right?" 

Part of my work with the Community Health Maps project is teaching a Fulcrum/QGIS/Carto workflow to public health workers. These workshops are all free as they are subsidized by the National Library of Medicine. I've taught dozens all around the nation. People get really excited and afterwards they often talk about getting more training. However, when it comes to signing an actual contract they balk, and believe me I'm a good deal. I'm not trying to get rich. Meanwhile I continually hear about local agencies signing up for Esri workshops costing them hundreds or thousands per student. 

This trend exists for both face-to-face or online training. The GeoAcademy courses have always existed for free online. When we attempted to teach instructor led GeoAcademy courses online we couldn't get anyone to enroll unless courses were offered for $25 or less. The school wasn't even breaking even at that rate. So needless to say the offering didn't last long. I guess when a Udemy course goes for $10 it's a hard sell. But these were instructor led courses where a teacher was available to answer questions, provide feedback and grade labs. 

There seems to be some dynamic, at least in the States, where people know the software is free of charge so they shouldn't have to pay to learn it. I think the open source business model still confuses mainstream GIS users. It also tells me that people see little value in being able to teach it. I know teaching has never been a lucrative profession. However, the fact that people seem willing to pay Esri so much for training makes me wonder what's going on. For now l see it as a labor of love.

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. Plus it is 64 bit and has been for quite awhile. It is fast and boots up quickly.

#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) 148 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 148, 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 February 2018 - 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!

Coffee, Community Health Maps & My Favorite Coffee Shops Visited in 2016

For the last couple of years I've been working on a project called Community Health Maps for the National Library of Medicine. The goal is to empower public health organizations working with underserved and at risk populations with mapping technology. We aim to help people who don't have backgrounds in computer science or geospatial technology, and don't have budgets for ArcGIS licenses. I've helped develop a program to show these people how they can 1) use Fulcrum to map their communities with smartphones, 2) map that data with Carto and 3) go even further with QGIS. 

Coffee Brewers

Coffee Brewers

This work takes me all over the country teaching half-day workshops. I've got it down at this point. In 3-4 hours I can teach 20-40 people who have never done any kind of map work how to collect data and map the results in Carto and QGIS.

I'm also a coffee geek. I've been hooked by the third wave coffee bug.  I take my coffee seriously as evidenced by my collection of brewers! My wife also compiled the video below of coffee roasters we tried in 2016.

For each training location, I assemble local data from OpenStreetMap and/or local sources. I always include a layer of the local coffee shops to try. After all, I'm going to try them anyway. It's a hobby of mine. Plus it makes it a little more fun, after a few hours of training, to have them open up a QGIS map showing the training location and some coffee shops to try. I usually google 'pour over' coffee in the area, and am sure to exclude all the Starbucks. To me one key to a quality coffee shop is the length of their menu. The shorter the menu the better. For example, I love this menu from Ninth Street Espresso in NYC.

In the last year or so I've been to Charleston 3 times, Seattle twice, along with Spokane, Honolulu, Lawrence, Washington DC and Salisbury MD. I've also been to NYC, Raleigh NC, Portland OR and Denver CO for other business trips. I finally got around to compiling a map of the best coffee shops I've been to in the last year. There are some good ones not on here, these are just the best of the best.

Of these Milstead and Co in Seattle is my favorite. They aren't a roaster but it is simply the best coffee shop I've ever been to. They make each each cup of coffee individually via AeroPress and offer an amazing selection of coffees to try. They are followed closely by Coava in Portland, Toby's Estate in Brooklyn, Black Tap in Charleston, and Boxcar in Denver.  Below are some shots from these coffee shops. Coffee and GIS were made for each other!


Black Tap - Charleston

Milstead & Co - Seattle

Toby's Estate - Brooklyn

Boxcar Coffee Roasters - Denver

Coava Coffee - Portland

If there isn't a good coffee shop I'll bring my Porlex mini grinder, some good beans an my Aeropress. Makes a great cup o' joe in my hotel room! Try it!

What's New in Mastering QGIS - 2nd Edition?

Myself, Rick Smith, Luigi Pirelli and John Van Hoesen are excited to announce the expanded second edition of Mastering QGIS. The goal of this book is to help intermediate and advanced users of GIS develop a deep understanding of the capabilities of QGIS while building the technical skills that would facilitate in making the shift from a proprietary GIS software package to QGIS. It is available in both hard copy and digital versions from Packt Publishing and Amazon.

The book, which begins with a Foreword by Tim Sutton (QGIS Project Chairman), adds one new chapter, and 70 new pages from the first edition. Many new features have arisen in the last year. This book covers them all with step by step examples. This edition is updated to the latest long-term release version (2.14), and includes descriptions and examples of many new features. For example, this includes a new chapter on Advanced Data Visualization which covers live layer effects, QGIS2ThreeJS and Atlas generation. 

What the book covers:

Chapter1,A Refreshing Look at QGIS, reviews installation and basic functionality of QGIS that are assumed knowledge for the remainder of the book. New material includes user interface themes and working with Custom QGIS variables.  

Chapter 2,Creating Spatial Databases, covers how to create and edit spatial databases using QGIS. While QGIS supports many spatial databases, SpatiaLite will be used in this chapter. First, core database concepts will be covered, followed by the creation of a spatial database. Next, importing, exporting as well as editing data will be covered. The chapter concludes with queries and view creation.

Chapter3,Styling Raster and Vector Data, covers styling raster and vector data for display. First, color selection and color ramp management are covered. Next, single-band and multi-band raster data are styled using custom color ramps and blending modes. Next, complex vector styles and vector layer rendering are covered. Rounding out the chapter is the use of diagrams to display thematic map data. New material includes the numerous updates to the data Styling interface and all the new renderers (2.5D, heatmap, point displacement, inverted polygon & GRASS edit). 

Chapter4, Preparing Vector Data for Processing, covers techniques useful for turning raw vector data into a more usable form. The chapter starts with data massaging and modification techniques such as merging, creating indices, checking for geometry errors, and basic geoprocessing tools. Next, advanced field calculations are covered, followed by complex spatial and aspatial queries. The chapter ends by defining new or editing existing coordinate reference systems. New material includes: new geometry checker tools and conditional formatting for attribute table cells.

Chapter5,Preparing Raster Data for Processing, covers the preparation of raster data for further processing using the GDAL menu tools and the Processing Toolbox algorithms. Specifically, these include reclassification, resampling, rescaling, mosaics, generating pyramids, and interpolation. The chapter concludes with raster and vector data model coversions. New material includes the Slicer plugin and the new raster alignment tool.

Chapter6,Advanced Data Creation and Editing, provides advanced ways to create vector data. As there is a great deal of data in tabular format, this chapter will cover mapping coordinates and addresses from tables. Next, georeferencing of imagery into a target coordinate reference system will be covered. The final portion of the chapter will cover testing topological relationships in vector data and correcting any errors via topological editing.

Chapter 7,Advanced Data Visualization is a brand new chapter! In it we provide advanced ways to display your analysis results. QGIS has a greatly expanded repertoire of layer styling and display options. In this chapter, you will learn how to use Live Layer Effects, utilize the inverted polygon and 2.5D renderers, create an Atlas in the Print Composer and use the QGIS2ThreeJS plugin to create a 3D view of your data.

Chapter 8, Exploring the Processing Toolbox, begins with an explanation and exploration of the QGIS Processing Toolbox. Various algorithms and tools, available in the toolbox, will be used to complete common spatial analyses and geoprocessing tasks for both raster and vector formats. To illustrate how these processing tools might be applied to real-world questions, two hypothetical scenarios are illustrated by relying heavily on GRASS and SAGA tools. New material includes working with R tools and Lidar data with LASTools.

Chapter9, Automating Workflows with the Graphical Modeler, covers purpose and use of the graphical modeler to automate analysis workflows. In the chapter, you will develop an automated tool/model that can be added to the Processing Toolbox.

Chapter10, Creating Plugins for PyQGIS Problem Solving, covers the foundational information to create a Python plugin for QGIS. Information about the API and PyQGIS help will be covered first, followed by an introduction to the iface and QGis classes. Next, the steps required to create and structure a plugin will be covered. The chapter will be wrapped up after providing you with information on creating graphical user interfaces and setting up debugging environments to debug code easily.

Chapter11, Python Analysis Scripting with QGIS, provides topics for integrating Python analysis scripts with QGIS outside of the Processing Toolbox. Layer loading and management are first covered, followed by an exploration of the vector data structure. Next, programmatic launching of other tools and external programs are covered. Lastly, the QGIS map canvas is covered with respect to how a script can interact with the map canvas and layers within.

Discover QGIS Is Out in Print!

I'm excited to announce my latest QGIS book! Called Discover QGIS, it is the workbook for the award winning GeoAcademy curriculum. It is essentially 5 college courses full of labs! It comes with all the data, challenge exercises and solution files. Great for learning GIS, QGIS or for use in the classroom.

The GeoAcademy is the first ever GIS curriculum based on a national standard—the U.S. Department of Labor’s Geospatial Competency Model—a hierarchical model of the knowledge, skills, and abilities needed to work as a GIS professional in today’s marketplace.

Originally written for QGIS v2.4, the GeoAcademy material in this workbook has been updated for use with QGIS v2.14, Inkscape v0.91, and GRASS GIS v7.0.3. This is the most up-to-date version of the GeoAcademy curriculum. To aid in learning, all exercise data includes solution files.

2016 Brings Two New QGIS Books!

It's been such a busy year I haven't even had time to blog. Now that I'm sitting in my hotel room in Raleigh settling in for another FOSS4G, I finally have a bit of time. I've been doing a lot of GIS analysis, cartography, teaching, travelling to teach workshops, and blogging at Community Health Maps. I have also been working on the second edtion of Mastering QGIS and a brand new book Discover QGIS. Both books should be out in the next couple weeks!

Mastering QGIS - 2nd Edition will be an updated version of last years book. All the material is being updated to the latest long-term release of QGIS v2.14. It wil also feature a new chapter on Advanced Data Visualization. This new chaptter will cover use of Live Layer Effects, 3d mapping with the 2.5D renderer and the QGIS2ThreeJS plugin, use cases for inverted polygon shapeburst fills, and atlas generation.

Wiith Discover QGIS, the award winning GeoAcademy curriculum will be available in a workbook format. The material has been updated for use with QGIS 2.14, Inkscape 0.91, and GRASS GIS 7.0.3. The material is also backwards compatible to QGIS v2.8 despite minor GUI changes. It therefore represents the most up-to-date version of the GeoAcademy curriculum. It will be released in the coming weeks. It will include full solution files and a forward by Dr. Phil Davis. 

Look for both offerings soon!

First User/Educator/Developer QGIS Conference - Nødebo Denmark

I finally have a moment to report back on the first ever international QGIS User/Educator/Developer conference in Nødebo, Denmark. It was certainly one of the best GIS conferences I've been to. It had a very intimate feel. The setting at the Forestry School of the University of Copenhagen (Skovskolen) was beautiful and peaceful. It was located in one of Denmarks largest forests and there were numerous trails and forest gym play areas.

Danish forest (Gribskov) near the conference groundsI had a lot of great conversations, some with old friends, and some with people I've known only from the QGIS-sphere. It was exciting the meet the latter face to face! There were ~150 attendees from 25 countries, and being one of only two Amercans was stimulating and refreshing.  QGIS 2015 Attendee Map

After Jeff McKenna's keynote I presented on the FOSS4G Academy.

OsGeo President Jeff McKenna opening the conferenceThere were some really good talks and workshops over the first two days. One highlight was a fruitfull round table discussion on education, curricula and certification. I'm excited to announce that our FOSS4G Academy material are being adopted by the QGIS project. This is the best chance for this material to survive and grow past 2015. 

My personal conference highlights included: 

  • Matthias Kuhn presenting QField - this will be a mobile version of QGIS
  • Nyall Dawson and Andreas Nuemann showing new advances in rendering and the Print Composer - there are a lot of great tools coming out in the near future
  • Anita Graser showing all the new features of the Time manager - it's becoming a very powerful data visualization tool
  • Tim Sutton leading an open discussion on the future of QGIS. It's not clear when version 3.0 will be released or what upgrading to Qt5 and Python 3 will involve. However, the QGIS development team will give us plenty of lead time before that change happens.
  • The farewell dinner held in a huge tent in the forest. The Danes know how to throw a party!Farewell dinner
  • Meeting people I've known only via the QGIS-sphere including my co-author Luigi Pirelli and conference organizer Lene Fischer!Myself and Luigi Pirelli - Mastering QGIS!
  • Making new Danish friends

Group shot QGIS 2015

Thanks to Lene Fischer and the staff and students at the University of Copenhagen Forestry School for organizing a great conference! Here's hoping there is a follow on educational conference there next summer!

My wife and I posing with Lene Fischer

I didn't stick around for the developer meeting and the hackfest. I instead spent some time sightseeing and relaxing on the north coast of Zealand in a town named Gilleleje.Sunset over the Kattegat

Excited to be Attending the 1st QGIS Conference!

Monday I'm heading to Denmark for the first time to attend the first joint developer | user | educator QGIS conference. In 2003 I attended the first Mapserver Users Meeting and it feels like there are some similarities. That meeting was also held at a Forestry College (St. Paul, MN) and had about 150 people as are exptected in Nødebo. That meeting felt cutting edge and exciting. It was several years before FOSS4G's came into existence. This feels like it might have a similar excitement to it.

First Mapserver Users Meeting (2003)

I'll be one of only two American attending. I am anticipating meeting many of the European QGIS developers and bloggers that I only know from the Twittersphere. This includes one of my co-authors of Mastering QGIS. There will be some great talks and workshops. Before and after my wife and I will be able to tour the Danish countryside. Stay tuned...

Mastering QGIS is Ready for your Bookshelves!

It is with great excitement and pride that I announce our book Mastering QGIS has been published! I co-authored this book with Dr. Richard Smth, Dr. Luigi Pirelli and Dr. John Van Hoesen. It is available as both an eBook and in hard copy from Packt Publishing and Amazon.

Mastering QGIS Cover

QGIS is the leading alternative to proprietary GIS software. Although QGIS is described as intuitive, it is also, by default, complex. Knowing which tools to use and how to apply them is essential to producing valuable deliverables on time.

Starting with a refresher on QGIS basics, this book will take you all the way through to creating your first custom QGIS plugin. By the end of the book you will understand how to work with all the aspects of QGIS, and will be ready to use it for any type of GIS work.

The introductory section servers as a quick start guide for those with little QGIS experience. It includes directions for installing QGIS on all the major platforms, reviews the layout of QGIS Desktop and Browser, and covers adding data, working with projections, querying tables, creating maps and finding and installing plugins.

From the refresher, you will learn how to create, populate and manage a spatial database and walk through styling GIS data, from creating custom symbols and color ramps, to using blending modes. In the next section, you will discover how to prepare vector and raster data for processing and discover advanced data creation and editing techniques, such as geocoding, georeferencing and topological editing. The last third of the book covers more technical aspects of QGIS, including working with the Processing Toolbox, how to automate workflows with batch processing, and how to create graphical models. Finally, you learn how to create and run Python data processing scripts and write your own QGIS Plugin with pyqgis.

This book is the most thorough tutorial for everyone needing a free and open source desktop GIS.

Mastering QGIS Due out by the end of the month!

Over the winter Kurt Menke co-authored Mastering QGIS along with Dr. Richard Smith, Dr. John Van Hoesen and Dr. Luigi Pirelli. The book will allow you to go beyond the basics and unleash the full power of QGIS with the help of practical, step-by-step examples. Topics covered in the book include: working with spatial databases, advanced vector and raster data processing, styling data, working with the processing toolbox, building models with the graphical modeler, automating processes with scripting and building Python plugins. 

The book is due out by the end of March. It will be available in both e-book and hard copy formats. Pre-orders are being accepted now! Visit the books page on the Packt Publishing site for more details.

Mastering QGIS cover

QGIS 2.8.1 Released

This week the next stable version of QGIS was released. It is being called QGIS version 2.8 ‘Wien‘. Wien is German for ‘Vienna‘ which was the host city for the QGIS developer meetings in 2009 and 2014.

QGIS 2.8 Splash Page

Recently a new version of QGIS has been released every four months. This rapid pace of development has its pros and cons. On the plus side, the software is rapidly growing and improving. On the con side it has made it difficult to maintain documentation. It has also been an issue for people working on large projects. They have had to deal with the software changing every four months.

QGIS 2.8 is a special release because it is the first in a series of long-term releases (LTR’s). The idea is that one release per year will be an LTR. This means that the LTR release will be supported and available for download for one year. This way people needing stability can use this until the next LTR is released a year from now.

Some of the highlights are:

  • Numerous bug fixes and stability improvements
  • QGIS Browser is more responsive
  • Ability to select the units in the Measure tool
  • Improvements to editing: better control of snapping and a new suite of Advanced Digitizing tools
  • Improvements to the Map Composer such as better control over coordinate graticules and map rotation.
  • Symbology improvements such as filling polygons with raster images, ability to have multiple styles per layer.

The detailed list of new features can be found in the QGIS Virtual Change log: http://www2.qgis.org/en/site/forusers/visualchangelog28/index.html

Visit the download page and take the new version for a spin. Remember you can install it on Windows, Mac and Linux!

Bird's Eye View Conducts a Training in the South Carolina Lowcountry

Recently Kurt Menke headed to Charleston, South Carolina to train several groups how to map their communities. This was part of the Community Health Maps project with the National Library of Medicine. This region is also known as the ‘lowcountry’ due to the flat, low elevation geography. The training was hosted by the Medical University of South Carolina (MUSC) and included people from Communities in Schools – Charleston (CISC) and the MUSC School of Nursing.

MUSC Community Health Mapping Training at the School of Nursing

First everyone learned how collect GPS field data with iPads. For this we used a new app named iForm. This app was used in lieu of EPI Collect, which no longer supported on iOS.  iForm is an app very similar to the Android app ODK Collect, allowing a custom data collection form to be developed. To practice we collected bike rack locations  and seating areas around the MUSC campus. The afternoon was spent working with everyone’s  data. GPS data points were brought into QGIS and shown against some local Charleston GIS data layers.

MUSC Data Points in QGIS

The points were also uploaded to CartoDB. CartoDB is another new component of the Community Health Mapping workflow. It has become more intuitive than GIS Cloud and worked really well. (Note: There will be a post on using CartoDB soon too.)

The following day I visited CISC’s Derek Toth and three of his students at St. John’s High School on John’s Island, SC. Over a working lunch Mr. Toth showed students how easy it is to collect GPS points with their iPhones. We collecting several points while walking around the campus.

Mapping the St. Johns Campus

Afterwards we went back inside and showed them how to upload the points into CartoDB and make a map. The figure below shows the results of 45 minutes worth of work! Click on the map to open the live version.

St Johns High School Data Points in CartoDB

This spring these three juniors will be leading the charge to map their island!  They will be presenting their work to the National Library of Medicine later this spring. I look forward to seeing their work!

The St. Johns High School Mapping Team from left to right: Jocelyn Basturto, Khatana Simmons, Candace Moorer (MUSC), Corrieonna Roper & Derek Toth (CISC)