Problems
Real geospatial problems, graded automatically. Choose a track, a level and what you want to hand in.
- Not started, Which countries have no airport in the registry?Spatial analysisPythonPythonbeginnerDifficulty: beginner150 XP~30 min4 checksPythonbeginnerDifficulty: beginner
A points-in-polygons count as a script the grader runs: one row per country, zeros kept, on a global registry that misses a lot of places.
You hand in a Python script.
Datasets
- Countries · MultiPolygon · 241 features · EPSG:4326
- World airports · Point · 893 features · EPSG:4326
What you’ll do
- Read both layers from /data and join points to polygons with a spatial predicate
- Count per country without losing the countries that count zero
- Assign the finished GeoDataFrame, one row per country, to result
GeoPandasspatial joinreproducibilityaviationglobalAlso trains Spatial AnalysisOpen problem - Not started, Airports per state, as a script that runs againSpatial analysisPythonPythonintermediateDifficulty: intermediate190 XP~35 min5 checksPythonintermediateDifficulty: intermediate
Spatially join a global airport layer to US states and hand back one row per state, zeros included — in a script the grader runs.
You hand in a Python script.
Datasets
- United States states · Polygon · 51 features · EPSG:4326
- World airports · Point · 893 features · EPSG:4326
What you’ll do
- Read both layers from /data and join airports to states with a spatial predicate
- Count airports and major airports per state without losing a state that has none
- Assign the finished GeoDataFrame, one row per state, to the variable named result
GeoPandasspatial joinreproducibilityaviationAlso trains Spatial AnalysisOpen problem - Not started, Where are the bikes, as a share of the docks?Spatial analysisPythonPythonintermediateDifficulty: intermediate190 XP~35 min5 checksPythonintermediateDifficulty: intermediate
A scripted per-borough ratio from a live snapshot: bikes over docking points, every borough kept, so it can run again on the next snapshot.
You hand in a Python script.
Datasets
- London boroughs · Polygon · 33 features · EPSG:4326
- Santander Cycles docking stations (live snapshot) · Point · 799 features · EPSG:4326
What you’ll do
- Read both layers from /data and assign stations to boroughs with a spatial predicate
- Sum two columns per borough and compute their ratio, with zero where the denominator is zero
- Assign the finished GeoDataFrame, one row per borough, to result
GeoPandasspatial joinratioreproducibilitytransportLondonAlso trains Spatial AnalysisOpen problem - Not started, How much of each state is built up?Spatial analysisPythonPythonadvancedDifficulty: advanced320 XP~55 min5 checksPythonadvancedDifficulty: advanced
Overlay the urban footprints on the states in an equal-area projection and credit each side of a state line only what lies on it.
You hand in a Python script.
Datasets
- United States states · Polygon · 51 features · EPSG:4326
- Urban areas · Polygon · 2,143 features · EPSG:4326
What you’ll do
- Reproject both layers to an equal-area CRS
- Clip the urban footprints to the states with an overlay
- Sum clipped area per state and express it as a share of the state's area
GeoPandasoverlayequal-areaAlbersland useAlso trains Spatial Analysis, Data ManagementOpen problem - Not started, River kilometres per country, measured on the ellipsoidSpatial analysisPythonPythonexpertDifficulty: expert400 XP~70 min6 checksPythonexpertDifficulty: expert
Clip the river centrelines to the country polygons and measure each piece geodesically — no projection is right for a layer that spans the planet.
You hand in a Python script.
Datasets
- Countries · MultiPolygon · 241 features · EPSG:4326
- Rivers and lake centrelines · LineString · 461 features · EPSG:4326
What you’ll do
- Find every river–country pair that intersects
- Cut each river to the country polygon
- Measure the pieces geodesically and sum per country
GeoPandaspyprojgeodesicoverlayhydrologyglobalAlso trains Spatial Analysis, Data ManagementOpen problem - Not started, Screen rivers for a shared-water annexSpatial analysisPythonPythonexpertDifficulty: expert
Measure mapped river lengths by country and screen the rivers whose courses are meaningfully shared.
You hand in a Python script.
Datasets
- Rivers and lake centrelines · LineString · 461 features · EPSG:4326
- Countries · MultiPolygon · 241 features · EPSG:4326
What you’ll do
- Intersect every river with every country it touches and measure each piece geodesically
- Aggregate the pieces per river into a count of meaningful holders and a dominance share
- Assign the shared rivers, ranked by how evenly they are shared, to result
GeoPandaspyprojgeodesicoverlayhydrologyglobalAlso trains Spatial Analysis, Data ManagementOpen problem