Skip to content
Kharita Challenges

Problems

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

36 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, Make the pharmacy handover loadableData preparationPython

    Repair a field table so a Paris health directory can map its pharmacy locations reliably.

    Data ManagementbeginnerDifficulty: beginner125 XP~25 min6 checks

    You hand in a Python script.

    Dataset

    • Raw Paris pharmacy handover · Table · 21 rows · EPSG:4326

    What you’ll do

    • Parse and validate coordinates before constructing point geometry.
    • Preserve the first source record for each reference.
    • Deliver a typed, spatially plausible point layer.
    data-preparationcoordinatesquality-controlparisAlso trains Python
    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, What is Greater London made of?Raster analysisAnswers

    A class histogram on a 10 m land-cover raster: the shares a planning document quotes, and the reason a pixel count is not quite an area.

    Remote SensingbeginnerDifficulty: beginner140 XP~25 min5 checks

    You hand in your answers as values.

    Dataset

    • Greater London land cover 2021 (ESA WorldCover 10 m) · Raster · EPSG:4326

    What you’ll do

    • Read a categorical raster and count pixels per class
    • Express classes as shares of the valid pixels
    • State what the number is and is not
    land coverWorldCoverhistogramrasterLondonAlso trains Data Management
    Open problem
  5. Not started, Which airport codes will break the schedule join?Data qualityAnswers

    Audit a registry's identifiers before they become a join key: missing, malformed and duplicated codes, and positions that are only approximate.

    Data ManagementbeginnerDifficulty: beginner130 XP~25 min5 checks

    You hand in your answers as values.

    Dataset

    • World airports · Point · 893 features · EPSG:4326

    What you’ll do

    • Find nulls, duplicates and malformed values in an identifier column
    • Distinguish a key defect from a position defect
    • Report counts the integration can be sized against
    data qualityidentifiersjoin keysaviationAlso trains Python
    Open problem
  6. 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
  7. 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
  8. Not started, Accept the rasters, or send them backData qualityAnswers

    The checks a data manager runs on delivered rasters before anyone analyses them: extent, nodata, value range, and whether the figures are plausible for the place.

    Data ManagementintermediateDifficulty: intermediate200 XP~35 min6 checks

    You hand in your answers as values.

    Datasets

    • Greater London elevation (Copernicus DEM GLO-30) · Raster · EPSG:4326
    • 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 raster metadata and full-resolution statistics
    • Distinguish nodata from valid extremes
    • Record facts a later dispute can start from
    raster QAnodatametadataacceptanceLondonAlso trains Remote Sensing
    Open problem
  9. Not started, Build the global seismic reconnaissance watchlistDecision supportPython

    Turn a fixed USGS event feed into a mapped, reproducible shallow strong-event watchlist for requesting impact products.

    Spatial AnalysisintermediateDifficulty: intermediate240 XP~40 min5 checks

    You hand in a Python script.

    Dataset

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

    What you’ll do

    • Apply two inclusive, unit-aware filters to the frozen event snapshot
    • Carry stable event identifiers and response metadata into a point GeoDataFrame
    • Map event magnitude as a proportional point result without claiming it is impact
    USGSearthquakesGeoPandasemergency screeningglobalAlso trains Python, Data Management, Cartography
    Open problem
  10. 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
  11. Not started, When the attributes and the geometry disagreeData qualityAnswers

    A reference gazetteer carries a latitude and a longitude column beside its geometry. Audit how far apart they are, and what else does not add up.

    Data ManagementintermediateDifficulty: intermediate200 XP~35 min5 checks

    You hand in your answers as values.

    Dataset

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

    What you’ll do

    • Compare each feature's geometry to the coordinate attributes it carries
    • Count the disagreements at two thresholds and identify the worst
    • Find keys the downstream spreadsheet cannot distinguish
    data qualitygazetteerhaversineduplicatesglobalAlso trains Python
    Open problem
  12. 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
  13. Not started, Where should the sewer service desk review closure lag?Decision supportPython

    Turn a fixed 311 complaint cohort into a map of requests open longer than an analyst-defined day.

    Spatial AnalysisintermediateDifficulty: intermediate320 XP~50 min5 checks

    You hand in a Python script.

    Dataset

    • NYC 311 sewer requests, 1–7 June 2025 · Point · 408 features · EPSG:4326

    What you’ll do

    • Calculate closure lag from timestamp fields without inventing values for open requests
    • Select the service manager's review queue
    • Map the concentration of selected requests while retaining per-request details
    NYC 311urban servicestemporal GISheat mapGeoPandasAlso trains Python, Cartography, Data Management
    Open problem
  14. Not started, Which capitals are more than an hour from a scheduled airport?Decision supportGeoJSON

    Nearest-neighbour from 200 national capitals to 872 civil airports, geodesically, with a threshold that has to be applied honestly.

    Spatial AnalysisintermediateDifficulty: intermediate230 XP~40 min5 checks

    You hand in a GeoJSON result.

    Datasets

    • Populated places · Point · 1,251 features · EPSG:4326
    • World airports · Point · 893 features · EPSG:4326

    What you’ll do

    • Filter the places to national capitals and the airports to civil scheduled-traffic fields
    • Find each capital's nearest qualifying airport with a geodesic distance
    • Keep the capitals beyond 75 km and report the airport and the distance
    nearest neighbourgeodesichaversinelogisticsglobalAlso trains Data Management
    Open problem
  15. Not started, Which places can the emissions change map actually compare?Data qualityPython

    Audit two-date indicator coverage and map the places excluded before showing a climate trend.

    Data ManagementintermediateDifficulty: intermediate290 XP~45 min6 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 missingness before a two-date map is interpreted
    • Prevent a many-to-many join on nonstandard ISO codes
    • Show complete and incomplete coverage on real country polygons
    World Bankdata qualitymissing datacategorical mapglobalAlso trains Python, Cartography
    Open problem
  16. Not started, Which ports in the registry are the same port?Data qualityAnswers

    Find probable duplicates in a facility registry by combining a name match with a distance rule — and separate them from the honest homonyms.

    Data ManagementintermediateDifficulty: intermediate190 XP~30 min4 checks

    You hand in your answers as values.

    Dataset

    • Ports · Point · 1,081 features · EPSG:4326

    What you’ll do

    • Find repeated identifiers in a registry
    • Combine an attribute match with a spatial rule to separate duplicates from homonyms
    • Size the missing attribute that would resolve the rest
    data qualitydeduplicationhaversineregistryglobalAlso trains Spatial Analysis
    Open problem
  17. 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
  18. 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
  19. 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
  20. 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
  21. 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
  22. 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
  23. 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
  24. 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
Show 12 more problems

24 of 36 problems shown