Python-based geospatial analysis of 100-year flood hazard and exposed population in Madagascar using Rasterio and GeoPandas.
# Climate Risk Mapping: Flood Exposure Assessment in Madagascar
This project assesses **population exposure to 100-year return period flood hazards (RP100)** in Madagascar using geospatial analysis. It integrates flood hazard rasters, population density data, and administrative boundaries to produce quantitative indicators and high-quality maps supporting climate risk and disaster impact studies.
---
## Overview
Flooding is one of the most critical climate-related hazards affecting Madagascar. Understanding where people are exposed is essential for disaster risk reduction, climate adaptation planning, and policy decision-making.
This project implements a reproducible Python-based GIS workflow to:
- Align heterogeneous raster datasets
- Quantify exposed population
- Visualize flood risk spatially at national scale
The workflow is optimized for scientific transparency, modularity, and scalability.
---
## Objectives
- Clip flood hazard and population rasters to Madagascar boundaries
- Harmonize spatial resolution, CRS, and extent
- Estimate the total population exposed to RP100 flood events
- Produce a publication-ready flood exposure map
- Provide a modular and reusable Python workflow
---
## Project structure
```
project/
├── data/
├── boundaries/ # Administrative boundaries
├── flood/ # Flood hazard raster
└── population/ # Population raster
├── outputs/
madagascar_flood_map.png
├── notebooks/
├── run_flood_exposure.ipynb
├── src/
├── import_config.py # Paths, CRS, constants
├── input_data.py # Data loading
├── spatial_clipping.py # Clip rasters to Madagascar
├── flood_hazard_analysis.py # Flood mask & statistics
├── population_resampling_to_flood_grid.py
├── exposed_population.py # Exposure calculation
├── downscaling.py # Resolution harmonization
├── population_classification.py # Populatio …