Python-based GIS–MCDA framework for prioritising existing fuel stations for EV charging infrastructure in metropolitan Accra, Ghana.
# Accra EV-Charging Suitability
Python-based GIS and multi-criteria decision analysis (MCDA) workflow for prioritising existing fuel stations for electric vehicle charging infrastructure in metropolitan Accra, Ghana.
## Study overview
The workflow evaluates 234 existing fuel stations using three spatial dimensions:
- residential demand, represented by population within a 1 km baseline catchment;
- destination demand, represented by proximity to universities, markets, shopping malls and transport terminals; and
- grid accessibility, represented by proximity to electrical substations.
The three component indices are combined using an equal-weight MCDA model. Candidate stations are ranked, classified using Jenks Natural Breaks, tested under alternative criterion weights and population-buffer distances, and subjected to non-compensatory physical-site screening.
## Repository structure
```text
accra-ev-charging-suitability/
├── README.md
├── requirements.txt
├── .gitignore
├── scripts/
├── Data/
├── Results/
└── Maps/
```
The repository contains the analytical scripts and documentation. Large source datasets, intermediate outputs and physical-assessment images are not included.
## Software requirements
Python 3.11 or later is recommended. Install the required packages from the project root:
```bash
python -m pip install -r requirements.txt
```
`tkinter`, used by the physical-assessment interface, is distributed with most standard Python installations and is not installed through `pip`.
## Data preparation
Download or extract the source datasets described in Data/README.md, and retain the filenames and folder structure shown there. The WorldPop raster and OpenStreetMap-derived GeoJSON files are deliberately excluded from this repository.
All scripts obtain the project root from `scripts/config.py`. No user-specific computer path is required. Advanced users may override the detected root by setting the `EV_CHARGING_PROJECT_DIR` environment variable.
## Reco …