OpenStreetMap

daniel-j-h's Diary

Recent diary entries

Ein kurzer Einblick in den junction=circular Tag.

Verkehrskreisel sind eine moderne Art von Kreuzungen. Bei der Routenplanung unterscheiden wir zwischen Kreisverkehr Kreuzungen, benannten und unbenannten Kreisverkehren. Kreisverkehr Kreuzungen sind dabei ein Spezialfall von Kreisverkehren, die relativ klein sind und bis zu vier gut unterscheidbare Ausfahrten haben.

Kreisverkehr Kreuzungen

Damit ein Verkehrskreisel sich einen Kreisverkehr im strikten Sinne der Definition nennen und damit junction=roundabout getaggt werden darf muss er bestimmte Kriterien erfüllen. Einer der wohl wichtigsten Faktoren ist, dass der Verkehr im Kreisverkehr Vorfahrt hat.

Nun gibt es Verkehrskreisel die wie Kreisverkehre aussehen und auch als solche von Mappern getaggt werden, aber tatsächlich keine sind, da sie die Kreisverkehr Kriterien nicht erfüllen.

Ein Beispiel dafür ist der Bersarinplatz in Berlin. Hier hat die B 96a Vorfahrt, was den Bersarinplatz als Kreisverkehr disqualifiziert und ein junction=roundabout nicht angebracht ist. Das steht allerdings im Konflikt mit der Routenplanung bei der Instruktionen wie “Beim Bersarinplatz die zweite Ausfahrt nehmen” gewünscht werden.

Bersarinplatz Vorher

Da junction=roundabout nicht angebracht ist, dokumentieren Mapper das Abhandensein meist in Notizen. Dadurch gibt es allerdings keinen Tag mehr, den sich die Routenplanung zu Nutzen machen könnte. Notizen sind unzuverlässige Pseudo-Tags und keine strukturierten Daten.

Ein junction=circular Tag löst dieses Problem: zum Einen erlaubt er es Mappern ein klares Zeichen zu setzen wenn junction=roundabout nicht angebracht ist. Zum Anderen kann der Tag nun bei der Routenplanung in Betracht gezogen werden.

Bersarinplatz Nachher

Hier sind die Wiki Seiten der Tags:

Vielen Dank an Tom Pfeifer für das Schreiben der Wiki Seiten und für das Ausprobieren des Tags an Verkehrskreisel in Berlin.

Hier sind Beispiele für junction=circular in Berlin:

Für mehr Details gibt es hier das ursprüngliche Ticket. Verkehrskreisel sind im OSRM v5.5 Release enthalten. Für Feedback zur Routenplannung sind wir im OSRM Repository, im IRC oder auf der osrm-talk Mailingliste anzutreffen.

Routing — circular junctions

Posted by daniel-j-h on 19 December 2016 in English.

In which I outline the need for the recent junction=circular tag.

Traffic circles are a modern feature of intersection design. They come in multiple forms and shapes.

OSRM distinguishes between roundabout intersections, named, and unnamed roundabouts. Roundabout intersections are a special case of roundabouts that are small and offer up to four clearly distinguishable exits.

Roundabout Turn

To be considered a roundabout in the strict sense the road junction has to follow certain criteria. One of the criteria for a roundabout is that traffic in the roundabout has the right of way.

There are circular junctions which may look like and be commonly identified as roundabouts, but they are not roundabouts because they do not fulfill all of the criteria for being a roundabout.

For example, traffic in the roundabout at Bersarinplatz in Berlin has to give way to incoming traffic on B 96a, disqualifying it as a roundabout. This is in conflict with the desire to provide instructions of the form “use the second exit” from a navigation engine.

Bersarinplatz Route Before

Since a junction=roundabout tag is not appropriate, mappers will often document the intentional absence of any roundabout tag on these junctions using notes. This approach means however these junctions will not be tagged in a way that lets routing engines distinguish them from non-roundabout roads.

Notes are only an unreliable pseudo-tag, however, and don’t provide any clear structured data. A junction=circular tag properly documents the mappers intent and makes it possible for routing engines to handle.

Bersarinplatz Route After

Check out the tags’ Wiki pages for more detailed descriptions:

Thanks to Tom Pfeifer for pushing this endeavor forward, writing up the Wiki pages and tagging circular junctions in Berlin.

Here are some more examples of junction=circular tags in use:

You can read up on the original discussion with the Routing Engine. This feature is included in the latest OSRM v5.5 Release.

Ab und an berichten uns OSRM Nutzer von Umwegen die wir auf Anhieb nicht erklären können. Das folgende Beispiel zeigt eine solche Situation: der Flottsundsbron, eine schmale Brücke mit abwechselndem Verkehr in eine Richtung, im Süden von Schweden. Um solche und ähnliche Situationen handhaben zu können wurde vor Kurzem der oneway=alternating Tag in OpenStreetMap eingeführt.

Uppsala Umweg

Flottsundsbron Mapillary Strassenbild

Flottsundsbron Foto von Mapillary Nutzer alatius lizenziert CC BY-SA 4.0.

Bisher hatte der Flottsundsbron einen oneway=reversible Tag, was dazu führte, dass wir diesen Weg als nicht befahrbar markiert haben. Warum der Tag so problematisch für die Routenplanung ist, zeigen die folgenden zwei grundlegenden Unterschiede in seiner Benutzung:

Zum Einen wird der Tag verwendet um schmale Brücken und Tunnel zu markieren, die ihre Fahrtrichtung relativ häufig ändern (minütig, oft gesteuert durch Ampeln). Bei der Routenplanung können wir also die Wartezeit mit einkalkulieren und den Nutzer trotzdem darüber leiten. Flottsundsbron ist ein Beispiel für eine solche richtungsändernde Einbahnstrasse.

Zum Anderen gibt es Einbahnstrassen die ihre Fahrtrichtung relativ selten ändern, wie zum Beispiel Autobahnen um Pendler früh in die Stadt zu bringen und Abends wieder aus der Stadt heraus. Für diese Situationen macht es keinen Sinn bei der Routenplanung den Nutzer warten zu lassen, ohne die genaue Zeit zu kennen. Die Autobahn I-95 in Virginia ist ein perfektes Beispiel dafür.

Beide dieser grundlegend unterschiedlichen Semantiken wurden bisher im oneway=reversible Tag kombiniert. Das macht es bei der Routenplanung unmöglich zwischen den beiden Fällen zu differenzieren.

Deswegen wurde nach langer Diskussion auf dem Elbe-Labe-Meeting in Dresden der oneway=alternating Tag eingeführt.

Damit wird eine Unterscheidung möglich:

  • Hoch-frequente Änderungen der Fahrtrichtung die der Nutzer abwarten kann werden nun mit oneway=alternating getaggt.
  • Niedrig-frequente Änderungen der Fahrtrichtung können weiterhin oneway=reversible getaggt bleiben.

Mit dieser Unterscheidung kann die Routenplanung den oneway=alternating Weg in Betracht nehmen und gleichzeitig die Wartezeit mit einkalkulieren.

Uppsala Direkter Weg

Hier sind die Wiki Seiten der Tags:

Der nächste Schritt wäre es für oneway=reversible die genauen Zeiten zu taggen und für oneway=alternating die Frequenz bzw. die Wartezeit.

Für mehr Details gibt es hier den ursprünglichen Nutzerbericht. Richtungsändernde Einbahnstrassen sind im OSRM v5.5 Release enthalten. Für Feedback zur Routenplannung sind wir im OSRM Repository, im IRC oder auf der osrm-talk Mailingliste anzutreffen.

Routing — alternating oneways

Posted by daniel-j-h on 12 December 2016 in English.

Every now and then OSRM users report routes that take puzzling, unrealistic detours. For example, a user reported this route that went to extensive means to avoid going over Flottsundsbron, a narrow bridge with alternating direction of traffic in the south of Sweden. Investigating this strange route led us to the oneway=alternating tag in OpenStreetMap.

Uppsala Route Before

Flottsundsbron Mapillary View

Flottsundsbron Photo by Mapillary user alatius under CC BY-SA 4.0.

The oneway=reversible tag’s usage on Flottsundsbron meant our routing engine avoided it completely. A search for this tag in OSM will reveal that it has been used to express two different semantics.

On one hand the tag has been used to describe narrow bridges and tunnels that alternate direction of travel on a high frequency, say every five minutes. Encountering a oneway of this variety may add some amount of waiting time to the user’s route, but the route is always accessible. Flottsundsbron is an example of this type of way; a changing traffic light dictates the direction of travel.

On the other hand there are oneways that change direction of travel very infrequently, like highways for the commute into a city in the morning and out of it in the evening. For these it does not make sense to let the user wait until the direction of travel changes. This highway, I-95 in northern Virginia is an example of a highway that reverses its direction twice a day.

If the routing engine doesn’t know about the frequency of direction change there is no way to distinguish between the two semantics being overloaded in the oneway=reversible tag.

To pacify this ambiguity, we came up with the oneway=alternating tag at the Elbe-Labe-Meeting. The semantic distinction is clear now:

With distinct semantics in place we route you over oneway=alternating but apply a penalty for waiting time.

Uppsala Route After

Check out the tags’ Wiki pages for more detailed descriptions:

The next step would be tagging oneway=reversible with the specific times and oneway=alternating with the waiting times or the frequency.

You can read up on the original discussion with the Routing Engine. This feature is included in the latest OSRM v5.5 Release. We’re always glad for user feedback; in case you stumble over issues like this please talk to us! You can find us in the OSRM Repository on IRC and on the osrm-talk mailinglist.