Problems
Real geospatial problems, graded automatically. Choose a track, a level and what you want to hand in.
- Not started, Normalise the map before you shade itCartographyGeoJSONCartographybeginnerDifficulty: beginner140 XP~25 min6 checksCartographybeginnerDifficulty: beginner
Turn a count into a rate: population per square kilometre for every country, with the area measured rather than looked up.
You hand in a GeoJSON result.
Dataset
- Countries · MultiPolygon · 241 features · EPSG:4326
What you’ll do
- Measure every polygon's area in an equal-area projection
- Compute a rate by dividing the count by the area
- Return every country, ready to shade
choroplethnormalisationEqual EarthdensityglobalAlso trains Spatial AnalysisOpen problem - Not started, Which airports sit inside a city?Spatial analysisGeoJSONSpatial AnalysisbeginnerDifficulty: beginner130 XP~20 min5 checksSpatial AnalysisbeginnerDifficulty: beginner
Point-in-polygon screening: the airports whose point falls inside a built-up footprint, for a noise-exposure programme.
You hand in a GeoJSON result.
Datasets
- World airports · Point · 893 features · EPSG:4326
- Urban areas · Polygon · 2,143 features · EPSG:4326
What you’ll do
- Test each point for containment in any polygon of a second layer
- Return the qualifying points once each, with their attributes
point-in-polygonspatial joinscreeningaviationglobalAlso trains Data ManagementOpen problem - Not started, Which boroughs is the cycle-hire scheme actually in?Spatial analysisGeoJSONSpatial AnalysisbeginnerDifficulty: beginner130 XP~25 min6 checksSpatial AnalysisbeginnerDifficulty: beginner
Join 799 docking stations to 33 boroughs and rank them by docks per square kilometre.
You hand in a GeoJSON result.
Datasets
- London boroughs · Polygon · 33 features · EPSG:4326
- Santander Cycles docking stations (live snapshot) · Point · 799 features · EPSG:4326
What you’ll do
- Spatially join docking stations to the borough that contains them
- Sum docking points per borough without dropping the boroughs that have none
- Measure borough area in a metric CRS and compute docks per km²
spatial joinaggregationCRStransportLondonAlso trains Data ManagementOpen problem - Not started, How much of each borough lies below ten metres?Raster analysisGeoJSONSpatial AnalysisintermediateDifficulty: intermediate240 XP~40 min6 checksSpatial AnalysisintermediateDifficulty: intermediate
Threshold a DEM, count inside polygons, and turn pixels into square kilometres on a geographic grid — a flood-screening figure per borough.
You hand in a GeoJSON result.
Datasets
- Greater London elevation (Copernicus DEM GLO-30) · Raster · EPSG:4326
- London boroughs · Polygon · 33 features · EPSG:4326
What you’ll do
- Threshold a continuous raster
- Count the thresholded pixels per polygon
- Convert pixels to ground area on a geographic grid
DEMthresholdzonalpixel areafloodLondonAlso trains Remote SensingOpen problem - Not started, How much of Inner London is a five-minute walk from a dock?Spatial analysisGeoJSONSpatial AnalysisintermediateDifficulty: intermediate240 XP~45 min5 checksSpatial AnalysisintermediateDifficulty: intermediate
Buffer, dissolve and clip: the covered share of each Inner London borough at a 400 m walk.
You hand in a GeoJSON result.
Datasets
- London boroughs · Polygon · 33 features · EPSG:4326
- Santander Cycles docking stations (live snapshot) · Point · 799 features · EPSG:4326
What you’ll do
- Buffer 799 stations by 400 m in a metric CRS
- Dissolve the buffers into one coverage geometry
- Clip the coverage to each Inner London borough
bufferdissolveclipCRStransportLondonAlso trains CartographyOpen problem - Not started, Which boroughs have the least tree cover?Raster analysisGeoJSONRemote SensingintermediateDifficulty: intermediate230 XP~40 min7 checksRemote SensingintermediateDifficulty: intermediate
Zonal statistics on a categorical raster: the share of tree-cover pixels inside each borough polygon, for a tree-planting programme's targeting.
You hand in a GeoJSON result.
Datasets
- Greater London land cover 2021 (ESA WorldCover 10 m) · Raster · EPSG:4326
- London boroughs · Polygon · 33 features · EPSG:4326
What you’ll do
- Compute zonal statistics of a categorical raster over polygons
- Express the class as a share per zone
- Return the polygons ready for a choropleth
zonal statisticsland coverraster–vectorWorldCoverLondonAlso trains Spatial AnalysisOpen problem - Not started, Which capitals are more than an hour from a scheduled airport?Decision supportGeoJSONSpatial AnalysisintermediateDifficulty: intermediate230 XP~40 min5 checksSpatial AnalysisintermediateDifficulty: intermediate
Nearest-neighbour from 200 national capitals to 872 civil airports, geodesically, with a threshold that has to be applied honestly.
You hand in a GeoJSON result.
Datasets
- Populated places · Point · 1,251 features · EPSG:4326
- World airports · Point · 893 features · EPSG:4326
What you’ll do
- Filter the places to national capitals and the airports to civil scheduled-traffic fields
- Find each capital's nearest qualifying airport with a geodesic distance
- Keep the capitals beyond 75 km and report the airport and the distance
nearest neighbourgeodesichaversinelogisticsglobalAlso trains Data ManagementOpen problem - Not started, Defend a borough greening shortlistProjectDecision support3 stepsRemote SensingadvancedDifficulty: advanced620 XP~110 min13 checksRemote SensingadvancedDifficulty: advanced
Measure canopy and summer vegetation on their own grids, then add low-ground context and apply one transparent shortlist rule.
Worked in 3 steps, each checked before the next one opens.
- Audit the vegetation rasters · Answers
- Deliver the borough evidence table · Dataset file
- Add low-ground context and shortlist · GeoJSON
Datasets
- Greater London land cover 2021 (ESA WorldCover 10 m) · Raster · EPSG:4326
- Greater London, Sentinel-2 red and NIR, 11 July 2025 · Raster · EPSG:32630
- Greater London elevation (Copernicus DEM GLO-30) · Raster · EPSG:4326
- London boroughs · Polygon · 33 features · EPSG:4326
What you’ll do
- Audit the two vegetation measures from observed raster pixels
- Hand over a per-borough canopy and NDVI table as a GIS file
- Add area-weighted low ground and an explicit shortlist flag
zonal statisticsNDVIland coverDEMmulti-criteriaLondonAlso trains Spatial Analysis, Data ManagementOpen project - Not started, Deliver a field-ready public asset registerProjectData preparation4 stepsData ManagementadvancedDifficulty: advanced600 XP~105 min17 checksData ManagementadvancedDifficulty: advanced
Merge two open asset extracts into a quality-controlled GeoPackage for field inspection.
Worked in 4 steps, each checked before the next one opens.
- Audit both incoming sources · Answers
- Build the common asset model · Dataset file
- Verify and round coordinates · GeoJSON
- Package and verify the handover · Dataset file
Datasets
- Melbourne toilet source · Point · 7 features · EPSG:4326
- Melbourne drinking-water source · Point · 21 features · EPSG:4326
What you’ll do
- Profile and reconcile two source layers without multiplying assets.
- Normalise access without representing unknown status as public.
- Deliver a reproducible, typed WGS 84 GeoPackage handover.
data-preparationprojectgeopackagemelbournehandoverAlso trains Spatial Analysis, CartographyOpen project - Not started, Mean NDVI per borough, across a projection boundaryRaster analysisGeoJSONRemote SensingadvancedDifficulty: advanced300 XP~50 min7 checksRemote SensingadvancedDifficulty: advanced
Zonal statistics where the raster is in UTM and the polygons are in WGS 84: reproject the right layer, compute the index per borough, and hand back a map.
You hand in a GeoJSON result.
Datasets
- Greater London, Sentinel-2 red and NIR, 11 July 2025 · Raster · EPSG:32630
- London boroughs · Polygon · 33 features · EPSG:4326
What you’ll do
- Recognise a CRS mismatch between a raster and a vector layer
- Reproject the vector layer rather than resample the raster
- Compute a per-zone mean of a derived index
NDVIzonal statisticsCRSUTMSentinel-2LondonAlso trains Spatial Analysis, Data ManagementOpen problem - Not started, Plan a cycle redistribution shiftProjectDecision support3 stepsSpatial AnalysisadvancedDifficulty: advanced600 XP~100 min11 checksSpatial AnalysisadvancedDifficulty: advanced
Classify the dock snapshot, propose bounded bike moves, and size the resulting shift with its unserved stations visible.
Worked in 3 steps, each checked before the next one opens.
- Classify the snapshot · SQL
- Map feasible transfers · GeoJSON
- Size the preliminary shift · Answers
Dataset
- Santander Cycles docking stations (live snapshot) · Point · 799 features · EPSG:4326
What you’ll do
- Classify full and empty active stations in SQL
- Build a bounded nearest-source transfer map
- Size a shift and report unserved empties from the same rules
nearest neighbouroperationscapacityCRStransportLondonAlso trains Data Management, GIS ArchitectureOpen project - Not started, Screen capital access exceptionsDecision supportGeoJSONSpatial AnalysisadvancedDifficulty: advanced580 XP~100 min6 checksSpatial AnalysisadvancedDifficulty: advanced
Use airport and port proximity to flag capitals that need direct logistics verification.
You hand in a GeoJSON result.
Datasets
- Populated places · Point · 1,251 features · EPSG:4326
- World airports · Point · 893 features · EPSG:4326
- Ports · Point · 1,081 features · EPSG:4326
What you’ll do
- Compute nearest-neighbour distances from capitals to two facility layers, geodesically
- Apply an ordered rule set to derive a category
- Return the exceptions with the distances that justify them
nearest neighbourgeodesicclassificationlogisticsglobalAlso trains Data ManagementOpen problem - Not started, Screen Newham’s greening gridProjectRaster analysis3 stepsRemote SensingadvancedDifficulty: advanced600 XP~100 min10 checksRemote SensingadvancedDifficulty: advanced
Audit a real land-cover chip, deliver a measured grid file, and identify cells for field verification.
Worked in 3 steps, each checked before the next one opens.
- Audit the class chip · Answers
- Hand over the measured grid · Dataset file
- Map field-verification cells · GeoJSON
Datasets
- Newham WorldCover 2021 class chip · Raster · EPSG:4326
- London boroughs · Polygon · 33 features · EPSG:4326
What you’ll do
- Audit class counts in the clipped raster
- Prepare a traceable borough grid as an uploaded GIS file
- Return only cells that meet a stated greening screen
NewhamWorldCoverurban greeningoffline rasterAlso trains Data Management, Spatial AnalysisOpen project - Not started, Which big cities does the gazetteer not know?Data qualityGeoJSONData ManagementadvancedDifficulty: advanced300 XP~45 min5 checksData ManagementadvancedDifficulty: advanced
Test one layer's completeness against another: large urban footprints with no populated place inside them at all.
You hand in a GeoJSON result.
Datasets
- Urban areas · Polygon · 2,143 features · EPSG:4326
- Populated places · Point · 1,251 features · EPSG:4326
What you’ll do
- Measure footprint area in an equal-area projection and apply a size floor
- Test each footprint for containment of any point from a second layer
- Return the uncovered footprints with the area that says how much they matter
completenessspatial joinequal-areagazetteerglobalAlso trains Spatial AnalysisOpen problem - Not started, Which metros straddle an international border?Spatial analysisGeoJSONSpatial AnalysisadvancedDifficulty: advanced320 XP~50 min5 checksSpatial AnalysisadvancedDifficulty: advanced
Overlay 2,143 urban footprints on 241 countries and keep the ones with real built-up area on both sides of a line.
You hand in a GeoJSON result.
Datasets
- Urban areas · Polygon · 2,143 features · EPSG:4326
- Countries · MultiPolygon · 241 features · EPSG:4326
What you’ll do
- Overlay a footprint layer on a boundary layer
- Measure the pieces in an equal-area projection and apply a minimum
- Aggregate pieces back to the footprint and keep the multi-country ones
overlayequal-areaaggregationbordersglobalAlso trains Data ManagementOpen problem
That’s all 15 problems.
Back to filters