Skip to content
Kharita Challenges

Problems

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

10 of 59 problems

Pick one for me
  1. 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
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. Not started, River kilometres per country, measured on the ellipsoidSpatial analysisPython

    Clip the river centrelines to the country polygons and measure each piece geodesically — no projection is right for a layer that spans the planet.

    PythonexpertDifficulty: expert400 XP~70 min6 checks

    You hand in a Python script.

    Datasets

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

    What you’ll do

    • Find every river–country pair that intersects
    • Cut each river to the country polygon
    • Measure the pieces geodesically and sum per country
    GeoPandaspyprojgeodesicoverlayhydrologyglobalAlso trains Spatial Analysis, Data Management
    Open problem
  10. Not started, Screen rivers for a shared-water annexSpatial analysisPython

    Measure mapped river lengths by country and screen the rivers whose courses are meaningfully shared.

    PythonexpertDifficulty: expert650 XP~120 min7 checks

    You hand in a Python script.

    Datasets

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

    What you’ll do

    • Intersect every river with every country it touches and measure each piece geodesically
    • Aggregate the pieces per river into a count of meaningful holders and a dominance share
    • Assign the shared rivers, ranked by how evenly they are shared, to result
    GeoPandaspyprojgeodesicoverlayhydrologyglobalAlso trains Spatial Analysis, Data Management
    Open problem