GeoAI-powered flood risk decision support system for Nairobi County, Kenya.
# GeoAI Flood Risk Decision Agent
A Python-based geospatial analysis project for flood susceptibility modelling in Nairobi County, Kenya.
---
## Project Status — August 2026
> **Current Milestone: Phase 7 — Spatial Alignment and MCDA Preparation**
### Completed
* ✅ Phase 1 — Data Acquisition
* ✅ Phase 2 — Data Validation
* ✅ Phase 3 — Analysis-Ready Data
* ✅ Phase 4 — Terrain and Hydrological Analysis
* ✅ Phase 5 — Flood Conditioning Factors
* ✅ Phase 6 — Factor Standardization / Normalization
* ✅ Phase 7 — Spatial Alignment and MCDA Preparation
### Upcoming
* ⏳ Phase 8 — MCDA Flood Susceptibility Modelling
* ⏳ Phase 9 — Flood Susceptibility Validation
* ⏳ Phase 10 — GeoAI Interpretation and Decision Support
> **Phase 7 is fully completed, validated, visually verified in QGIS, documented, and pushed to GitHub.**
>
> The project is now ready to proceed to **Phase 8 — MCDA Flood Susceptibility Modelling**.
---
# Project Overview
The **GeoAI Flood Risk Decision Agent** is a modular Python-based geospatial analysis and spatial decision-support project for flood susceptibility modelling in Nairobi County, Kenya.
The project integrates GIS, remote sensing, terrain analysis, hydrological modelling, spatial analysis, raster processing, factor standardization, spatial alignment, Multi-Criteria Decision Analysis (MCDA), and GeoAI-assisted interpretation.
The overall workflow is designed to transform raw geospatial datasets into validated flood-conditioning factors, standardize those factors into comparable scores, align them to a common modelling grid, combine them through MCDA, validate the resulting flood susceptibility surface, and ultimately provide an explainable spatial decision-support capability.
The project follows a reproducible, modular, and validation-driven development approach.
Each major phase follows:
```text
Concept
↓
Methodology
↓
Implementation
↓
Execution
↓
Validation
↓
QGIS Visual Verification
↓
Documentation
↓
Git Commit
↓
Git Push
``` …