Introduction to Python GIS

This course teaches you how to do different GIS-related tasks in Python programming language. Each lesson is a tutorial with specific topic(s) where the aim is to learn how to solve common GIS-related problems and tasks using Python tools. In the lessons we use only publicly available data which can be used and downloaded by anyone anywhere. The course is based on Helsinki University’s course Automating GIS processes. We will be useing open-source Python packages, not ArcPy (used in ArcGIS). 

Topics of the course

  • GIS in Python; Spatial Data Model, Geometric Objects, Shapely
  • Working with (Geo)DataFrames
  • Geocoding and spatial queries
  • Geometric operations, reclassifying data
  • Visualization, static and interactive maps
  • Raster data processing in Python
  • Running Python scripts on CSC’s Puhti supercomputer


  • Håvard Aagesen (University of Helsinki)
  • Samantha Wittke (CSC)
  • Kylli Ek (CSC)


  • Basics of geoinformatics.
  • Basic use of Python, no earlier experience with Python GIS packages is needed.

If you need to refresh your Python skills you can go through the materials of GeoPython course.

Because of corona the course will be held in Zoom, but we hope to have the course as interactive as possible. You are welcome to ask questions and help any time.

Course materials


Day 1, Monday 7.3.2022

9:00-10:30Lesson 1: GIS in Python; Spatial Data Model, Geometric Objects, Shapely
10:30-10:45Coffee break
10:45-12:15Lesson 1 continues
12.15-13:00Lunch break
13:00-14:30Lesson 2: Working with (Geo)DataFrames
14:30-14:45Coffee break
14:45-16:15Lesson 2 continues


Day 2, Tuesday 8.3.2022

9:00-10:30Lesson 3: Geocoding and spatial queries
10:30-10:45Coffee break
10:45-12:15Lesson 3 continues
12.15-13:00Lunch break
13:00-13:15Running Python scripts on CSC’s Puhti supercluster
13:15-14:30Lesson 4: Geometric operations, reclassifying data
14:30-14:45Coffee break
14:45-16:15Lesson 4 continues


Day 3, Wednesday 9.3.2022

9:00-10:30Lesson 5: Visualization, static and interactive maps
10:30-10:45Coffee break
10:45-12:15Lesson 5 continues
12.15-13:00Lunch break
13:00-14:30Lesson 6: Raster data processing in Python
14:30-14:45Coffee break
14:45-16:15Lesson 6 continues


Day 4, Thursday 10.3.2022

Optional for course participants, open to everybody.

Zoom link for Thursday: 

12:30-13:30Lesson 7: Running Python code in CSC’s Puhti supercomputer
13:30-13:45Coffee break
13:45-15:15Lesson 7 continues with hands-on exercise 

We’ll use CSC Notebooks with JupyterLab for exercises during Days 1-3 and Puhti web interface for Day 4, no local installations are needed. Puhti training accounts are provided for Day 4.


  • EUR 180 (+24% VAT) for Finnish Universities or institutions for higher education & Finnish state research institutions or government organizations
  • EUR 840 (+24% VAT) for Other

Registration deadline: 1.3.2022


Payment can be made with electronic invoicing, credit card, or direct bank transfer. Note that for electronic invoicing you need the operator and e-invoicing address (OVT code) of your organization. Please also note that invoice reference is needed for electronic invoicing in your organization, so please have this available when registering.