Python package conversion of the ArcGIS workflow from Urban Pluvial Flood Risk Mapping: A High-Resolution Assessment for the City of Hamburg (von Szombathely et al., 2025).
The package is designed to be reusable across cities through city-specific configuration files, for CS6 to transfer the Hamburg case study to target city.
Note: This version is under development and requires verification by CS3 (Hamburg team) before finalizing the analysis pipeline and visualization.
git clone https://github.com/FAIR2Adapt/urban_pfr_toolbox_hamburg.git
cd urban_pfr_package
pip install -e .One YAML file per city. Copy config_template.yaml and fill in paths and field names.
Note: Configuration values such as TOPSIS weights and SVPF parameters require verification by CS3 (Hamburg team), as some are not explicitly defined in the original ArcGIS script files.
project:
city_name: "Hamburg"
crs: "EPSG:25832" # projected CRS in meters, not geographic (lat/lon)
paths:
input_gdb: "path/to/data.gdb"
flood_dir: "path/to/Floodlevels"
output_dir: "./outputs/hamburg"
...See hamburg_config.yaml for a complete example and config_template.yaml for a blank starting point.
python run_analysis.py hamburg_config.yamlOr from Python:
from urban_pfr.analyzer import PFRAnalyzer
analyzer = PFRAnalyzer('hamburg_config.yaml')
analyzer.run()Note: Required verification by CS3 (Hamburg team).
The GDB (or individual shapefiles/GeoPackage files) must contain:
| Layer | Required Fields | Purpose |
|---|---|---|
| Buildings | ID, Floors, Building_type, geometry |
Building footprints with structural attributes |
| Statistical units | StatisticalUnit, Residents, LivingArea, + sensitivity/coping fields, geometry |
Census/population data at neighborhood level |
| Streets | geometry | Road network for evacuation route analysis (HMA) |
| Flood layers | geometry (one per depth level) | Pluvial flood extents at each depth threshold |
CRS requirements: All layers must be in the same coordinate reference system. The package will attempt to detect and fix mismatches automatically, but consistent input CRS is recommended.