Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Choose one project and develop it into a reproducible spatial programming workflow

In this course, you will complete one individual programming project. Each topic is built around open data and a real-world spatial question. The goal is not to reproduce a fixed “correct” answer, but to design and implement your own analytical workflow using the concepts and tools developed during the semester.

All four topics allow you to practice the core elements of spatial data science: data access, data cleaning, structured code design, spatial analysis, visualization, and reproducibility. They differ mainly in their thematic focus, their data sources, and the kinds of analytical decisions you will need to make.

Project 1: ZüriWieNeu

This project focuses on analyzing reported urban issues in the city of Zurich. You will combine open data from the Züri wie neu reporting platform with spatial boundaries of Zurich’s neighborhoods (Quartiere).

A screenshot of the Züri wie neu web interface showing a map of Zurich with various pin markers indicating reported issues, alongside a sidebar listing recent reports with photos.

Reported infrastructure issues in Zurich via the Züri wie neu platform.

Core idea

Your primary goal is to build a robust data model that represents this urban information meaningfully. You will read the raw data, organize it into suitable Python structures (like DataFrames or custom classes), and use spatial logic to explore patterns in the reported problems across the city.

This project is especially well-suited for students who want to practice data engineering. You will need to decide which attributes actually matter, how to store individual reports efficiently, and how to logically connect point data (reports) to polygon data (neighborhoods).

What you will work with

In this project, you will:

Suggested task

Your task is to create a workflow that reads, structures, and analyses the ZüriWieNeu data in a clear and reproducible way. Once your data are prepared and organised, you must formulate and answer at least four interesting questions using your code.

Examples of project questions include:


Project 2: Wildfire Mapping

This project focuses on processing live or recent event data and presenting it through interactive web mapping. It builds on the classic workflow of reading dynamic data, analyzing specific attributes, and visualizing the results geographically.

A global map highlighting active wildfire locations in bright yellow and orange against a dark blue background.

Wildfires 101: How NASA Studies Fires in a Changing World

Core idea

Your main aim is to design an automated pipeline that reads wildfire data, extracts the most useful information, performs a targeted analysis, and presents the results clearly on an interactive map.

You can source your data from static files you download locally, or you can elevate the project by querying a live web API. Using an API makes the final map feel highly dynamic and relevant.

What you will work with

In this project, you will:

Suggested task

Your task is to find a suitable wildfire dataset and build a Python system that automatically reads, analyzes, and maps the data. You must think carefully about which properties are the most informative to the user and how they should be represented visually (e.g., using varying marker sizes or colors). Furthermore, your workflow should include at least one spatial analysis, investigating the distribution of fires across biomes, counties, or any other suitable feature at your chosen mapping scale.

Examples of project questions include:


Project 3: Change Detection

This project focuses on identifying environmental damage using advanced change detection techniques. You will utilize both AlphaEarth embeddings and Sentinel-2 satellite composites to compare spatial patterns before and after a major catastrophic event. The suggested case study is the devastating Hawaii wildfires of 2023.

Global image of a multi-dimensional feature embedding map.

From images to embeddings: Global image of the multi-dimensional feature vectors for every 10 m x 10 m pixel.

Core idea

Your main aim is to compare satellite data from two distinct points in time to identify exactly where the strongest physical changes occurred on the ground.

Instead of relying solely on traditional spectral bands or simple image differencing, this project challenges you to explore the use of AI-generated embeddings. These embeddings provide an abstract, feature-rich representation of the image content. This makes the project methodologically fascinating: you are not just asking what changed, but exploring how advanced spatial change can be mathematically represented and detected.

What you will work with

In this project, you will:

Depending on your specific approach, this workflow may include calculating similarity measures, generating spectral indices, and deriving change metrics to distinguish burned areas from naturally changed (but unburned) areas.

Suggested task

Your task is to develop a workflow that compares the “before” and “after” data for the Hawaii fires and accurately highlights the areas of meaningful spatial destruction. Your primary goal is to ensure your workflow remains interpretable and reproducible, even though you are utilizing advanced, abstract data representations.

Examples of project questions include:


Project 4: Urban Heat

This project focuses on tracking long-term environmental change in Zurich using satellite-derived indicators. You will analyze urban heat patterns over time using Landsat-based Land Surface Temperature (LST), and compare it alongside vegetation indicators like the Normalized Difference Vegetation Index (NDVI).

A heat map of Zurich showing building footprints and urban areas in varying shades of yellow and orange, indicating temperature differences.

Klimamodell 2024: Klimaanalysekarte Nacht - Zukunftsszenario

Core idea

Your main aim is to explore how urban surface conditions in Zurich have evolved over time and how localized heat patterns physically correlate to vegetation density. You will work over a long observation period, tri-annual multispectral data from 1985 to 2024, and you aim to develop a coherent workflow for comparing these different environmental indicators.

This topic is very analytical. It requires you to think critically about long-term trends, spatial patterns, and the statistical relationships between environmental variables (e.g. LST vs. NDVI).

What you will work with

In this project, you will:

This workflow will involve applying spectral indicies, generating time-series charts, and analysing temporal trends.

Suggested task

Your task is to analyze long-term urban heat dynamics within a clearly defined boundary. You must build a workflow that extracts meaningful statistical information from the time series and presents it in a way that clearly communicates how the urban environment has changed over the decades.

Examples of project questions include:


Comparing the topics

All four topics are valid, challenging choices, but they cater to slightly different analytical strengths and interests.

Topic

Main focus

Typical strengths

ZüriWieNeu

Urban reports and neighborhood analysis

Data modeling, structured analysis, clear local questions

Wildfire Mapping

Event data and interactive web maps

APIs, data parsing, cartography, visual communication

Change Detection

Before/after comparison with embeddings

Experimental analysis, remote sensing, spatial anomaly detection

Urban Heat

Long-term satellite time series

Trends, statistical indicators, charting, environmental interpretation

The next section explains how to develop your chosen project, from the initial idea to a functioning, reproducible Python solution.