Skip to content
Kharita Challenges

Problems

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

6 of 59 problems

Pick one for me
  1. Not started, Docks and bikes per borough, in one querySpatial analysisSQL

    A point-in-polygon join with GROUP BY — and the outer join that keeps the boroughs with nothing to count.

    PostGIS / SQLbeginnerDifficulty: beginner150 XP~25 min4 checks

    You hand in a spatial SQL query.

    Datasets

    • London boroughs · Polygon · 33 features · EPSG:4326
    • Santander Cycles docking stations (live snapshot) · Point · 799 features · EPSG:4326

    What you’ll do

    • Join stations to boroughs with a spatial predicate
    • Aggregate per borough
    • Keep every borough, including the ones outside the scheme
    ST_ContainsGROUP BYouter jointransportLondonAlso trains Spatial Analysis
    Open problem
  2. Not started, Normalise the map before you shade itCartographyGeoJSON

    Turn a count into a rate: population per square kilometre for every country, with the area measured rather than looked up.

    CartographybeginnerDifficulty: beginner140 XP~25 min6 checks

    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 Analysis
    Open problem
  3. Not started, Package one playground location per source featureData preparationDataset file

    Turn mixed playground points and areas into a projected GeoPackage site directory.

    Data ManagementbeginnerDifficulty: beginner130 XP~30 min6 checks

    You hand in a prepared dataset file.

    Dataset

    • Sydney playground mixed-geometry source · Point · 8 features · EPSG:4326

    What you’ll do

    • Convert mixed source geometry into a consistent site layer.
    • Reproject coordinates to the receiving metric CRS.
    • Package exact schema and layer name in GeoPackage.
    data-preparationsydneyfileAlso trains Spatial Analysis
    Open problem
  4. Not started, Which airports sit inside a city?Spatial analysisGeoJSON

    Point-in-polygon screening: the airports whose point falls inside a built-up footprint, for a noise-exposure programme.

    Spatial AnalysisbeginnerDifficulty: beginner130 XP~20 min5 checks

    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 Management
    Open problem
  5. Not started, Which boroughs is the cycle-hire scheme actually in?Spatial analysisGeoJSON

    Join 799 docking stations to 33 boroughs and rank them by docks per square kilometre.

    Spatial AnalysisbeginnerDifficulty: beginner130 XP~25 min6 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

    • 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 Management
    Open problem
  6. Not started, Which countries have no airport in the registry?Spatial analysisPython

    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.

    PythonbeginnerDifficulty: beginner150 XP~30 min4 checks

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