Skip to content
Kharita Challenges

Problems

Real geospatial problems, graded automatically. Choose a track, a level and what you want to hand in.

8 of 59 problems

Pick one for me
  1. Not started, How many tiles does an offline London need?Web deliveryAnswers

    From a bounding box to a tile count: size the offline basemap for a field app across zoom 10–15.

    Web GISbeginnerDifficulty: beginner140 XP~25 min3 checks

    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 Cartography
    Open problem
  2. Not started, At which zoom does every capital get its own tile?Web deliveryAnswers

    Count capitals per XYZ tile across zooms to decide where a label layer switches from clustering to one label per city.

    Web GISintermediateDifficulty: intermediate180 XP~25 min4 checks

    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 Cartography
    Open problem
  3. Not started, At which zoom does the dock layer fit in a tile?Web deliveryAnswers

    Count features per XYZ tile across zoom levels to set a vector-tile pipeline's minimum zoom and its per-tile limit honestly.

    Web GISintermediateDifficulty: intermediate190 XP~30 min4 checks

    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 Analysis
    Open problem
  4. Not started, Why a cloud-optimised GeoTIFF is cheap to serveWeb deliveryAnswers

    Read a COG's internal structure — tiles, overviews, bytes — and turn it into the numbers a tile server's capacity plan rests on.

    GIS ArchitectureintermediateDifficulty: intermediate200 XP~30 min4 checks

    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 GIS
    Open problem
  5. Not started, Deliver a compact sewer review mapProjectWeb delivery3 steps

    Extract a review cohort, make its browser payload inspectable, and measure the transfer budget.

    Web GISadvancedDifficulty: advanced580 XP~90 min9 checks

    Worked in 3 steps, each checked before the next one opens.

    1. Extract the review cohort · SQL
    2. Prepare the browser layer · Python
    3. 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, Python
    Open project
  6. Not started, Design the global event map and detail serviceGeospatial systemsDecisions

    Separate a frequently refreshed spatial overview from authoritative event details and revision history.

    GIS ArchitectureadvancedDifficulty: advanced430 XP~65 min6 checks

    You hand in a set of design decisions.

    Dataset

    • Global M5.5+ earthquakes, Jan–Mar 2025 · Point · 86 features · EPSG:4326

    What you’ll do

    • Size the cost of browser fan-out against the measured snapshot
    • Choose a shared ingestion and overview delivery pattern
    • Separate global summary from per-event detail
    system designUSGSGeoJSON feedcacheevent revisionsglobalAlso trains Web GIS, Data Management
    Open problem
  7. Not started, Design the searchable imagery archiveGeospatial systemsDecisions

    Choose a search, storage, preview and revision pattern for an imagery service with reproducible results.

    GIS ArchitectureadvancedDifficulty: advanced460 XP~70 min5 checks

    You hand in a set of design decisions.

    Dataset

    • Greater London, Sentinel-2 red and NIR, 11 July 2025 · Raster · EPSG:32630

    What you’ll do

    • Separate scene discovery from pixel storage and map rendering
    • Select an access pattern suited to small viewport reads and flexible band expressions
    • Preserve exact-version provenance through corrections
    system designSTACcloud optimized GeoTIFFraster tilesprovenanceAlso trains Remote Sensing, Data Management, Web GIS
    Open problem
  8. Not started, Polling a live feed: what does it cost per day?Web deliveryAnswers

    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.

    GIS ArchitectureadvancedDifficulty: advanced280 XP~35 min3 checks

    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 GIS
    Open problem