You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
safe-bike-routing/README.md

1.8 KiB

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
  • 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/: UNLICENSE
  • dist/gefaehrliche_kreuzungen_2019.json: Lizenz unbekannt? Basierend auf destatis open data.