Automating GIS Processes 2023
Automating GIS Processes 2023#
Welcome to the Automating GIS processes course 2023! Through interactive lessons and hands-on exercises, this course introduces you to geographic data analysis using the Python programming language. If you are new to Python, we recommend you first start with the Geo-Python course (geo-python.readthedocs.io) before diving into using it for GIS analyses in this course.
Geo-Python and Automating GIS processes (‘AutoGIS’) have been developed at the Department of Geosciences and Geography, University of Helsinki, Finland, and the teaching material is openly available for anyone interested.
Course material and videos are open for everyone. The aim of this course is to share the knowledge and help people to get started with their journey towards doing GIS analyses more efficiently and in a better reproducible manner: using Python and its manifold modules. Feel free to share this website with anyone interested, and use the provided material in your own teaching.
Read more about the license and terms of usage here.
After completing this course, a student is able to manage, analyse, and
visualise spatial data efficiently and in a systematic manner, using Python.
They also know how to evaluate available methods critically. Besides learning
how to handle, manipulate, and analyse geographic data (e.g., read and write
files, manage coordinate reference systems, conduct overlay analysis or network
analysis), students also get to know good programming practices, the benefits of
using a version control system (
git), and how to document and communicate
their analysis workflow in an online repository (GitHub).
Each lesson in this course can be turned into an interactive programming session in the browser. You’ll find buttons for activating the python environment using Binder at the top of each programming lesson. Students at Finnish higher education institutions are encouraged to use CSC’s Notebooks.
The majority of this course will be spent in front of a computer learning to program in the Python language. The course consists of interactive lectures and weekly exercises. The exercises will focus on developing basic programming skills using Python and applying those skills to manipulate and analyse geographic information.
Most exercises in this course involve real world examples and data. For each exercise, you may be asked to submit the Python codes you have written, output figures and answers to related questions. You are encouraged to discuss and work together with other students while working on the weekly exercises. The final exercise must be completed individually and must clearly reflect your own work.
Students at the University of Helsinki
The Automating GIS processes course is part of the Master’s
Programme in Geography, its course code is
We recommend you complete Introduction to advanced geoinformatics
before enrolling into this course, and expect basic skills in Python programming, which you can acquire, for instance, in Geo-Python
Course topics by week#
Over the course of six weeks, we will dive into manipulating and analysing geographic data in Python. This course builds upon the skills introduced in the GeoPython course, which focusses on learning the basics of Python programming.
At the University of Helsinki, the Automating GIS processes course runs for seven weeks during the second teaching period in the autumn semester, starting on Wednesday, 1 November 2023.
During the teaching period, this web page is updated each week before the lecture.
Shapely and geometry objects (points, lines and polygons)
Managing spatial data with GeoPandas (reading and writing data, projections, table joins)
Geocoding and spatial queries
Reclassifying data, overlay analysis
Visualisation: static and interactive maps
OpenStreetMap data (osmnx) and Network analysis (networkx)
Earlier versions of this course#
The course pages and material of earlier years are available at:
- Motivation behind this course
- Shapely and geometry objects
- Exercise 1
- Key concepts
- Managing file paths
- Vector Data I/O
- Geopandas: an introduction
- Map projections
- Global map projections
- Exercise 2
- Geocoding in geopandas
- Point-in-polygon queries
- Spatial join
- Exercise 3
- Retrieving data from OpenStreetMap
- Network analysis in Python