Interactive national map of humanitarian access at woreda (admin3) level for Ethiopia, with OSM health facilities and status-change layers.
# Ethiopia Humanitarian Access Map
An interactive national map of humanitarian access at **admin3 (woreda)** level for Ethiopia,
overlaid with **OpenStreetMap health facilities** and a **facility status-change** layer.
**Live map:**
aschroedercr.github.io
## What the map shows
- **Access choropleth** for all **1,148 woredas**, on a green→red humanitarian ramp
(Accessible → Partially accessible → Some restrictions of movement → Hard to reach),
with a layer toggle to switch between **December 2025 / February 2026 / April 2026**.
- **Health facilities (OSM)** — 1,148 facilities classified as Hospital / Clinic / Pharmacy / Other,
clustered at national zoom and de-clustered into individual color-coded markers when you zoom in.
- **Facility status changes (Dec–Apr)** — the 95 facilities whose woreda access category changed
over the three months, colored by direction (deteriorated / improved / transient), each with a
popup showing its Dec → Feb → Apr path.
## Data sources
| Layer | Source |
|---|---|
| Woreda access status | ETC national access map data, April 2026 (`eth_national-access-map-data_-april-2026.xlsx`) |
| Admin3 boundaries | OCHA COD-AB Ethiopia v04 (valid 2025-01-01), from HDX |
| Health facilities | HOTOSM / OpenStreetMap Ethiopia health facilities |
## Reproducing the map
The published `index.html` is self-contained. To regenerate it:
1. Install dependencies: `pip install pandas geopandas folium shapely openpyxl`
2. Place the source files in the project root:
- `eth_national-access-map-data_-april-2026.xlsx`
- `cod_boundaries/eth_admin3.shp` (+ sidecars) — download the SHP package from the
OCHA COD-AB dataset and extract into `cod_boundaries/`
- `health_facilities/health_facilities.geojson` — from the HOTOSM export
3. Run: `python build_access_map.py`
This writes `ethiopia_access_map.html` (copied to `index.html` for Pages).
## Notes
- Facilities are assigned to woredas by **spatial join against full-resolution b …