Problems
Real geospatial problems, graded automatically. Choose a track, a level and what you want to hand in.
- Not started, How many tiles does an offline London need?Web deliveryAnswersWeb GISbeginnerDifficulty: beginner140 XP~25 min3 checksWeb GISbeginnerDifficulty: beginner
From a bounding box to a tile count: size the offline basemap for a field app across zoom 10–15.
You hand in your answers as values.
Dataset
- London boroughs · Polygon · 33 features · EPSG:4326
What you’ll do
- Take the bounding box of the borough layer
- Convert box corners to tile coordinates at each zoom
- Count tiles per zoom and total them into a storage estimate
XYZ tilesWeb Mercatorofflinecapacity planningLondonAlso trains CartographyOpen problem - Not started, At which zoom does every capital get its own tile?Web deliveryAnswersWeb GISintermediateDifficulty: intermediate180 XP~25 min4 checksWeb GISintermediateDifficulty: intermediate
Count capitals per XYZ tile across zooms to decide where a label layer switches from clustering to one label per city.
You hand in your answers as values.
Dataset
- Populated places · Point · 1,251 features · EPSG:4326
What you’ll do
- Convert points to tile indices at several zooms
- Find the busiest tile per zoom
- Choose a switch-over zoom from the data
XYZ tileslabelsclusteringzoom levelsglobalAlso trains CartographyOpen problem - Not started, At which zoom does the dock layer fit in a tile?Web deliveryAnswersWeb GISintermediateDifficulty: intermediate190 XP~30 min4 checksWeb GISintermediateDifficulty: intermediate
Count features per XYZ tile across zoom levels to set a vector-tile pipeline's minimum zoom and its per-tile limit honestly.
You hand in your answers as values.
Dataset
- Santander Cycles docking stations (live snapshot) · Point · 799 features · EPSG:4326
What you’ll do
- Convert coordinates to tile indices at several zooms
- Count features per tile and find the maximum
- Choose a minimum zoom from the data rather than a default
vector tilesXYZtippecanoezoom levelsLondonAlso trains Spatial AnalysisOpen problem - Not started, Why a cloud-optimised GeoTIFF is cheap to serveWeb deliveryAnswersGIS ArchitectureintermediateDifficulty: intermediate200 XP~30 min4 checksGIS ArchitectureintermediateDifficulty: intermediate
Read a COG's internal structure — tiles, overviews, bytes — and turn it into the numbers a tile server's capacity plan rests on.
You hand in your answers as values.
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
What you’ll do
- Read a GeoTIFF's block size and overview structure
- Count internal tiles from dimensions and block size
- Relate the structure to what a tile request costs
COGGeoTIFFtile servercapacity planningrasterAlso trains Web GISOpen problem - Not started, Deliver a compact sewer review mapProjectWeb delivery3 stepsWeb GISadvancedDifficulty: advanced580 XP~90 min9 checksWeb GISadvancedDifficulty: advanced
Extract a review cohort, make its browser payload inspectable, and measure the transfer budget.
Worked in 3 steps, each checked before the next one opens.
- Extract the review cohort · SQL
- Prepare the browser layer · Python
- Measure the transfer budget · Answers
Dataset
- NYC 311 sewer requests, 1–7 June 2025 · Point · 408 features · EPSG:4326
What you’ll do
- Query the exact review cohort
- Serve a compact, inspectable WGS 84 point layer
- Measure raw and compressed payload size from the delivered layer
NYC 311urban servicestemporal GISheat mapGeoPandasAlso trains PostGIS / SQL, PythonOpen project - Not started, Polling a live feed: what does it cost per day?Web deliveryAnswersGIS ArchitectureadvancedDifficulty: advanced280 XP~35 min3 checksGIS ArchitectureadvancedDifficulty: advanced
Size the transfer cost of a live layer from the file as served — uncompressed, gzipped, and per day at scale — before choosing between polling and push.
You hand in your answers as values.
Dataset
- Santander Cycles docking stations (live snapshot) · Point · 799 features · EPSG:4326
What you’ll do
- Measure a payload as served rather than as re-encoded
- Quantify what transport compression buys
- Extrapolate a polling design to a daily transfer figure
capacity planningpollinggzippayloadarchitectureAlso trains Web GISOpen problem