uzwil_analysis

City Potential Dashboard Generator

Generate standalone Leaflet dashboards for Swiss city opportunity analysis.

The generator reads city-specific GeoJSON files from data/ and writes an HTML dashboard to maps/.

Data Convention

For a city slug such as uzwil, provide:

The modal split panel reads shared values from data/MS.json:

{
  "MIV": null,
  "LV": null,
  "OV": null
}

An optional Swiss-wide potential layer can be supplied as:

The workbook must include longitude and latitude columns. When a dashboard is generated, the script converts this Excel file into a point layer and filters it to the current city/canton polygon boundary, so only local records are embedded in that dashboard.

Generate a Dashboard

python3 scripts/generate_dashboard.py uzwil

This writes:

maps/uzwil_dashboard.html

You can customize the display name:

python3 scripts/generate_dashboard.py uzwil --city-name "Uzwil"

The CH potential popup and selected-site panel include an estimated revenue value using:

1100 * employee_count * all_modal_split_miv_pct * (miv_pace_good_pct + miv_pace_great_pct)

If data/<city>_people_per_day.geojson is missing, the script can extract the embedded GeoJSON from maps/<city>_people_per_day.html and save it into data/.