||Real-time AI flood evacuation routing for Nigeria using LightGBM road risk scoring, NetworkX A* routing and population-priority dispatch for NEMA field coordinators.
# Flood Evacuation Routing, Nigeria
> Real-time AI-powered evacuation route optimizer for Nigerian flood emergencies, LightGBM road-segment risk scoring + NetworkX dynamic graph routing + population-weighted prioritization. Built for NEMA, state SEMAs, and Red Cross Nigeria field coordinators.
---
## The Problem
Nigeria loses an average of **$4B/year** to flood damage, with 2022's Anambra/Kogi/Bayelsa floods displacing **1.4 million people** in a single season. The core evacuation challenge is not the water, it's the routing:
- Roads become impassable at different flood depths (laterite roads fail at 10cm; paved highways at 60cm)
- Emergency managers typically rely on paper maps and local intuition
- A single wrong route choice can trap convoys in rising water
- No system existed to dynamically re-route around cut-off bridges and submerged roads in real time
---
## Solution: Dynamic Flood-Aware Evacuation Router
| Component | Technology | Function |
|---|---|---|
| **Road Risk Scorer** | LightGBM | Predicts passability of each road segment from flood depth, road type, elevation |
| **Evacuation Router** | NetworkX + A\* | Finds optimal route on a dynamically penalized road graph |
| **Safe Zone Finder** | Haversine + OSM | Identifies nearest elevated safe areas (schools, churches, LGA HQs) |
| **Priority Ranker** | Population heatmap | Scores communities by vulnerability × isolation to dispatch convoys first |
---
## Coverage
High-priority flood-prone states: **Kogi, Anambra, Bayelsa, Delta, Rivers, Cross River, Kebbi, Niger, Benue, Taraba**
Road network sourced from OpenStreetMap Nigeria extracts (~280K road segments across 36 states + FCT).
---
## Evacuation Decision Pipeline
```
[Flood Alert Triggered]
│
▼
[SRTM Elevation + CHIRPS Rainfall → Flood Depth Estimation per segment]
│
▼
[LightGBM: Passability Score (0-1) per road segment]
│
▼
[NetworkX Graph: edge weights = travel_time / passability_score]
│
▼
[A* Search: origin community → nearest …