Alle (halbwegs akzeptierten) Fahrradwegtaggings an der Straße

Moin!

Ich schreibe einen Parser für an der Straße gemappte OSM-Radwege. Der Anspruch ist, dass der Parser alle möglichen Fahrradwegtypen kennt und zumindest halbwegs akzeptierten (de-facto) Taggings versteht. Der Parser soll Fahrradwege jeweils links und rechts an der Straße in folgende grafische Kategorien einteilen können:

stellt sich raus, das ist garnicht so einfach da es so mehrere unterschiedliche Wege gibt das gleiche zu taggen. Soweit habe ich folgende mappings:

  • cycleway=no: links und rechts kein

  • cycleway=track + cycleway:oneway=no: links und rechts jeweils Fahrradwege in beide Richtungen

  • cycleway=track: links und rechts Fahrradweg

  • cycleway=lane: links und rechts Fahrradstreifen (unbestimmt) - nur in Belgien!

  • cycleway=shared_lane + cycleway:lane=advisory: links und rechts Mehrzweckstreifen - nur in Belgien!

  • cycleway=shared_lane + cycleway:lane=pictogram: links und rechts nur Piktogramme

  • cycleway=lane + cycleway:oneway=no: links und rechts jeweils Fahrradstreifen (unbestimmt) in beide Richtungen - nur in Belgien!

  • cycleway=lane + cycleway:lane=exclusive: links und rechts Fahrradstreifen

  • cycleway=lane + cycleway:lane=advisory: links und rechts Schutzstreifen

  • cycleway=lane + cycleway:lane=exclusive + cycleway:oneway=no: links und rechts jeweils Fahrradstreifen in beide Richtungen

  • cycleway=share_busway: links und rechts auf Busspur

  • cycleway=opposite_track: links Fahrradweg, rechts kein*

  • cycleway=opposite_track + cycleway:oneway=no: links Fahrradweg in beide Richtungen, rechts kein*

  • cycleway=opposite: links kein, aber Gegenverkehr in Einbahnstraße erlaubt, rechts kein*

  • cycleway=opposite_lane + cycleway:lane=exclusive: links Fahrradstreifen, rechts kein*

  • cycleway=opposite_lane + cycleway:lane=advisory: links Schutzstreifen, rechts kein*

  • cycleway=opposite_share_busway: links auf Busspur, rechts kein*

  • cycleway=no + oneway:bicycle=no: links kein, aber Gegenverkehr in Einbahnstraße erlaubt, rechts kein*

  • cycleway=track + cycleway:segregated=no: links und rechts müssen Fahrradfahrer auf den Bürgersteig (gemeinsamer Rad- und Fahrradweg)

  • cycleway=no + sidewalk:bicycle=yes: links und rechts “dürfen” Fahrradfahrer auf den Bürgersteig (Fahrradfahrer frei)

  • Nur in Einbahnstraßen, ansonsten wird das Tag nicht verstanden. Seiten vertauscht wenn oneway=-1, Seiten nochmals vertauscht in Ländern mit Linksverkehr.

cycleway:lane=exclusive_lane und cycleway:lane=mandatory werden zwecks parsings als synoym für exclusive verstanden.
cycleway:lane=advisory_lane, cycleway:lane=soft_lane und cycleway:lane=dashed werden zwecks parsings als synoym für advisory verstanden.
cycleway:lane=none wird als synonym für cycleway:lane=no verstanden.

(Was hat es mit Belgien auf sich? In Belgien wird zwischen Fahrradstreifen und Schutzstreifen nicht unterschieden, alle Fahrradstreifen sind gestrichelt aber alle sind vollwertige Fahrradstreifen. Zusätzlich gibt es noch “Mehrzweckstreifen” die keinerlei rechtliche Bindung haben. Irgendwie so, ist schon länger her dass ich das nachgeforscht habe, Tagging liegt vor Allem an den Vorlieben der belgischen Community.)

So, und das gleiche wie oben mit den Keys cycleway:left (=nur links), cycleway:right (=nur rechts), cycleway:both (=beide Seiten) aber mit folgenden Ausnahmen die hier eine andere Bedeutung haben:

  • cycleway:*=opposite: 100% synonym zu cycleway:*=no

  • cycleway:*=opposite_track: 100% synonym zu cycleway:*=track

  • cycleway:*=opposite_lane: 100% synonym zu cycleway:*=lane

  • cycleway:*=opposite_busway: 100% synonym zu cycleway:*=busway

Sollten sowohl cycleway:right/left definiert sein als auch cycleway, haben die spezifischen Tags Vorrang.

Frage: Fehlt da was?

Kennt ihr noch andere Arten, wie eine der oben gezeigten Kategorien von Fahrradinfrastruktur getaggt sind?
Insbesondere bei den Bürgersteig-Varianten bin ich am Überlegen ob sidewalk:bicycle=designated z.B. auch als “gemeinsamer Rad- und Fahrradweg” interpretiert werden sollte?
Gibt es alternative Tags, mit denen festgehalten wird ob ein Fahrradweg in beide Richtungen geht?
Wie gesagt, ich suche nicht nach dem Besten Tagging, sondern nach Taggings, wo man sagen kann “Naja gut, es gibt Leute die taggen das so, und das ist nun nicht unbedingt falsch”.

Gruß
Tobias

{sidewalk=separate,bicycle=use_sidepath} sollte es zumindest noch erkennen, auch wenn das Auffinden des eigentlichen Sidepaths (und somit dessen Konfiguration) nicht mehr trivial ist.

Auf Bürgersteig oder bei getrennt verlaufenden gemeinsamen ist es highway=footway, path.
Hoffentlich wird auch abgefragt ob es separate Wege gibt und nicht nur auf die Straße bezieht. Sonst kommt cycleway=no an die Straße obwohl es use_sidepath ist.
Und wie sieht es mit den bereits getrennt gemappten Rad und Fußwegen aus?
Werden die umgemappt?
(Was ist mit verzogenen lane an Kreuzungen in Großstädten?)

Eigentlich sollte es mehr zum detaillierten Mappen gehen.
So fehlt surface, smoothnes, width, … und das für die beide Seiten teils unterschiedlich.
Wie wird ein Stück Leitplanke oder Umlaufgeländer an Kreuzungen gemappt?
Wie ein verzogenen Übergang über eine Insel?

EDIT: cycleway=lane: links und rechts Fahrradstreifen (unbestimmt) - nur in Belgien!
Gibt es auch bei uns, da die tatsächliche Breite des Streifens nicht als Fahrradstreifen ausreicht (Suggestionsstreifen - die Stadt hat etwas für Radfahrer getan)

Wie gesagt, es geht ausschließlich um das Parsen von am der Straße getaggten Fahrradwegen. Fahrradwege die getrennt gemappt werden, werden vorher (ua per use_sidepath) weggefiltert.

Ea geht auch erstmal nur um den Typ des Fahrradweges, weitere Eigenschaften kommen später und werden getrennt betrachtet.

@geri-oc: Du meinst Schutzstreifen, Schutzstreifen in D sind nicht benutzungspflichtig und nur ein “Angebot”. Das sind die gestrichelten.

Schutzstreifen haben keinerlei (*) rechtliche Auswirkungen auf Radfahrende. Siehe https://www.gesetze-im-internet.de/stvo_2013/anlage_3.html Nummer 22.
Es gilt für Radfahrende das Rechtsfahrgebot, und “möglichst weit rechts” kann auch “links vom Schutzstreifen” bedeuten, wenn man sonst z. B. zu dicht an Kraftparkzeugen fahren würde.

Ein Radfahrer hat erfolglos versucht, einen Schutzstreifen wegzuklagen. Wurde abgewiesen, weil Schutzstreifen keine Einschränkungen mit sich bringen.
In Hamburg (südliche Georg-Wilhelm-Straße) musste (k.a. ob das vor Gericht gegangen war oder das Vorverfahren reichte) ein Schutzstreifen wieder entfernt werden, weil dort eine Firma mit ihren LKW nicht mehr lang kam, ohne ständig die Streifen zu überfahren.

“Schutz”-Streifen ist außerdem ein Euphemismus, weil Radfahrer nicht geschützt werden. Die Streifen werden nur dort angelegt, wo zu wenig Platz für Radfahrstreifen ist und man irgendwas für den Radverkehr tun möchte. Zum Beispiel in Hamburg auf der Stresemannallee (Veloroute 3).
Häufig sind rechts vom Streifen noch KFZ-Parkplätze in 50cm Entfernung eingerichtet. Die 50cm werden beim Parken häufig ignoriert, so dass man weiter links fahren muss. Ideal-Fahrlinie wegen Dooring-Gefahr ist dann die gestrichelte Leitlinie. KFZ müssen mit 1,5m Abstand überholen, und das ist dann bei Gegenverkehr nicht mehr möglich. Folge ist, dass KFZ-Führer die Radfahrer gefährden, und wegen des Vorhandenseins der gestrichelten Linie teils noch vorsätzlich.
Radfahrende haben also die Wahl zwischen Gefährdung durch Dooring oder durch Überholer. Man sollte diese Streifen deshalb Gefährdungsstreifen nennen.

(*) Außer leicht erhöhte Bußgelder bei Missachtung des Rechtsfahrgebots, TBNR 102142-102145.

Ich weiß nicht, ob die Situation in NL für dich relevant ist, aber nachdem du von Belgien schreibst…

Ein rechtlich gültiger Fahrradstreifen (fietsstrook) entsteht in NL nur, wenn ein Fahrradsymbol als Verkehrszeichen auf den Boden aufgemalt wird. Dann darf Nicht-Fahrradverkehr (Mofas zählen, glaube ich, diesbezüglich als Fahrrad, Mopeds nicht) dort nicht fahren und nicht anhalten. Der Fahrradstreifen ist oft aber nicht notwendigerweise rot. Er wird mit durchgezogener oder gestrichelter Linie vom Rest der Fahrbahn abgegrenzt. Bei gestrichelter Linie darf der Streifen überquert werden (z.B. zum Parken), wobei Fahrradverkehr Vorfahrt hat; die durchgezogene Linie darf nicht überquert werden. Der Unterschied wird aber in OSM nicht erfasst, beides wird angegeben als cycleway=lane (eventuell mit Suffix :right oder :left). Das gibt es also nicht nur in B! cycleway:lane=pictogram ist mir noch nicht begegnet, aber ohne Piktogramm ist ein Fahrradstreifen keiner weil…

… es auch sogenannte Vorschlagsstreifen gibt (fietssuggestiestrook). Die haben kein Piktogramm auf der Straße und wirken allein psychologisch. Will sagen: sie haben 0,0 rechtlich bindende Wirkung. Sie sind halt ein Streifen Farbe, werden oft rot eingefärbt und suggerieren dem Verkehr, es gäbe einen Fahrradstreifen. Man sieht sie erstaunlich oft. Das wird in NL als cycleway=shared_lane erfasst.

Was ist mit Radspuren in Kreuzungen, wo links und rechts noch andere Fahrstreifen sind? https://www.openstreetmap.org/way/391801508 wäre so ein bekannter Fall, aber ist nicht getaggt.

Radfahren auf dem Gehweg, aber im Gegenverkehr : sidewalk:bicycle:oneway

Damit sind wir dann nicht mehr bei “cycleway”, sondern bei allgemeinem “:lanes” Tagging, das solche Fälle exakt beschreiben kann.

Jo, ist halt der gebräuchliche Name dafür den jeder kennt. Umso wichtiger das richtig einzutragen und vor Allem von echten Fahrradstreifen zu trennen.

Hmm, ich denke dass das das Tagging nicht beeinflusst, zumindest das aktuelle Schema nicht. Vielleicht für ein anderes Schema, z.b. was Mueschel erwähnt. In diesem Fall ist es trotzdem cycleway=lane + lane=exclusive. Im Kreuzungsbereich ist die Linie zwar gestrichelt, aber Schutzstreifen sind anders gestrichelt (dünnere Linie, längere Striche). Die gestrichelten Linien bedeuten nur dass andere Verkehrsteilnehmer den Fahrradstreifen an dieser Stelle überqueren dürfen, das ist was anderes als die Regeln für Schutzstreifen (Autos dürfen da rüberfahren wie sie wollen wenn es die Lage erfordert).

Natürlich ist sie das. Allerdings ist die Situation mir bekannt und auch berücksichtigt.

  • fietsstrook: cycleway=lane + cycleway:lane=exclusive

  • fietsstrook (met onderbroken streep): cycleway=lane + cycleway:lane=advisory

  • fietssuggestiestrook: cycleway=shared_lane + cycleway:lane=advisory

Oh, hier ist noch ein interessanter Fall. In einem Land mit Rechtsverkehr:


highway = tertiary
oneway = yes
cycleway:right = opposite

Wäre das so zu interpretieren, dass mir als Autofahrer Fahrradfahrer rechts von mir aber auf der Fahrbahn (ohne Markierungen!) entgegenkommen?

Oder sollte dieser Fall von dem Parser nicht verstanden werden (=Nutzer wird aufgefordert, Datum komplett neu einzugeben)?

Unterschied zwichen :lane und :lanes mit cycleway.
Ist da ein unterschied beim kreuzung und ein gerade aus weg?

https://wiki.openstreetmap.org/wiki/Lanes#Crossing_with_a_designated_lane_for_bicycles
vehicle:lanes=yes|yes|no|yes
bicycle:lanes=yes|no|designated|yes
cycleway:lanes=none|none|lane|none

Wenn, was zu verwenden?
Oder beides?

: lanes, gibt weitere Informationen darüber, wo sich die Fahrspur befindet.

Das sind zwei völlig verschiedene Tags:
“cycleway:lane” heißt nur zufällig ähnlich… Es ist die Wiederholung des Wertes von “cycleway” und beschreibt den cycleway (der eine “lane” ist) genauer, also

cycleway=lane
cycleway:lane=XY

“cycleway:lanes” folgt dem allgemeinen “:lanes” Schema und beschreibt die einzelnen Spuren einer Straße - macht aber in meinen Augen eigentlich nur ganz selten Sinn: “Cycleway” beschreibt ja, ob eine Straße einen Radstreifen hat. Es sagt nicht, dass die Straße ein Radstreifen ist. Genau das tut es aber in deinem Beispiel mit :lanes - da ist eine Spur, die nur von Radfahrern benutzt werden darf, so steht es in den ersten beiden Tags:

Das dritte Tag sagt jetzt aber, dass da eine Spur ist, die eine Radspur besitzt - was aber gar nicht der Fall ist, da die Spur selbst ja die Radspur ist. Logisch passt das nicht…