Skip to content
Kharita Challenges

Problems

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

4 of 59 problems

Pick one for me
  1. Not started, Airports per state, as a script that runs againSpatial analysisPython

    Spatially join a global airport layer to US states and hand back one row per state, zeros included — in a script the grader runs.

    PythonintermediateDifficulty: intermediate190 XP~35 min5 checks

    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 Analysis
    Open problem
  2. Not started, How much of Inner London is a five-minute walk from a dock?Spatial analysisGeoJSON

    Buffer, dissolve and clip: the covered share of each Inner London borough at a 400 m walk.

    Spatial AnalysisintermediateDifficulty: intermediate240 XP~45 min5 checks

    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 Cartography
    Open problem
  3. Not started, Where are the bikes, as a share of the docks?Spatial analysisPython

    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.

    PythonintermediateDifficulty: intermediate190 XP~35 min5 checks

    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 Analysis
    Open problem
  4. Not started, Which ports are within 25 km of a capital?Spatial analysisSQL

    ST_DWithin on geography: a proximity join in true metres that the index can still answer.

    PostGIS / SQLintermediateDifficulty: intermediate220 XP~35 min5 checks

    You hand in a spatial SQL query.

    Datasets

    • Populated places · Point · 1,251 features · EPSG:4326
    • Ports · Point · 1,081 features · EPSG:4326

    What you’ll do

    • Write a proximity join with ST_DWithin
    • Measure in metres on SRID 4326 data by casting to geography
    • Keep the predicate in a form the GiST index can serve
    ST_DWithingeographyGiSTproximityglobal
    Open problem