Python for GIS and Geoscience

Target audience

This course is intended for researchers that have at least basic programming skills in Python. A basic (scientific) programming course that is part of the regular curriculum of bioscience engineering / engineering / sciences should suffice. For those who have experience in another programming language (e.g. Matlab, R, ...), following an online Python tutorial prior to the course is mandatory.

Organizers

Prof. dr. ir. Frieke Van Coillie (Q-ForestLab, Department of Environment)

Prof. dr. Nico Van de Weghe (CartoGIS research group, Department of Geography)

Abstract

This course will teach the students to work with geospatial data, both vector and raster data, in Python. It will focus on introducing the main Python packages for handling such data (GeoPandas, numpy and rasterio, xarray) and how to use those packages for importing, exploring and manipulating geospatial data.

Topic of the course

An important aspect of daily work in geographic information science and earth sciences is the handling of potentially large amounts of data. Reading in spatial data, exploring the data, creating visualisations and preparing the data for further analysis may become tedious tasks. Hence, increasing efficiency and reproducibility in this process without the need of a GUI interface is beneficial for many scientists. The usage of high-level scripting languages such as R and Python are increasingly popular for these tasks thanks to the development of GIS oriented packages. 

This course trains students to use Python effectively to do these tasks, with a focus on geospatial data. It will cover both vector and raster data. The course will focus on introducing the main Python packages for handling such data (GeoPandas, numpy and rasterio, xarray) and how to use those packages for importing, exploring, visualizing and manipulating geospatial data. It is the aim to give the students an understanding of the data structures used in Python to represent geospatial data (geospatial dataframes, (multi-dimensional) arrays and composite netCDF-like multi-dimensional datasets), while also providing pointers to the broader ecosystem of Python packages for GIS and geosciences.

Aim and Scope

This course targets researchers that want to enhance their general data manipulation and analysis skills in Python specifically for handling geospatial data. 

The course does not aim to provide a course in specific spatial analysis and statistics, cartography, remote sensing, OGC web services, ... or general Geographical Information Management (GIS). It aims to provide researchers the means to effectively tackle commonly encountered spatial data handling tasks in order to increase the overall efficiency of the research. The course does not tackle Desktop GIS Python extensions such as arcpy or pyqgis.

Target Adience

This course is intended for researchers that have at least basic programming skills in Python. A basic (scientific) programming course that is part of the regular curriculum of bioscience engineering / engineering / sciences should suffice. For those who have experience in another programming language (e.g. Matlab, R, ...), following an online Python tutorial prior to the course is mandatory.

Dates and venue

13, 16 and 20 October 2025 

09:00 - 17:00

Leslokaal 0.3 (Victor Van Straelen, S8, Campus Sterre) 

Programme

The course is scheduled as a three day course mainly consisting of hands-on practice. A tentative program looks like:

  • Day 1: Setting up the programming environment with the required packages using the conda package manager, a re-cap of Python concepts and introduction to GeoPandas and related packages to work with geospatial vector data.
  • Day 2: An introduction to xarray (and rasterio) for working with raster data. More advanced features of GeoPandas for spatial joins and overlays. Combining raster and vector data and more advanced plotting. The acquired skills will immediately be brought into practice to handle real-world data sets. 
  • Day 3: An introduction to xarray for multi-dimensional netCDF-like datasets. Further case studies to apply the learned skills of the full workshop. The day will end with an overview of other packages that are being used in the geospatial Python ecosystem (to scale to bigger datasets, other visualization frameworks, specialized packages).

Course material

All the course material will be available on github. The course consists of hands-on sessions, making use of Jupyter notebooks

The materials from last year’s course can be found here.

Registration

  • Follow this link for the registration and waiting list. We check if you are eligible to participate. Due to limited places, we give priority to PhD students. Your registration will be confirmed by separate e-mail (outlook invite).
  • Cancellation of your registration can only be performed by sending an email to doctoralschools@ugent.be.
  • The no show policy applies.

Registration fee

Free of charge for Doctoral School members.

Number of participants

Maximum 25 participants

Language

English

Evaluation method

Active participation. After successful participation, the Doctoral School Office will add this course to your curriculum of the Doctoral Training Programme in Oasis. Please note that this can take up to one to two months after completion of the course.