Automating GIS Processes 2024#

Welcome to the Automating GIS processes course! 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 by the Department of Geosciences and Geography at the University of Helsinki, Finland. The course has been planned and organized by the Digital Geography Lab. The teaching materials are openly accessible for anyone interested in learning.

Acknowledgements

A special shout-out to Henrikki Tenkanen, Vuokko Heikinheimo, Håvard Wallin Aagesen, Christoph Fink, and others, for their invaluable contributions to the development of this course over the years. Their contributions have shaped it into what it is today.

Open Access

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).

Interactive content

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 *Noppe*.

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 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 GEOG-329-2. We recommend you complete Introduction to advanced geoinformatics (GEOG-G301) before enrolling into this course, and expect basic skills in Python programming, which you can acquire, for instance, in Geo-Python (GEOG-329-1).

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 <https://geo-python.readthedocs.io/>`_ 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 {{starting_date}}.

During the teaching period, this web page is updated each week before the lecture.

week

theme

1

Shapely and geometry objects (points, lines and polygons)

2

Managing spatial data with GeoPandas (reading and writing data, projections, table joins)

3

Geocoding and spatial queries

4

Reclassifying data, overlay analysis

5

Visualisation: static and interactive maps

6

OpenStreetMap data (osmnx) and Network analysis (networkx)

7

Working with Raster data

Earlier versions of this course#

The course pages and material of earlier years are available at:

Other course versions:

Contents#