QGIS (originally known as Quantum GIS) began in 2002 as a PostGIS data viewer. It evolved into the beginnings of a useful GIS tool by version 1.0 in 2009. Now, we have QGIS Desktop, Server, Web Client, and a selection of field applications, such as QField and Input.
While users now get far more than your standard data viewer, QGIS has managed to hold a reputation as relatively lightweight, with impressive processing for a free open-source software. The open-source status was embraced by both the geospatial and technological communities, and it maintains status as an ongoing project of the Open Source Geospatial Foundation (OSGeo).
While many may see QGIS as a product, it is a project first. Ongoing and fluid, it is forged by a community of user/developers. The dedication to accessibility promises that users will never pay for the software. The project is supported by a meagre budget of about 150,000-200,000 euros a year, funded by donations and sponsorships, as well as time volunteered by developers.
This valuable resource of time is not offered without an exchange of services. QGIS developers often support themselves in their day to day via work performed through the platform.
The more quality work in, the more quality work they get out. This symbiotic relationship ensures constant growth of the project. Once enough demand has been generated for a tool or feature, it is only a matter of time before it is supported in one way or another. If they need a feature, they build it.
QGIS is inspired and maintained by a community of developers. After years of creation and development, QGIS has matured into a reliable, and relied on, member of the geospatial industry. It is designed to encourage incorporation of new features and functionalities, without sacrificing backwards compatibility or intuitiveness.
The Framework & Features of QGIS
QGIS Desktop, the current evolution of the organization’s flagship product, is now in its 3.x generation. It provides all of the staple tools and functionalities that GIS users have come to expect when transitioning from products, such as ArcGIS.
The suite was developed with flexibility in mind, and is supported on every popular OS, Microsoft, Linux, and yes, even Mac.
Python 3 integration opens a Pandora’s toolbox of utilities for data management and manipulation, including the QGIS Python API, and it doesn’t stop there. Some other integrated technologies include PostGIS, PostgreSQL, Oracle, OpenStreetMap, and R.
Users can take advantage of manipulating their data in their own style by choosing between the toolbar style GUI, or a classic command-prompt style interface. You can analyze your own data, data which which has been pulled in from the web, or from your favorite database management system.
One of the software’s major claims to fame is its impressive handling of diverse file types. Gone are the file conversion workflows of yore, just drag and drop your KML or Shapefile into the map frame, no Run button required.
When it comes to visualization, QGIS has come a long way from its *cough* humble beginnings.
By user for user development has resulted in a variety of intuitive options for spatial representation that you would expect to see in Adobe software, such as the color blender, visual effects, and a library of symbols to apply. An especially unique shift in the spatial paradigm is the Geometry Generator, which warps your input geometry into whatever contortion you can think to place it in. Most realistically, this will probably be a contortion between a polygon, line, or point, but gone is the cumbersome middleman of intermediate file conversions, the geometry generator will make these changes on the fly. Pretty cool, right?
Another homerun for QGIS is its Model Builder. The familiar and intuitive GUI allows users to streamline their workflows with minimal keystrokes, while maintaining all the elegance and reusability of a script. The plug and play aspect of the model format is a highly appealing feature for those who just need to make “a few” “small” changes to some of their more common product workflows (such as manipulating several iterations of a buffer width). The ability to use models within models only further solidifies the Model Builder as an essential tool of tools.
Why should I use QGIS?
QGIS is an open-source geospatial solution which has grown to encompass a well-rounded stack of applications. Its open-source nature has enabled quick and creative adaptations to new tech, and real-world problems.
QGIS serves as a powerful viewer, editor, publisher, and toolbox, with a truly impressive suite of versatile plug-ins, but we will get to those later… The overall platform allows users to string together desktop, server, and online capabilities in affordable and flexible ways that only open-source can offer. Some familiar functionalities are bookmarks, annotation, summary statistics, and even user profiles.
It is still important to return to Earth and consider that QGIS is still just that, an open-source project. There is no around the clock support, and if you find yourself with an unfilled geoprocessing need, it might go unfilled for a while (if you cannot build it yourself, or afford to hire someone to). If you need to do some advanced 3D or raster processing workflows and analysis with minimal learning curve, you may want to look elsewhere, as this area of the software still holds room for improvement.
There is no getting around it, licensing from the big guys can be expensive, but that expense is often justified in the highly tailored and streamlined processing that has come to be the gold standard of the industry. Every year though, the gap in functionality closes little by little, while the field as a whole continues to march forward.
QGIS has secured its place as the leading open-source option in the industry, and it has no intention of giving it up anytime soon, in fact, it is gaining ground. Every year, more and more organizations migrate to the platform, fueling the demand for development.
While satisfying the need for (free!) production quality software may seem like a Sisyphean task, QGIS produces a stable release every 4 months, which is impressive by any standard. Users can expect a full year of support for each LTR (long-term release), with about ¾ of a version’s creation being development, and the remaining ¼ being dedicated to bug fixes. One of the byproducts of the rapid release schedule of QGIS, is that it changes faster than the documentation, building a backlog. The project is always taking on volunteers. If you want to stay in the know, all software changes and bug fixes are documented via Changelogs since v 2.0.
Best practice remains the same as with any software, restrain yourself and stagger your adaptation of new versions to avoid unforeseen show stoppers, but, if you just can’t help yourself and want to play with the newest toys, no one can blame you. Backwards compatibility is a priority in QGIS, so you can always backtrack if needed (and log a bug for what went wrong!).
In reality, there is no singular be all end all GIS application or platform. GIS is a tool. There will be times when you need to take a hybrid approach in order to satisfy your research questions, and this is perfectly fine (and expected). The beauty of GIS is that there are always multiple ways to solve a problem, the real trick is finding the first.
QGIS Tools & Plug-Ins
The real wealth of QGIS lies in its plugins. They come in all shapes, sizes, and degrees of complexity. Customization is key when documenting a planet as diverse as our own, and plugins are how this is achieved. Tools can be imported via plugins. You are able to search plugins by keyword. In fact, there is even a plugin for building plugins (Plugin Builder).
Some of the most popular are:
- Quick Map Services– Used to access WMS, WMTS, WFS, WCS, OSM, and even Esri basemap services for easy visualization.
- GDAL Tools (Geographic Data Abstraction Library)- Is a library for translating vector and raster formats, and is associated with a lot of the common tools you would expect to find in a GIS program.
- GRASS – Used to access and interact with GRASS GIS vector and raster data. This also allows access to more than 400 GRASS modules.
- Whitebox– This superpowered geospatial data analysis platform covers a variety of uses, from raster and image processing, to hydrological analysis, to standard business and marketing workflows, it does it all. Whitebox is also available as a standalone application, and can be integrated into Python scripts.
- SAGA (System for Automated Geosciences)- A choice option for implementing advanced spatial algorithms with vector data, raster data, and point clouds. There are also specialty tools for workflows such as terrain or hydrology.
- TimeManager– As the saying goes, there are only four difficult data types, strings, integers, floats, time and geometry etc…. This superstar plugin is the go to for managing spatio-temporal data in QGIS. After 10 years, it is so essential, it is expected to be worked into the core functionality of the application in the near future.
- Google Earth Engine– Integration with the Map API is mostly limited to implementations from the Google Earth Engine Code Editor. As the new kid on the block, this plugin holds huge potential for growth in the future.
The Expression Builder is used all across QGIS for everything from selections, to field assignments. There are so many functions available that QGIS expressions have edged on forming their own language. The types of functions available include: Color, Conversion, Geometry, Mathematical, String, and Date and Time, as well as your standard conditionals and operators.
Data defined overrides are also more than we can get into here, but essentially they are the handling of interactions between elements of the map project, largely related to symbology.
How can I get started with QGIS?
Using QGIS starts with a simple install, and you are off to the races. While the core functionality of QGIS is useful, the real powerhouse lies in its plugins, and the user’s willingness to explore and learn. This may seem overwhelming, but fear not, as you stand on the shoulders of the giants that came before you.
There is an extensive collection of books, trainings, forums, and documentation on using QGIS, down to some of the most niche workflows. Translation efforts allow QGIS documentation to be presented in 5 languages. The user base has a reputation for being friendly and welcoming to newcomers.
You can find introductions to the application, as well as specific workflows, through any of your favorite search engines, or even YouTube. If you are getting a bit deeper in the weeds, you can likely find your way by diving into the documentation for awhile. If your quest for knowledge goes unsatisfied, just ask. The byproduct of a self-sufficient user base is a highly knowledgeable one, and a kind stranger may pass on the resources you need, or at least tell you how to track them down.
What does the future of QGIS look like?
When it comes to looking at what is next for QGIS, it is important to recognize just how far it has come. What started as a database viewer has evolved into an industry leader, and remained open-source.
QGIS has dipped its toes into just about everything at this point. The challenge now is rounding out the existing plugins and functionalities, and adapting them to take advantage of the rapid changes in hardware. A lot of potential lies in the 3D and animation sphere as the application as 3D windows were just introduced a few years ago. Time series animations are also a popular tool, prompting improvement of animation key frames.
Mesh data (think a grid, but each cell is not limited to a single shape), which uses MDAL, is a unique hybrid vector raster format supported in QGIS. It is popular for weather data formats, such as NetCDF, GRIB and other multidimensional data.
The greatest strides are still to be made in expanding off and further developing existing plugins, especially some of the software’s most popular, such as Whitebox and TimeManager.
New user developers are always welcome to contribute to the project though volunteering their time, knowledge, or funds.