This project provides tools to simulate and visualize the optimal placement of Electric Vehicle (EV) chargers in Berlin using NSGA-II optimization.
download_data.py: Downloads the latest charger location data from Berlin's WFS service.generate_results.py: Runs the NSGA-II optimization to determine optimal charger allocations.visualize.py: Generates heatmaps and plots based on the simulation results.requirements.txt: List of Python dependencies.
- Install Dependencies:
Ensure you have Python installed. Then run:
pip install -r requirements.txt
Download the latest charger locations:
python download_data.pyThis will create chargers_locations.geojson.
Note: This step requires the raw BNetzA CSV file (e.g.,
Ladesaeulenregister_BNetzA_*.csv) to be present in the directory.
Run the optimization algorithm:
python generate_results.pyThis will generate nsga2_all_k_results_GENERATED.csv.
Generate charts and heatmaps using the existing results:
python visualize.pyThis will create a simulation_outputs_final_geojson directory containing:
- Heatmaps (
.html) - Summary metrics (
.csv) - Plots (
.png)
- Charger Locations: Berlin Open Data (WFS)
- District Boundaries: Berlin Geodaten