Skip to content
Kharita Challenges

Problems

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

13 of 59 problems

Pick one for me
  1. Not started, Can the cycle parking feed report real capacity?Data preparationSQL

    Clean a Berlin cycle parking staging table for an operations map and capacity rollup.

    Data ManagementbeginnerDifficulty: beginner130 XP~25 min7 checks

    You hand in a spatial SQL query.

    Dataset

    • Berlin bicycle parking capacity staging · Point · 27 features · EPSG:4326

    What you’ll do

    • Resolve source precedence before casting.
    • Keep unknown capacity distinct from zero.
    • Return geometry for the operational map.
    data-preparationberlinsqlAlso trains PostGIS / SQL
    Open problem
  2. 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
  3. Not started, How many mapped rivers touch each country?Spatial analysisSQL

    ST_Intersects between lines and polygons with GROUP BY — and the outer join that keeps the countries with none.

    PostGIS / SQLbeginnerDifficulty: beginner150 XP~25 min4 checks

    You hand in a spatial SQL query.

    Datasets

    • Countries · MultiPolygon · 241 features · EPSG:4326
    • Rivers and lake centrelines · LineString · 461 features · EPSG:4326

    What you’ll do

    • Join lines to polygons with a spatial predicate
    • Aggregate per polygon
    • Keep every polygon, including those with no match
    ST_IntersectsGROUP BYouter joinhydrologyglobal
    Open problem
  4. Not started, Protect the bus stop key during the loadData preparationSQL

    Recover zero-padded stop identifiers before a transport timetable join.

    Data ManagementintermediateDifficulty: intermediate210 XP~40 min7 checks

    You hand in a spatial SQL query.

    Dataset

    • Singapore bus stop code staging · Point · 31 features · EPSG:4326

    What you’ll do

    • Preserve identifier semantics through SQL casting.
    • Resolve repeated source rows deterministically.
    • Return a clean point layer for the timetable join.
    data-preparationsingaporesqlAlso trains PostGIS / SQL
    Open problem
  5. Not started, Redirect the rider at an empty dockDecision supportSQL

    For every station with no bikes, the nearest station that has one, and the walk in metres — with the KNN operator so it stays fast at 799 stations or 79,000.

    PostGIS / SQLintermediateDifficulty: intermediate250 XP~40 min5 checks

    You hand in a spatial SQL query.

    Dataset

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

    What you’ll do

    • Filter to stations with no bikes
    • Find each one's nearest stocked station with an index-assisted nearest-neighbour search
    • Report the distance in metres
    KNNLATERALGiSTgeographyperformancetransport
    Open problem
  6. Not started, Where should a waterway survey start?Decision supportSQL

    Screen large global urban footprints for mapped river contact while keeping scale limitations explicit.

    Spatial AnalysisintermediateDifficulty: intermediate320 XP~50 min9 checks

    You hand in a spatial SQL query.

    Datasets

    • Urban areas · Polygon · 2,143 features · EPSG:4326
    • Rivers and lake centrelines · LineString · 461 features · EPSG:4326

    What you’ll do

    • Apply a spatial join to real river and urban geometry
    • Keep zero-contact footprints in the inventory
    • Distinguish map-scale contact classes for survey planning
    Natural Earthurban waterPostGISspatial screeningcategorical mapglobalAlso trains PostGIS / SQL, Cartography, Data Management
    Open problem
  7. Not started, Which airfields should the response desk check?Decision supportSQL

    Use a metre-based spatial join to identify civil airfields near strong, shallow earthquake epicentres, with the facilities drawn on the map.

    PostGIS / SQLintermediateDifficulty: intermediate260 XP~45 min6 checks

    You hand in a spatial SQL query.

    Datasets

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

    What you’ll do

    • Filter events by magnitude and depth
    • Join the selected events to civil airfields within 250 km in metres
    • Return traceable, mapped airport points and measured distances
    PostGISearthquake responseairportsgeographyglobalAlso trains Spatial Analysis, Cartography
    Open problem
  8. 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
  9. 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
  10. 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
  11. 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
  12. Not started, Urban share of each state, in SQLSpatial analysisSQL

    ST_Intersection for the pieces and ST_Area on geography for the metres — the overlay-and-measure pattern inside the database.

    PostGIS / SQLadvancedDifficulty: advanced300 XP~45 min5 checks

    You hand in a spatial SQL query.

    Datasets

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

    What you’ll do

    • Overlay polygons with ST_Intersection
    • Measure the pieces on geography rather than in degrees
    • Aggregate per state, keeping the states with nothing
    ST_IntersectiongeographyoverlayGROUP BYland useAlso trains Spatial Analysis
    Open problem
  13. 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 13 problems.

Back to filters