Routenplanung — Umschreiben von `exit_to=` nach `destination=` Tags
Posted by daniel-j-h on 26 February 2017 in German (Deutsch).Um den Nutzern unserer Open Source Routing Machine anständige Instruktionen liefern zu können, wollen wir Informationen zu Schildern an Autobahnausfahrten einbeziehen.
Es gibt zwei Tagging Varianten für Autobahnausfahrtsschilder:
- Den exit_to= Tag, gesetzt auf der highway=motorway_junction node an der der Ausfahrtsweg abgeht. Diese Art des Taggings wurde hauptsächlich verwendet da der standard Mapnik Stil es recht gut aussehen lies.
- Der neue destination= Tag auf dem Way der Ausfahrt.
Warum brauchen wir zwei grundweg unterschiedliche Tagging Varianten? Hier ist ein Beispiel für eine fortfahrende Autobahn und eine Ausfahrt:
a . . . b . . d .
` . c .
Hier kann der exit_to
Tag auf der node b
zusammen mit dem highway=motorway_junction
Tag gesetzt werden.
Soweit so gut. Was passiert nun aber bei mehreren Ausfahrten die sich alle an einer einzelnen node auftrennen?
. c
a . . . b `
` . d
Hier wollen wir Ausfahrtsinformationen für bc
als auch bd
setzen.
Dafür gibt es Workarounds wie exit_to:left
und exit_to:right
, die aber schon bei gering komplexeren Situationen versagen.
Für genau diese Fälle ist der destination
Tag die bessere Alternative.
Hier ist ein Beispiel wo ein solcher Workaround verwendet wird.
Foto von Mapillary user andrewsnow lizenziert CC BY-SA 4.0.
Die Open Source Routing Machine unterstützt destination
Tags bereits seit einer Zeit.
Um exit_to
Tags auf nodes zu unterstützen müssten wir das Strassennetz zuerst aufbauen um dann die Wege zu suchen, für die die Schilder zutreffen.
Wir haben das selbe Problem mit Stop Schildern ohne direction
Tag: wir müssten die nächste Kreuzung finden zu der das Stopschild gehört um dann die Abbiegevorgänge zu bestrafen.
Aber um die nächste Kreuzung finden zu können brauchen wir bereits das Strassennetz. Diese Annahmen sind grundweg inkompatibel mit den Techniken welche die Routing Engine verwendet um hoch-performant und skalierend OpenStreetMap Daten zu parsen.
Leider ist der exit_to
node Tag immer noch sehr verbreitet. Vor allem in den USA. Siehe Bay Area:
Verglichen dazu: der destination
way Tag:
Damit ist klar, wir müssen beide Tagging Varianten unterstützen.
Aus den Grund habe ich ein Tool geschrieben, welches exit_to
node Tags zu destination
way Tags umschreibt wenn es eindeutig möglich ist.
https://github.com/mapbox/rewrite-exit-destination-signage
Dabei versteht es Situationen wie Ausfahrten in einer Richtung, bereits vorhandene destination
Tags, und andere Grenzfälle.
Korrektheit ist dabei das primäre Ziel.
Für die Bay Area kann das Tool etwa 800 destination
Tags in wenigen Sekunden hinzufügen.
Ein brauchbares pre-processing Tool also das die Navigation für Autobahnen mit der Open Source Routing Machine benutzerfreundlicher macht!
Hier sind die Wiki Seiten der Tags:
Hier ist der Open Source Routing Machine v5.6 Release zum selbst ausprobieren.
Discussion