The subway_tunnel criterion evaluates drought risk from proximity to underground Stadtbahn/subway tunnels. Tunnels limit the available rooting volume, can act as local drainage (lowering the groundwater table) and warm the surrounding soil — all factors that increase drought stress for nearby street trees (original motivation: issue #139, based on a suggestion by LHH).
The criterion is currently configured with weight 0.0: it contributes extras and the ML feature subway_tunnel_dist_m to the AutoGluon training dataset, but not to the weighted total score (pending weight recalibration).
bluegreencity_ki/criteria/subway_tunnel.pybluegreencity_ki/io/overture_loader.py (load_subway_tunnels)tests/test_subway_construction.pyoverturemaps Python package)subtype=rail, class=subway, filtered to sections whose rail_flags contain is_tunnelis_tunnel — the Stadtbahn tunnel network (A-, B-, C-Tunnel), total ~29.7 kmdata/derived/transport/subway_tunnels.gpkg, refresh_days: 365, stale-cache fallback)The issue originally referenced the Basis-DLM (ver03_l, BKT=1200), which contains the whole Stadtbahn network including surface sections. Overture was chosen instead because its is_tunnel flag directly identifies the underground sections.
sjoin_nearest computes the distance from each tree to the nearest tunnel segment.distance ≤ 15 m → 0.8 (tree directly above/beside the tunnel)
distance ≤ 30 m → 0.5 (within the influence zone)
distance > 30 m → 0.1 (no tunnel influence)
Trees receive the neutral score when no tunnel data is available.
inputs:
overture_transportation:
bbox_wgs84: [9.60, 52.30, 9.92, 52.46]
rail_classes: ["subway"]
tunnel_only: true
cache_path: "./data/derived/transport/subway_tunnels.gpkg"
refresh_days: 365
criteria:
- name: "subway_tunnel"
weight: 0.0
params:
distance_breaks: [15, 30]
distance_scores: [0.8, 0.5, 0.1]
| Parameter | Type | Default | Description |
|---|---|---|---|
distance_breaks |
list[float] | [15, 30] | Distance thresholds in metres |
distance_scores |
list[float] | [0.8, 0.5, 0.1] | Risk score per class (one more than breaks) |
subway_tunnel_risk — risk score (0–1)subway_tunnel_dist_m — distance to the nearest tunnel segment in metres (ML feature)is_tunnel filtering and GPKG cachesubway_tunnel_dist_m as AutoGluon featureAuthor: BlueGreenCity-KI Team Last Updated: 2026-07-22