Half the City Can Walk to Transit. Sixth Can Walk to Groceries.
Network-based (not straight-line) 400m walkability analysis for Dortmund: for every one of 3,334 public transit stops and 365 grocery stores, the reachable footpath network within a 400m walk was computed in QGIS's Network Analysis toolbox, then merged into a single citywide coverage picture per amenity type.
A straight-line 400m buffer around a bus stop routinely includes a "reachable" area on the other side of a rail line or a motorway. QGIS's Service Area (from Layer) algorithm instead walks the actual footpath network outward from each origin point — 3,334 transit stops, 365 grocery stores — up to 400 metres of real walking distance, against Dortmund's OSM footpath network (53,830 segments, 2,832 km total).
Transit stops analysed3,334Grocery stores analysed365Footpath network2,832 kmWalking threshold400 m
Merging all 3,334 individual transit service areas into one coverage layer (removing double-counted overlap between nearby stops) shows just under half of Dortmund's footpath network within a 400m walk of some form of public transit. The same operation for grocery stores — a much sparser amenity — covers less than a sixth of the network.
Within 400m of transit1,408 km (49.7%)Within 400m of grocery440 km (15.5%)
District
Footpath (km)
Transit coverage
Grocery coverage
Innenstadt-West
242.4
64.9%
42.7%
Innenstadt-Ost
186.0
59.4%
23.5%
Scharnhorst
260.7
55.4%
8.2%
Hombruch
333.8
39.9%
8.1%
Eving
181.8
43.9%
8.4%
Innenstadt-West (the city centre) leads on both counts, unsurprisingly. But the gap between transit and grocery coverage holds in every district — even Scharnhorst, which has above-average transit coverage (55.4%), has one of the lowest grocery coverages (8.2%). Transit accessibility and food accessibility are not the same map.
02
Methods & Tools
Network AnalysisQGIS Service Area (from Layer), 400m walking-distance threshold on the OSM footpath network
Data SourcesOSM footpath/road extract, GTFS transit stops (NRW, April 2025), OSM grocery POI
Geometry ProcessingGeoPandas union of 3,334 / 365 per-point service areas into one coverage layer (no double-counted overlap)
District AggregationPer-district network-length intersection: % of each district's own footpath network covered, independent of district size
OutputInteractive Leaflet monitor, toggle between transit/grocery coverage layers