Automating GIS-processes 2020

Welcome to the Automating GIS-processes course 2020! This course introduces you to geographic data analysis in the Python programming language through interactive lessons and hands-on exercises. If you are new to Python, we recommend that you start with the Geo-Python course materials at https://geo-python.github.io before diving into the GIS stuff 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 materials are openly available for anyone interested.

Open Access!

Course materials and recorded lesson videos are open for everyone. The aim of this course is to share the knowledge and help people to get started with their journey for doing GIS more efficiently and in a reproducible manner using Python programming. Feel free to share this website to anyone interested, and to use these materials in your own teaching. You can read more info about the license and terms of usage in here.

After completing this course, the students can manage, analyze and visualize spatial data systematically and efficiently using Python, and critically evaluate the available methods. In addition to geographic data manipulation and analysis skills (for example, reading and writing files, managing coordinate reference systems,overlay analysis, network analysis) in Python, the students continue to learn good programming practices, including the use of a version control system (git) and documenting and communicating their analysis workflow in online repositories (GitHub).

Interactive contents

Each lesson in this course can be turned into an interactive programming session in the browser! You can find buttons for activating the python environment using Thebe or Binder at the top of each programming lesson. Students at Finnish higher education institutions are encourage to use the CSC notebooks environment.

Course format

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 analyze 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 (in short, don’t copy paste from other students).

University of Helsinki students

The Automating GIS processes course is part of the Master’s Programme in Geography at the University of Helsinki under the course code GEOG-329-2.

Online teaching

Please note that the course is organized completely online during the 2020 Autumn semester. Access to zoom, slack and CSC notebooks is available to students at Finnish higher education institutes. Recorded lesson videos and course materials are openly available to everyone interested.

Course topics by week

During this course, we will dive into manipulating and analyzing geographic data in Python. This course builds upon topics introduced in the Geo-Python course, where we focused on learning the basics of Python programming. You can find materials from the Geo-Python course at https://geo-python.github.io.

The Automating GIS processes course runs for seven weeks at the University of Helsinki starting in the second teaching period on Tuesday the 27th of October 2020. Topics per week are listed below. Please note that this web page is updated each week before the lesson:




Shapely and geometric 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


Visualization: static and interactive maps


OpenStreetMap data (osmnx) and Network analysis (networkx)


Course recap and Preparing for the final assignment

Extra materials for self-study

PyQGIS, Raster processing

Earlier versions of the course

Older course materials are available at: