|
||
---|---|---|
dist | ||
src | ||
.gitignore | ||
package-lock.json | ||
package.json | ||
README.md | ||
renovate.json | ||
webpack.config.js |
safe-bike-routing
OpenRouteService Frontend mit avoid_polygons
abgeleitet aus der Fahrrad-Unfallstatistik 2019.
Der dist
Ordner kann einfach auf xbeliebigem Webserver deployed werden.
Bitte einen eigenen ORS API-Key nutzen.
build
git clone https://git.nroo.de/norwin/safe-bike-routing
npm install
npm run build
avoid_polygons
Das Routing basiert auf einem avoid_polygons
Datensatz, den ich aus der Unfallstatistik abgeleitet habe.
Die Schritte dazu sind:
wget https://unfallatlas.statistikportal.de/app/UnfalldatenDownload/Unfallorte2019_LinRef_Shapefile.zip
- In QGIS öffnen
- Layerfilter:
"IstRad"=1
- Layerfilter:
- QGIS Processing Toolbox
DBSCAN clustering
- min clustersize = 6
- max distance = 20 meters
- Ergebnis Layerfilter:
CLUSTER_ID>=0
- QGIS Processing Toolbox
Buffer
- distance = 15 meters
- dissolve = true
- QGIS Processing Toolbox
Simplify
- tolerance = 10 meters
- export as GeoJSON
- coordinate precision: 6
Dem geneigten Routing-Nerd wird auffallen, dass sich dieses Problem besser als mit Polygonen lösen lässt: Die vernünftige Lösung ist die Unfälle auf ein (OSM-) Straßennetz zu map-matchen und jedem Straßensegment entsprechend ein Gewicht hinzuzufügen, das beim Routing berücksichtigt wird. Dadurch werden auch Stellen mit geringerer Unfallmenge als dem Schwellwert berücksichtigt, und das Unfallrisiko adequat mit anderen Routing-Parametern verrechnet. Dieses Projekt setzt aber auf die deutlich einfachere Lösung, denn es war nur kurzer Zeitvertreib für den ich keinen eigenen Routing Server betreiben will.
license
src/
: UNLICENSEdist/gefaehrliche_kreuzungen_2019.json
: Lizenz unbekannt? Basierend auf destatis open data.