Geographic information system (GIS) software packages can be prohibitively expensive, causing many to shy away from mapping and spatial analysis. In this fact sheet, we introduce the reader to a free GIS software package called Quantum GIS (QGIS). We illustrate the utility of this package by walking the reader through simple GIS processes that can be used to visualize spatial patterns of importance to a variety of fields, including natural resources, agriculture, and urban planning, to name but a few. The reader will learn how to create a land-cover map for a county of interest (Alachua County for this example) and create heatmaps that illustrate the density of a given attribute (Florida Springs for this example). This document will benefit those interested in incorporating GIS into their work but who are unable to afford expensive proprietary GIS software packages, as well as anyone interested in learning a new GIS software package.
A geographic information system, or GIS, is a virtual interface that allows users to explore and visualize spatial relationships within and among spatially explicit datasets. A GIS can be a valuable tool for those in both corporate and scientific communities, as well as for those involved in agriculture and land management. GIS allows for intuitive visualization and communication of spatial information using maps, charts, and graphs. For instance, urban planners and natural resource managers often use GIS to observe spatial patterns of land-cover type in a given geographic area. Similarly, wildlife biologists and foresters use GIS to understand the distributions of harmful invasive species, tree species of economic importance, and rare or endangered species. These are but a few examples of a wide range of GIS applications.
Professionally licensed GIS software packages often come at a high price to users. ArcGIS, a GIS software package developed by esri™, is something of an industry standard in the professional world. While ArcGIS is a highly capable GIS product, its high cost (up to $14,000) serves as a barrier to many users. Quantum GIS, on the other hand, offers an open-source option for spatial visualization and analysis which is entirely free (QGIS Development Team 2019). The objectives of this article are to: (1) introduce readers to QGIS as a free, open-source GIS software package, (2) guide readers through some basic aspects of the QGIS user interface, (3) demonstrate some simple geospatial processes using QGIS that can be useful for a variety of projects that would benefit from spatial consideration, and (4) provide resources for readers to learn more about how to attain and use QGIS. This document will benefit those interested in incorporating GIS into their work but who are unable to afford proprietary GIS software, as well as anyone interested in learning a new GIS tool.
Quantum GIS, or QGIS, is a free, open-source GIS software package created by the QGIS Development Team in 2002. QGIS is a volunteer-driven project, accepting contribution from users in the form of code, tool development, bug reports/fixes, documentation, and advocacy/support. The volunteer-driven, open-source nature of QGIS promotes a high degree of quality control. Open-source software benefits from the contributions of experts and users worldwide and from the ability of all users to access and verify code, procedural algorithms, etc. In contrast, the code and procedural algorithms of some proprietary/commercial software packages are designed by a limited group of software developers and are often unavailable to users, making procedures somewhat of a "black box." In the next section, we will explore some aspects of the QGIS user interface. It is important to note before continuing that QGIS periodically releases new versions. The most recent long-term release (LTR) as of this publication is 3.4.5 (new LTR). This version is the one we will use for this document. It can be downloaded at: https://qgis.org/en/site. Past versions of QGIS can also be downloaded from here: https://qgis.org/en/site/forusers/download.html.
QGIS User Interface
In this section, we introduce readers to the QGIS user interface. Figure 1 shows an opened map project in QGIS. This is the screen you can expect to see in the first stages of any QGIS project. Some need-to-know aspects of the interface are labeled in red. #1 is pointing to the map viewer window. This is where spatial data appears after it has been imported into QGIS. Spatial data can be classified as vector data, taking the form of points, lines, and polygons, or as raster data, a digital grid of cells, each with a specific value for one or more variables. In the project pictured here, two datasets are visible in the map viewer window: (a) polygon data representing Florida's county lines and (b) point data representing the locations of Florida's springs. #2 is pointing to the browser panel. This is where you can access files containing spatially explicit datasets located on your hard drive or external drive that you want to open in QGIS. #3 is pointing to the layers panel. The layers panel serves as a table of contents, listing each visual "layer" of spatially explicit data open in the current project. Again, the layers shown are county boundaries and the locations of Florida spring. The check box directly to the left of each layer listed in the layers panel can be unselected to remove a layer from being shown in the map viewer window (#1). However, this layer will still remain within the map project. #4 is pointing to the data source manager, which contains a series of buttons used to import different types of spatial data into QGIS, including vector, raster, and CSV/text data. Finally, #5 is pointing to a series of buttons used to create, manipulate, and save vector data. The remaining icons above the map viewer window (#1) are used for a suite of tasks ranging from resizing maps in the map viewer window, map editing, and statistical analysis.
Figure 2 shows the layer properties window, a pop-up window opened by double-clicking on a layer in the layers panel (Figure 1, #3). In the layer properties window, users can alter the symbology of a layer, including the shape, color, and texture of vector or raster datasets. Additionally, the layer properties window allows users to access information about the dataset not displayed in the map viewer window (i.e., metadata). Understanding the function of these basic aspects of the QGIS user interface will allow you to begin exploring the software on your own. We will dive a bit deeper into the functionality of QGIS in the next section, in which we will walk through some basic processes that can be applied to a variety of projects using two separate examples.
Basic Geospatial Processes
In this section, we will walk through some basic geospatial processes in QGIS and learn more about different types of spatial data along the way. In Example 1, we will use publicly available vector data to explore patterns of land-cover types in Alachua County, FL. "Vector data" describes a type of spatial data that can be represented as points, lines, or polygons. This example uses polygon vector data. In Example 2, we will use point data to create a raster layer describing the spatial density of Florida's springs.
Before reading ahead, download all of the data files to be used in both examples and save them in a single folder on your desktop. A zipped file (2.2 GB) can be downloaded from the Institutional Repository at the University of Florida at the following URL: https://ufdc.ufl.edu/l/IR00010756/00001. Copy the zipped folder to your desktop and simply right click on the folder and select "extract" to unzip it. The unzipped folder will contain all the files needed for the exercises in this document.
Example 1—Visualizing Land Use in Alachua County
In this example, we will use a file showing different land-cover types across Florida and another showing county boundaries from across the US. Using these data, we will create a land-cover file for Alachua County, FL.
Step 1—Open Files
The first step in any GIS project is to open the relevant data files. In this example, we will be using the US_County_Boundaries.shp and FL_Statewide_Land_Cover.shp files. Open these files using the Data Source Manager button at the top of the left-hand toolbar, labeled #4 in Figure 1. In the menu that opens, use the Vector button to add the files. You can then navigate to the files you wish to add using the Vector Dataset(s) dialogue box. For this example, add FL_Statewide_Land_Cover.shp and US_County_Boundaries.shp in that order. Click "Add" at the bottom right to proceed after both files are selected.
Figure 3 shows the FL_Statewide_Land_Cover.shp and US_County_Boundaries.shp layers open in the map viewer window. You can choose which layers are visible by checking the boxes next to the labels in the Layers menu. You can also rearrange them by clicking and dragging the layers into a new order. The layer on top of the list is the layer that appears on top of the map. Move FL_Statewide_Land_Cover.shp to the top. You can also zoom in or out to the full extent of a layer by right clicking the file name and selecting Zoom to Layer. Note that the colors of each layer may differ from that shown in Figure 3.
Step 2—Create a New File
Next, we will create a new file from the file of all counties. We will specifically create a new file for Alachua County, FL. In the layers panel, right click on US_County_Boundaries.shp and select Open Attribute Table. This is a table showing metadata classifications for the US_County_Boundaries.shp layer. In the attribute table, sort the list alphabetically by clicking the NAME column, then scroll down the list and locate Alachua. Now select the Alachua County row by clicking the number on the far left of the window. This action will highlight the row in blue. Close the attribute table by clicking the "x" in the top right corner of the window. Now, in the layers panel, right click on US_County_Boundaries.shp and select Export. In the popup window, select Save selected features as. In the File name box of the new window that opens, name the new layer Alachua_County and click OK. You now have a new file showing only Alachua County, FL. In the layers panel, drag and drop the new file to the top of the list so that you can visualize the new file. Remember that you can move files by clicking and dragging them.
Step 3—Clip FL_Statewide_Land_Cover.shp to Alachua_County
We will now limit the spatial extent of the statewide land-use data to the boundaries of Alachua County. Limiting the extent of data in this way is often beneficial, especially when a user is only interested in the data for a given area. We will use a geoprocessing tool called Clip to limit the spatial extent of the statewide land-use data to that of Alachua County, FL. The Clip tool is one of many plugins, or additional software tools, available for QGIS. Some plugins are created by QGIS users and can be used to perform a variety of specific processes or analyses. First, click on Plugins located on top of the main window and select Manage and Install Plugins. In the plugins window that opens, click Installed located on the left-hand side and then ensure that the Processing plugin has a check mark next to it. If it does not, click the box, or you will not be able to proceed with this example. Close the plugins window. Next, in the toolbar along the very top of the main window, select the tab that says Vector, then select Geoprocessing Tools, and then select Clip. In the popup window, select FL_Statewide_Land_Cover as the input layer and Alachua_County as the overlay layer. Next click the button with three dots located to the left of the "Clipped" bar. This allows you to save the resulting file to a specified location by selecting "save to file." For this example, save the file in the folder containing all other files, making sure to name it Alachua_County_Clip. Make sure the box next to Open output file after running algorithm is checked, and then click Run. Essentially, you just told QGIS to clip the state land-cover data to the boundaries of Alachua County. Therefore, the resulting layer, Alachua_County_Clip, shows the land-use data for Alachua County only. To see this, unselect all other layers in the layers panel (#4 in Figure 1), and zoom to the extent of the new clipped layer by right-clicking on the new layer and selecting Zoom to layer.
Step 4—Visualizing Categories of Land Cover
To see the different land-cover types in Alachua County, double-click on Alachua_County_Clip to open the layer properties window. Using Figure 4 for reference, click on the Symbology tab located on the left-hand side of the window. There is a dropdown box at the top of the window. Click on that bar and select Categorized. This will assign a different color to each type of land cover depicted in the layer. In the Column dropdown box just below, select LEVEL1_L_1. This variable describes the land-cover type of each polygon. The Symbol dropdown box below allows for editing of the symbols that are shown in the layers window. The Color ramp dropdown box allows you to edit the colors used for each level. For now, choose Random colors. Then, click Classify, located at the bottom left of the window. Each land-cover type in the Level1_L_1 column is now assigned a color. Uncheck boxes next to squares that have no land-cover type associated with them and then click OK. Figure 5 shows the finished product: a visual representation of land-use type in Alachua County, with legend available in the layers panel. Note that due to the randomization of color selection, the colors of your map may differ from those shown in Figure 5. You can change the colors of the individual categories by double clicking the categories (e.g., Upland Forest, Rangeland) in the Layers menu. This will bring up the Symbol Selector menu, which will allow you to change the color for that individual land-cover type to whatever you wish.
In this example, we used some simple geospatial processes available in QGIS to create a map showing spatial distributions of different land-use types in Alachua County, FL (Figure 5). The information gained from this figure is that the pattern of land cover is quite complex. A figure like this could be valuable in many contexts. For example, land managers or conservation scientists could use this information to communicate the availability of natural resources in Alachua County. Similarly, urban planners could use this information to make decisions regarding the relative environmental impact of development projects.
Example 2—Spatial Density of Florida's Springs
In this example, we will use point data representing the geographic location of Florida's springs and polygon data showing the boundaries of US counties to create a raster layer representing the spatial density of Florida's springs. We will accomplish this using the QGIS plugin Heatmap. To start, first remove all shapefiles from the map project. You do this by right clicking on a shapefile name in the "layers panel" (#3 in Figure 1) and selecting Remove Layer....
Step 1—Open Files
Just as in Example 1, we will begin by opening the data files relevant to this project. In this example, we will be using the Florida_Springs_2016 and US_County_Boundaries shapefiles. Open and add these shapefiles using the Data Source Manager button at the top of the left-hand toolbar and the Vector button as described in Example 1. This will open your file manager and allow you to navigate to the files you wish to add to the map. Be sure to open Florida_Springs_2016 first and then move it to the top of the list in the shapefile panel after both files are open. This will result in a map similar to that shown in Figure 6 (excluding differences in color). Be sure to zoom to the extent of the Florida_Springs_2016 layer so the map is limited to Florida (right click on "File," and select Zoom to Layer).
Step 2—Using the Heatmap Tool
QGIS comes with a suite of tools. To access these tools, click on the Processing tab at the top of the window and select Toolbox. The Processing Toolbox now opens on the right-hand side of the window, as shown in Figure 6. In the Toolbox, double click Interpolation, then click on Heatmap (Kernel Density Estimation) in the list that appears. The Heatmap tool window will open (Figure 7).
Step 3—Creating the Heatmap
Next, we will use the Heatmap plugin (window is already opened) to create a new raster layer. Again, a raster is a digital grid of cells, each with a specific value for one or more variables. In this example the value will be number of springs. Select Florida_Springs_2016 as the input point layer, and save the output raster as Springs_Heatmap. Set the radius to 0.175, and set the number of rows of pixels to 200. These variables influence the resolution of the raster layer that will be created by specifying the size and number of pixels/grids used in the heatmap analysis. The number of columns of pixels will automatically adjust according to the specified number of rows, as shown in Figure 7. Click Run. The resulting layer (Figure 8) shows the spatial density of Florida's springs. Lighter areas indicate a higher density of springs, and darker areas indicate a lower density. Rename the layer to Springs_Heatmap.
Step 4—Adjusting the Color Gradient
The black and white color gradient in Figure 8 may not be the best choice for visualizing density. Here we show how to change the color and style of color gradients for spatial data. Double-click on the Springs_Heatmap layer to open the layer properties window and then click the Symbology tab located on the left-hand side of the window. Under the Band Rendering tab, select Singleband pseudocolor from the Render type dropdown box. This will display the raster values in the heatmap layer using a color gradient as opposed to a grayscale gradient. This may be preferable when presenting this information. You can change the color gradient using the Color ramp drop-down box. Click OK. Figure 9 shows the final heatmap with adjusted color gradient. Yellow areas indicate a lower density of springs, and red areas indicate a higher density.
In this example, we used QGIS's Heatmap tool to create a visual representation of the spatial density of Florida's springs. This is a valuable tool that can be used with any point data file. For example, a natural resource scientist could use the Heatmap tool to show the spatial density of their sampling efforts, elucidating any potential geographic bias in sampling.
Advantages and Limitations
QGIS is a software package of growing popularity and functionality. The major advantages of QGIS are its ease of access and open-source/free design. However, every product has its limitations. Some of the limitations of QGIS cited in the past are being improved in newer versions. In a 2014 analysis comparing QGIS and esri™'s ArcGIS, researchers from the University of Vienna cited that some features available in ArcGIS, including 3D data, animations, and advanced network analysis, were not available in QGIS (Friedrich 2014). QGIS now offers functionality in these areas. Another common limitation of open-source software in general is the lack of user support in the form of user manuals and tutorials. The QGIS Development Team addresses this challenge by offering ample support for free online. To learn more about QGIS and its many features, visit https://qgis.org/en/site/ and click on the For Users tab. There, you can find links to documentation and community support. Resources include access to user guides, training manuals, and tutorials. You can also find and join various mailing lists, blogs, and forums.
Spatial analysis is a vital part of many scientific studies, particularly in the fields of urban development, soil and water sciences, and ecology. QGIS is a useful tool of increasing utility for spatial visualization and analysis, making it a viable alternative to other expensive software packages. QGIS is an open-source software package that benefits from the contributions of experts and users worldwide. The open-source nature of QGIS, coupled with the increasing availability of free data from online sources, now provides an opportunity for individuals to learn and incorporate GIS technology. For instance, using spatial data made available online for free from the US Census Bureau (2019) and the Florida Department of Environmental Protection (2019), we were able to use tools in QGIS to visualize patterns of land-cover type in Alachua County, FL as well as observe the spatial density of Florida's springs. The examples covered in this article only scratch the surface of QGIS' analytical capabilities. Hopefully, the information provided here can serve as a jumping-off point for your exploration into the functionality of QGIS and into the utility of GIS technology.
Florida Department of Environmental Protection. 2019. "Data and Maps." Accessed on February 26, 2020. Accessed on February 26, 2020. https://floridadep.gov/fgs/data-maps.
Friedrich, C. 2014. Comparison of ArcGIS and QGIS for applications in sustainable spatial planning. Diss. uniwien. Accessed on February 26, 2020. http://othes.univie.ac.at/35758/1/2014-12-20_0900264.pdf
GIS Development Team. 2019. "QGIS Geographic Information System." Open Source Geospatial Foundation Project. Accessed on February 26, 2020. http://qgis.org
United States Census Bureau. 2019. "Geography Program: Geography Mapping Files." Accessed on February 26, 2020. https://www.census.gov/programs-surveys/geography/geographies/mapping-files.html