Ampelgesteuerter Fußgängerüberweg - wie viele Ampeln mappen?

Immer dann, wenn ein Way für zwei Fahrtrichtungen steht, aber eine Ampel auf diesem Way nur für eine Fahrtrichtung gilt. So umständlich muss es aber nicht sein, direction=* am Ampel-Node tut’s auch.

–ks

Ja, du missverstehst da was. Ich weiß nicht wie strikt das durchgezogen wird, aber traffic_signals ist bspw. einfach ein einziger Begriff. Wie du was verwendest ist in der Regel recht gut im OSM-Wiki dokumentiert. Einfach da nachschauen. Und für das nächste Mal: eröffne lieber einen eigenen Thread oder nutze den Kleine-Fragen-Thread, den du ja auch schon gefunden hast.

Das ist was anderes. Der Unterstrich ersetzt einen Wortzwischenraum (der Begriff heißt auf englisch „traffic signals“), der Doppelpunkt dagegen kennzeichnet einen Unteraspekt. Ein Schlüssel „traffic:signals“ würde keinen Sinn ergeben, da es keinen Hauptschlüssel „traffic“ gibt, zu dem das ein Unteraspekt wäre.

–ks

In diesem Fall ist die Schreibweise mit Unterstricht richtig. “entrance:service” bedeutet, dass es sich um die Unterkategorie “service” eines “entrance” handelt. Aber bei “traffic_signals” ist “signals” keine Unterkategorie von “traffic” sondern “traffic_signals” ist ein einzelner, untrennbarer Begriff, folgerichtig gibt es zwar das Attribut “entrance” auch ohne die Spezifizierung “service”, aber nicht das Attribut “traffic”

Nachtrag: Ups, jetzt hatte ich übersehen, dass bereits Kreuzschnabel das erklärt hatte. :slight_smile:

Ich würde bei dem Beispiel tatsächlich die Fußgängerüberwege und die Ampeln für die Autos trennen.

Jeweils einen node dort, wo jeweils die Haltelinie für die Autos ist:
highway=traffic_signals
traffic_signals:direction=…

und dann ein Stück weiter in Richtung Kreuzung, dort wo tatsächlich die Fußgänger die Straße kreuzen jeweils noch einen node
highway=crossing
crossing=traffic_signals

Wie wir weiter oben erfahren haben, steht ja highway=traffic_signals für die Ampel, die den Verkehr auf der Straße stoppt und crossing=traffic_signals für die Ampel, die die Fußgänger stoppt.

Ich halte die Kombination für falsch, auf Key:crossing wird ja klar gesagt dass es sich dabei um ein Untertag von highway=crossing (oder railway=crossing) handelt. Es sollte daher auch nur mit diesen Haupttags kombiniert werden – nicht mit highway=traffic_signals.

Deine ursprüngliche Interpretation ging meiner Meinung nach schon in die richtige Richtung:

  • highway=crossing + crossing=traffic_signals beschreibt eine ampelgesteuerte Kreuzung zwischen Fußgänger- und Straßenverkehr
  • highway=traffic_signals beschreibt eine ampelgesteuerte Kreuzung zwischen mehreren Strömen des Straßenverkehrs

Ein normaler Überweg ist demnach kein highway=traffic_signals. An einer Kreuzung mit Fußgängerüberwegen finden sich hingegen sowohl highway=traffic_signals (dort wo sich die Straßenverkehrsströme kreuzen) als auch highway=crossing (dort wo die Fußgängerüberwege sind).

Wohlgemerkt handelt es sich bei keinem der Tags um einzelne Ampeln! Das gilt in beide Richtungen: Ein Kreuzungsknoten mit highway=traffic_signals besteht in der Realität aus mehreren Ampeln. Genauso kann aber auch ein und dieselbe Ampel sowohl eine Kreuzung zwischen zwei Straßen als auch einen Fußgängerüberweg regeln. Nichtsdestotrotz gibt es in OSM dann zwei separate Nodes dafür.

highway=traffic_signals beschreibt erst einmal die Position, wo sich eine Ampel befindet und Fahrzeuge bei Rot halten müssen.

Vereinfacht kann diese in die Mitte der Kreuzung gesetzt werden, aber nur, wenn alle Verkehrsströme, die per Ampel gesteuert werden, diesen Punkt passieren. Das ist schon dann nicht mehr der Fall, wenn auf einer Straße baulich getrennte Richtungsfahrbahnen vorliegen.

Ab dem Moment sollten die Punkte mit highway=traffic_signals dort gesetzt werden, wo sich die Haltelinien befinden. Das dient dem Zweck, dass ausgeschlossen wird, dass einzelne Verkehrsströme an einer Kreuzung über zwei Punkte mit highway=traffic_signals führen.

Diese Kombination ist aber gang und gäbe und wird daher auch von JOSM erkannt und entsprechend dargestellt. Außerdem wiedersprechen sich hier wieder die einzelnen Wiki-Seiten. key:traffic_signals sagt ja, key:crossing sagt nein

Laut taginfo gibt es derzeit 90 724 Kombinationen aus highway=traffic_signals und crossing=traffic_signals. Das sind 8.67% aller erfassten traffic_signals, also etwas weniger als jeder 10. Eintrag.

Edit: Umgekehrt sind es sogar 18,5%. Also fast jeder fünfte crossing=traffic_signals ist mit highway=traffic_signals kombiniert.

Grüße

Nein, highway=traffic_signals ist eine Abstraktion für eine Ampelanlage, so wie die Straßen auch nur durch eine Linie abstrahiert werden. Diese Abstraktion ist so vereinbart, dass sie der Router möglichst nur einmal zu sehen bekommt, also für einfache Kreuzungen auf dem Schnittpunkt, für Richtungsfahrbahnen auf den Haltelinien. Die Haltelinien sind deswegen praktisch, weil sie im Luftbild gut erkennbar sind.

Keinesfalls ist die Position der highway=traffic_signals-Node die Position eines Ampelmastes.

Ja, das hat den Vorteil, dass der Router eine beampelte Straßenkreuzung (highway=traffic_signals) mit längeren Wartezeiten wichten kann als einen Fußgängerüberweg (highway=crossing), ohne Zusatztags auswerten zu müssen. Für das Fine-Tuning kann man dann gern den beampelten Überweg (crossing=traffic_signals) vom Zebrastreifen (crossing=uncontrolled + crossing_ref=zebra) unterscheiden.

Ja das ist schade und wohl eine Folge widersprüchlicher Dokumentation und historischem Wildwuchs.

Das ist auch für den Fußgänger-Router unpraktisch, den interessiert nämlich vorrangig, sicher über die Straße zu kommen (highway=crossing) und weniger ob Ampel oder Zebra.

Das ist missverständlich. Gemeint ist wohl: “keinesfalls […] die Position eines Ampelmastes neben(!) der Straße”

Sehe ich ganz anders. Es gibt viele Personen in unserer Gesellschaft, die auf gesicherte Überwege angewiesen sind, weil sie z.B. sehr lange brauchen, um über die Straße zu kommen.

Grade für diese Personen bietet OSM zumindest hierzulande einen sehr reichhaltigen Datensatz an.

Daher ist die Unterscheidung der Überwege in verschiedene Stufen (unmaked - uncontrolled - uncontrolled mit Vorrang/Zebrasteifen - traffic_signals) essentiell.

Ebenfalls für Autos ist das nicht unerheblich. Es gibt genug Router, die vor Fußgängerüberwegen warnen.

Grüße

Hi Leute,
ich muss diesen Thread nochmal ausgraben.

Meine Frage:
Ich habe einige Fußgängerüberwege mit Ampeln, die mit highway=crossing + crossing=traffic_signals getaggt sind.
Wie gesagt, nur Fußgängerquerungen, keine Straßenkreuzungen
Nirgendwo ist eine Spur von highway=traffic_signals.
hsimpsons Post #20 stimmt doch aber oder?

Das bedeutet, ich sollte highway=crossing bei den Überwegen durch highway=traffic_signals ersetzen, oder?

Zeig’ doch mal einen Link als Beispiel.

Also hier ein Beispiel einer Fussgängerampel (highway=traffic_signals, crossing=traffic_signals) aus meiner Gegend (mapillary). Ich habe sie damals, sofern ich mich recht erinnere, mit einem JOSM Preset getaggt.

Ach und noch etwas: Osmose hat einen Check auf “possibly missing highway=traffic_signals nearby” bei highway=crossing, siehe osmose issues
Und das liest sich mir so, das man noch traffic_signals neben den Way setzt?!

Für mich klingt das so, dass vermutet wird, dass dort eine Autoampel fehlt.
Soweit ich das sehe, passiert das bei solchen Konstrukten:
https://www.openstreetmap.org/node/5371880474 Vereinfachte Ampel auf der Kreuzung vs “präzise” Fussgängerampel.

Sämtliche Stichproben, die ich gerade gezogen habe, waren nach genau diesem Schema.

Dumm nur, dass das von MKnight beschriebene Schema erlaubt ist, oder? Also für einfache Kreuzungen.

Um noch mal auf meinen Post #34 zurückzukommen:

Diesem Überweg hier: https://www.openstreetmap.org/node/36854554#map=18/52.40047/9.76256&layers=N
fehlt aus meiner Sicht das highway=traffic_signals, das meinte ich, also solche “isolierten” Überwege ohne Kreuzungen oder Einmündungen von Straßen.
Man kann natürlich auch bei solchen Überwege die highway=traffic_signals-Nodes (dann zwei) separat setzen und highway=crossing in der Mitte belassen, nicht wahr?

Zu Tordaniks Einwand damals:
Ohne das highway=traffic_signals wird ein Autorouter die Ampel nicht erkennen können. Nach welchen Regeln soll crossing=traffic_signals für Zeitstrafen ausgewertet werden? Beim Abbiegen kommt man oft an zweien vorbei, es gibt aber nur eine Ampel. Beide können zusätzlich mit highway=crossing getaggt sein, das heißt, daran kann man es auch nicht unterscheiden.

Moin,

Er könnte es problemlos am crossing=traffic_signals.
Ein Autorouter sollte grundsätzlich highway=crossing auswerten - und dann eben auch crossing=*.
Schließlich ist ein Zebrastreifen anders zu werten als ein uncontroled oder unmarked - und dann weiß er auch von der Ampel, denn eine Fußgängerampel ohne Kfz-Ampel wird wohl selten vorkommen.

Aber Du hast natürlich recht - dann hat man bei Kreuzungsübergängen in Richtungsproblem, sobald man diese aus dem node heraus in die Wege zieht (hier ist ein Fußgängerüberweg).
Allerdings hat man dieses Richtungsproblem generell bei Kfz-Ampeln, sobald getrennte Richtungsfahrbahnen ins Spiel kommen - es müsste also eh gelöst werden.

Grüße,
Georg

Hi Georg,

verstehe ich leider nicht ganz, vielleicht hast du ein Beispiel?
Bei highway=traffic_signals (verstehe ich unter Kfz-Ampeln) und getrennten Fahrbahnen arbeitet man halt mit Nodes an den Haltelinien für die Kfz. Dort, wo dann highway=traffic_signals auf einem two-Way-highway liegt (die einmündenden Straßen) wird traffic_signals:direction benutzt (ggf. an bisher fehlenden Stellen nachgetragen).

Klar, viele Ampel-Symbole hat man dann, aber Auswertungsprobleme bei richtiger Implementierung eigentlich nicht oder?

Ich persönlich find das nicht dumm im Sinne von dumm.
Man hat die Auswahl eine Ampelkreuzung (einfach) oder Ampeln (komplex) zu traggen.
Eigentlich ist das prima, jedem so, wie er Zeit investieren mag.