How praneel-sketch/idp-c works
CityChange is an Earth-observation analysis product: users select a region, then inspect a dated, evidence-qualified account of its land-cover history in a web map or API. The main workflow acquires annual observations, normalizes land classes, detects persistent events, models trajectories and confidence, and publishes summaries and map layers. Separate branches provide anomaly and pattern analysis, imagery for visual verification, and cross-product validation. The graph follows documented capabilities and sampled entry points; detailed internal call wiring is limited where pipeline and server excerpts are incomplete.
Main entry points: pipeline.py Analysis orchestrator · server.py Web API · app.js Time Machine UI · io_annual_lulc.py Annual LULC
Components 21
User experience
- Time Machine UI
frontend/js/app.js - Web API
citychange/server.py
Observation acquisition
- Annual LULC
citychange/datasets/io_annual_lulc.py - Canonical land states
citychange/landstate.py
Change intelligence
- Dated events
citychange/events.py - Change patterns
citychange/analysis.py - Trajectories and rarity
citychange/trajectory.py - Evidence confidence
citychange/confidence.py
Evidence and validation
- WorldCover comparison
citychange/datasets/esa_worldcover.py - Cross-product validation
citychange/validation.py - Before/after imagery
citychange/datasets/sentinel2.py - Region benchmarks
citychange/benchmark.py
Analysis delivery
- Analysis orchestrator
citychange/pipeline.py - Grounded summaries
citychange/report.py - Map overlays
citychange/overlays.py - Map tiles
citychange/tiles.py - Analysis bundle
data
Other components
- Map user
- Nominatim
- Public LULC COGs
- Earth Search STAC
Connections 23
- Map user → Time Machine UI: selects region
- Time Machine UI → Web API: requests analysis
- Web API → Analysis orchestrator: runs analysis
- Time Machine UI → Web API: fetches results
- Web API → Nominatim: geocodes query
- Analysis orchestrator → Annual LULC: acquires annual grids
- Annual LULC → Public LULC COGs: reads windows
- Analysis orchestrator → Canonical land states: remaps classes
- Analysis orchestrator → Dated events: extracts events
- Analysis orchestrator → Change patterns: computes patterns
- Analysis orchestrator → Trajectories and rarity: models histories
- Analysis orchestrator → Evidence confidence: scores evidence
- Analysis orchestrator → Grounded summaries: builds summary
- Analysis orchestrator → Map overlays: renders layers
- Analysis orchestrator → Analysis bundle: writes outputs
- Web API → Analysis bundle: reads bundles
- Web API → Time Machine UI: serves API data
- Analysis orchestrator → Before/after imagery: requests evidence chips
- Before/after imagery → Earth Search STAC: searches scenes
- Analysis orchestrator → Cross-product validation: validates results
- Cross-product validation → WorldCover comparison: compares observations
- Region benchmarks → Analysis orchestrator: runs regions
- Time Machine UI → Map tiles: requests map layers