Automated GIS Workflows with QGIS & Python
The goal of this module is to introduce the use of QGIS for typical GIS tasks, such as data visualization, editing, and analysis. Course participants will also learn to use Python (in particular the QGIS Python API PyQGIS) to automate GIS workflows. Concepts that lend themselves to automation are first introduced using the QGIS GUI before we go into detail of achieving the goal in Python.
The module is free of charge for UNIGIS students working to meet their elective subject requirements. Included are:
- all related study materials
- supervision and assessment
- module accreditation according to the curriculum
ClubUNIGIS members can register at a price of € 300,-. Included are:
- all related study materials
- supervision and assessment
- course certificate upon completion of the module
- Introducing Open Source GIS and QGIS
- Data Creation and Editing
- Introducing PyQGIS
- Visualizing spatial data
- Creating GIS Maps
- PyQGIS for automated map creation
- Exploratory data analysis
- Spatial Analysis
- Automated spatial processing
- PyQGIS for spatial analysis
- Presenting spatial data on the web
- Extending QGIS with Python
- Developing QGIS plugins
This is an exclusively english language module, hence any kind of communication with the module lecturer should be in English. A discussion forum is maintained in Moodle in order to support efficient module instruction. You are requested to submit all your questions related to this module to this forum only. The lecturer will check all incoming comments on a regular basis. She will answer your questions or provide you with pointers for solving your problems. The module is delivered in form of an instructed self-study that is based on explorative learning process and process. Theoretical concepts are complemented with practice oriented examples demonstrated with help of multimedia elements. Upon completion of the module students are requested to evaluate the module, which is a part of our quality assurance policy and practice.
- A. Cutts & A. Graser (2018) Learn QGIS 4th edition. Packt Publishing.
- A. Graser (2019) PyQGIS 101: Introduction to QGIS Python programming for non-programmers.
Students are supposed to work with the software QGIS 3.4. The minimum required hardware to complete the module are:
- Hard disk space: 10 GB
- RAM: at least 4 GB (more is recommended)
- Operating system: Win7 or later; Mac 10.13 or later; or Ubuntu 18.04 (or other platform listed on https://qgis.org/en/site/forusers/alldownloads.html)
The assessment is based on your completed assignments. They must be submitted in written format to the Dropbox within the required time period. If assignments are submitted late, the lecturer is not obligated to grade them. It will be listed as such on your transcript.
Lesson 1 － Introducing Open Source GIS & Open Spatial Data
This lesson provides an introduction to the principles of open source (common licenses, pros and cons) in general and the open source geospatial ecosystem in particular (OSGEO, open spatial data sources).
Lesson 2 － Introducing QGIS
This lesson provides an introduction to QGIS and covers installation and first steps in QGIS. After this lesson, you’ll have gained a better understanding about how an open source project like QGIS works and you’ll be ready to start using the software.
Lesson 3 － Data Creation & Editing
This lesson covers getting to know the QGIS user interface, viewing spatial data from different data sources, and how to create new datasets from scratch and edit existing ones.
Lesson 4 － Introducing PyQGIS
This lesson covers the first steps with PyQGIS. This will enable you to do basic things, such as loading data and accessing vector attributes using Python.
Lesson 5 － Visualizing Spatial Data
This lesson covers styling and labeling spatial data. This will enable you to design useful visualizations of spatial data and corresponding attributes.
Lesson 6 － Creating GIS Maps
This lesson covers designing maps for print. This will enable you to create maps for reports and other presentation purposes.
Lesson 7 － PyQGIS for Automated Map Creation
This lesson covers using PyQGIS to automatically create maps. It builds on the introduction of PyQGIS in lesson 4 and the introduction to creating map layouts in lesson 5.
Lesson 8 － Exploratory Data Analysis
This lesson covers core functionality and plugins for exploratory data analysis. This will enable you to gain a better understanding of the data you are working with.
Lesson 9 － Spatial Analysis
This lesson introduces the QGIS Processing toolbox. This will enable you to perform spatial analysis in QGIS.
Lesson 10 － Automated Spatial Processing
This lesson covers automating spatial processing using batch processing and the model builder. This will enable you to create automated workflows to perform different analyses more efficiently and reproducibly.
Lesson 11 － PyQGIS for Spatial Analysis
This lesson covers performing spatial analysis in PyQGIS. This will enable you to create even more sophisticated spatial analysis workflows.
Lesson 12 － Presenting spatial data on the web
This lesson covers how to present spatial data on the web. The tools presented in this lesson require minimal setup. As such, these are not meant to replace more sophisticated web map server setups (through GeoServer, MapServer, or ArcGIS Server) but should be considered complementary tools in your tool belt that enable quick sharing on the web.
Lesson 13 － Extending QGIS with Python
This lesson covers extending QGIS functionality by writing custom actions and Processing scripts using Python.
Lesson 14 － Developing QGIS plugins
This lesson covers developing Python plugins for QGIS.
Lesson 15 － Summary & Outlook
This lesson invites you to review the advances you made throughout this module. Beyond that, the main focus of this lesson is to provide you with more pointers for how to advance your studies.