Nationwide Mapping of Power Infrastructure and Environmental Features in Kenya Using Open Geospatial Data
# ⚡ MLFC Mini-Project: Mapping Power Infrastructure in Kenya
This project explores **where and how power stations can be strategically set up across Kenya** by combining **open geospatial data** (OSM, GADM, DEM, climate/weather datasets) with *machine learning*.
It is built on the *Fynesse framework*, which structures data work into three modular steps:
- **Access** → Collect & preprocess open datasets (counties, power stations, OSM rivers/roads, etc.)
- **Assess** → Validate & visualize environmental and infrastructure features
- **Address** → Model and generate insights, e.g., predicting optimal power station sites with Gaussian Processes
The ultimate goal is to provide a reproducible, data-driven foundation for **sustainable energy planning, infrastructure expansion, and environmental stewardship** in Kenya.
## 🧭 Objectives
- Map Kenya’s power stations and surrounding environmental features
- Query and clip OSM features (rivers, lakes, forests, roads, grids, etc.) at the county level
- Compute distance-based features for each power station (e.g., distance to river, distance to grid)
- Train a Gaussian Process Classifier to model probability of power station presence given environmental conditions
- Build a scalable pipeline with outputs saved to CSV/GeoJSON for reuse
## Requirements
To run the notebook, you’ll need the following dependencies:
```bash
pip install geopandas matplotlib contextily osmnx scikit-learn fiona shapely
```
## 🧱 Fynesse Framework
| Module | Purpose |
| -------------------- | -------------------------------------------------- |
| `fynesse/access.py` | Download & preprocess open datasets |
| `fynesse/assess.py` | Data validation, visualization, feature extraction |
| `fynesse/address.py` | Modeling & answering key research questions |
## Quick Start
### Prerequisites
- Python 3.9 or higher
- Poetry (install via `curl -sSL
insta …