Fahrradrouter der die Unfallstatistik berücksichtigt https://kreis.uber.space/safe-bike-routing/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Norwin ed99416b0d Merge pull request 'Update dependency webpack-cli to v4' (#6) from renovate/webpack-cli-4.x into master 2 months ago
dist fix fa font path 5 months ago
src add sidebar info, improve fitBounds() 5 months ago
.gitignore init 5 months ago
README.md readme 5 months ago
package-lock.json Update dependency webpack-cli to v4 2 months ago
package.json Update dependency webpack-cli to v4 2 months ago
renovate.json Add renovate.json 3 months ago
webpack.config.js add sidebar 5 months ago

README.md

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.