Skip to content
Kharita Challenges

Problems

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

18 of 59 problems

Pick one for me
  1. Not started, Are these country polygons fit to assign cities to?Data qualitySQL

    A point-in-polygon audit that exposes what 1:50m generalisation does to a coastline — and which places the attribute and the geometry disagree about.

    PostGIS / SQLadvancedDifficulty: advanced300 XP~45 min5 checks

    You hand in a spatial SQL query.

    Datasets

    • Populated places · Point · 1,251 features · EPSG:4326
    • Countries · MultiPolygon · 241 features · EPSG:4326

    What you’ll do

    • Join points to the polygon containing them with an outer join
    • Compare an attribute to a derived value with NULL-safe semantics
    • Return the disagreement list, including the points nothing contains
    ST_Containsouter joinIS DISTINCT FROMgeneralisationdata qualityAlso trains Data Management
    Open problem
  2. Not started, Build an earthquake contact reconnaissance queueProjectDecision support3 steps

    Screen strong shallow events, quantify airfield and settlement proximity, and hand over a traceable contact map.

    Spatial AnalysisadvancedDifficulty: advanced550 XP~95 min12 checks

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

    1. Select the event queue · SQL
    2. Measure contact gaps · Answers
    3. Hand over the access map · Python

    Datasets

    • Global M5.5+ earthquakes, Jan–Mar 2025 · Point · 86 features · EPSG:4326
    • World airports · Point · 893 features · EPSG:4326
    • Populated places · Point · 1,251 features · EPSG:4326

    What you’ll do

    • Select a reproducible event queue in SQL
    • Measure two independent global proximity indicators
    • Deliver an auditable access map with an explicit contact-gap distinction
    projectUSGSnearest neighbourlogisticsglobalAlso trains Python, Data Management, Cartography
    Open project
  3. Not started, Defend a borough greening shortlistProjectDecision support3 steps

    Measure canopy and summer vegetation on their own grids, then add low-ground context and apply one transparent shortlist rule.

    Remote SensingadvancedDifficulty: advanced620 XP~110 min13 checks

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

    1. Audit the vegetation rasters · Answers
    2. Deliver the borough evidence table · Dataset file
    3. 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 Management
    Open project
  4. Not started, Deliver a field-ready public asset registerProjectData preparation4 steps

    Merge two open asset extracts into a quality-controlled GeoPackage for field inspection.

    Data ManagementadvancedDifficulty: advanced600 XP~105 min17 checks

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

    1. Audit both incoming sources · Answers
    2. Build the common asset model · Dataset file
    3. Verify and round coordinates · GeoJSON
    4. 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, Cartography
    Open project
  5. Not started, Deliver an access-safe public toilet layerData preparationDataset file

    Classify access honestly and deliver a typed projected GeoPackage without null locations.

    Data ManagementadvancedDifficulty: advanced365 XP~55 min6 checks

    You hand in a prepared dataset file.

    Dataset

    • Amsterdam toilet access staging · Point · 14 features · EPSG:4326

    What you’ll do

    • Distinguish missing access from public access.
    • Preserve first-source precedence and drop null geometry.
    • Deliver a named GeoPackage in the receiving CRS.
    data-preparationamsterdamfileAlso trains Spatial Analysis
    Open problem
  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, How much of each state is built up?Spatial analysisPython

    Overlay the urban footprints on the states in an equal-area projection and credit each side of a state line only what lies on it.

    PythonadvancedDifficulty: advanced320 XP~55 min5 checks

    You hand in a Python script.

    Datasets

    • United States states · Polygon · 51 features · EPSG:4326
    • Urban areas · Polygon · 2,143 features · EPSG:4326

    What you’ll do

    • Reproject both layers to an equal-area CRS
    • Clip the urban footprints to the states with an overlay
    • Sum clipped area per state and express it as a share of the state's area
    GeoPandasoverlayequal-areaAlbersland useAlso trains Spatial Analysis, Data Management
    Open problem
  9. Not started, Mean NDVI per borough, across a projection boundaryRaster analysisGeoJSON

    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.

    Remote SensingadvancedDifficulty: advanced300 XP~50 min7 checks

    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 Management
    Open problem
  10. Not started, Model event and airfield condition checksGeospatial systemsSchema

    Design a PostGIS schema that keeps earthquake events, airfields and repeated condition checks traceable.

    Data ManagementadvancedDifficulty: advanced520 XP~85 min12 checks

    You hand in a database schema (DDL).

    What you’ll do

    • Model stable event and airfield identities with timestamped condition observations
    • Declare point type and WGS 84 SRID at the database boundary
    • Build spatial and chronological indexes that support the response dashboard
    projectPostGISschemadata engineeringemergency responseAlso trains PostGIS / SQL, GIS Architecture
    Open problem
  11. Not started, Plan a cycle redistribution shiftProjectDecision support3 steps

    Classify the dock snapshot, propose bounded bike moves, and size the resulting shift with its unserved stations visible.

    Spatial AnalysisadvancedDifficulty: advanced600 XP~100 min11 checks

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

    1. Classify the snapshot · SQL
    2. Map feasible transfers · GeoJSON
    3. 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 Architecture
    Open project
  12. Not started, Repair the park intake without losing its second partData preparationPython

    Repair an invalid park outline while preserving every valid polygon component.

    Data ManagementadvancedDifficulty: advanced370 XP~55 min6 checks

    You hand in a Python script.

    Dataset

    • Cape Town park polygons, geometry intake · Polygon · 11 features · EPSG:4326

    What you’ll do

    • Repair topology without discarding area.
    • Handle null geometry and source precedence before release.
    • Deliver a uniform polygon type.
    data-preparationcape townpythonAlso trains Python
    Open problem
  13. Not started, Screen capital access exceptionsDecision supportGeoJSON

    Use airport and port proximity to flag capitals that need direct logistics verification.

    Spatial AnalysisadvancedDifficulty: advanced580 XP~100 min6 checks

    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 Management
    Open problem
  14. Not started, Screen Newham’s greening gridProjectRaster analysis3 steps

    Audit a real land-cover chip, deliver a measured grid file, and identify cells for field verification.

    Remote SensingadvancedDifficulty: advanced600 XP~100 min10 checks

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

    1. Audit the class chip · Answers
    2. Hand over the measured grid · Dataset file
    3. 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 Analysis
    Open project
  15. Not started, Show country CO2 change without losing the outlierCartographyPython

    Join two WDI observations to country polygons, preserve the true change, and cap only the display value.

    CartographyadvancedDifficulty: advanced500 XP~85 min7 checks

    You hand in a Python script.

    Datasets

    • Countries · MultiPolygon · 241 features · EPSG:4326
    • CO2 per capita by country, 2010 and 2022 · Point · 241 features · EPSG:4326

    What you’ll do

    • Audit and join two independently sourced global datasets on a stable country key
    • Calculate signed per-capita change while excluding missing year pairs
    • Publish a diverging polygon map with a disclosed display cap and the true values retained
    projectWorld BankNatural Earthdata joindiverging mapglobalAlso trains Python, Data Management
    Open problem
  16. Not started, Which big cities does the gazetteer not know?Data qualityGeoJSON

    Test one layer's completeness against another: large urban footprints with no populated place inside them at all.

    Data ManagementadvancedDifficulty: advanced300 XP~45 min5 checks

    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 Analysis
    Open problem
  17. Not started, Which metros straddle an international border?Spatial analysisGeoJSON

    Overlay 2,143 urban footprints on 241 countries and keep the ones with real built-up area on both sides of a line.

    Spatial AnalysisadvancedDifficulty: advanced320 XP~50 min5 checks

    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 Management
    Open problem
  18. Not started, Which neighborhoods merit a service follow-up?Decision supportSQL

    Join geocoded service requests to neighborhood polygons and map a review share only where the sample supports it.

    PostGIS / SQLadvancedDifficulty: advanced390 XP~65 min8 checks

    You hand in a spatial SQL query.

    Datasets

    • 2020 Neighborhood Tabulation Areas · MultiPolygon · 262 features · EPSG:4326
    • NYC 311 sewer requests, 1–7 June 2025 · Point · 408 features · EPSG:4326

    What you’ll do

    • Join incident locations to neighborhoods with a boundary-inclusive predicate
    • Compute elapsed-time review share with a clear denominator
    • Suppress very small denominator areas before mapping percentages
    NYC 311PostGISspatial joinservice operationsgraduated mapAlso trains Spatial Analysis, Cartography, Data Management
    Open problem

That’s all 18 problems.

Back to filters