Austria/Geschwindigkeitsbegrenzungen
Worum geht es?
Zur Kennzeichnung von Geschwindigkeitsbegrenzungen (vulgo maxspeed=*) sind über die Jahre eine Fülle von Tags entstanden, die bei Mappern (und vermutlich auch Datenkonsumenten) zu einiger Verwirrung geführt haben. Das spiegelt sich auch im Datenbestand und im Wiki wider, wo je nach Seite und Sprache teilweise gegenläufige Empfehlungen ausgesprochen werden.
In diesem Entwurf möchte ich Klarheit schaffen, wie in Österreich Geschwindigkeiten angegeben werden (sollen) und wie nicht. Nach Diskussion in der Community (im Diskussionsbereich dieser Seite) werden die Ergebnisse ggf. ins Wiki eingearbeitet (insbesondere DE:Verkehrszeichen_in_Österreich sowie die diversen Seiten für Router) und entsprechende Bereinigungen gestartet.
Disclaimer: ich bin kein Jurist oder StVO-Experte.
Leitlinien
- Gültigkeitsbereich: Österreich, nur Straßen/Wege (keine Eisenbahn, Wasserstraßen, etc.)
- Keine neuen Schlüssel erfinden, Werte nur, wenn unbedingt nötig
- Weitgehende Kompatibilität mit den bereits dokumentierten bzw. verwendeten Tags
- Stimmiges System schaffen
- Späteres mechanisches Umtaggen ermöglichen
- Klarheit schaffen und Empfehlungen aussprechen
Tagging von Geschwindigkeitsbegrenzungen
Höchstgeschwindigkeit
Grundsätzlich wird die erlaubte Höchstgeschwindgkeit (abseits landesweiter Einschränkungen) mit maxspeed=* und den entsprechenden Subkeys angegeben. Darüber hinaus geltende Regelungen für Router sind in mittlerweile mindestens 3(!) Tabellen enthalten (OSM_tags_for_routing/Maxspeed, Default_speed_limits, Key:maxspeed).
Empfehlung
- maxspeed=* wird immer gesetzt, wenn eine Höchstgeschwindigkeit angegeben wird (Ausnahmen und Details siehe folgende Abschnitte) und ist numerisch
- Nicht zu verwenden sind maxspeed=signals und maxspeed=variable, wie in Key:maxspeed:variable beschrieben (kommt in AT jeweils nur 3-4 mal vor)
- Weiters nicht zu verwenden sind maxspeed=none (haben wir in AT nicht),
maxspeed=walk (siehe Abschnitt "Schrittgeschwindigkeit"),maxspeed=AT:* (siehe Abschnitt "Implizite Beschränkung") und maxspeed=implicit auf highway=* (gilt nur wenn traffic_sign=* als Punkt gemappt ist, und macht auch dann keinen Sinn) - IG-L (Immissionsschutzgesetz) sollte gekennzeichnet werden, weil z.B. unterschiedliche Regelungen für Elektrofahrzeuge gelten: maxspeed:variable=environment und/oder maxspeed:type=sign und traffic_sign=AT:...,54[IG-L] (sofern niemandem etwas Besseres einfällt)
Art der Beschränkung / Quelle der Information
maxspeed=* alleine verrät nicht, worauf sich die Beschränkung gründet. Historisch wurde dafür source:maxspeed=* gesetzt. Allerdings gibt source=* die Herkunft der Information an (also wie der Mapper davon erfahren hat, nicht weshalb die Beschränkung gilt). In jüngerer Zeit hat sich dafür maxspeed:type=* etabliert, was source:maxspeed=* für den ursprünglichen Zweck frei macht (wird allerdings nur in Einzelfällen verwendet).
Empfehlung
- Für die Art der Beschränkung soll maxspeed:type=* (in gleicher Bedeutung zum bisherigen source:maxspeed=*) verwendet werden, weil das die stimmigere Form ist
- source:maxspeed=* bleibt aufgrund der flächendeckenden Verwendung parallel bestehen
- Keinesfalls sollten beide Werte ident gesetzt werden
Implizite Beschränkung
Der größere Teil der Geschwindigkeitsbeschränkungen ist mittlerweile "implizit" bzw. "zonal", also nicht oder nur an der Zonengrenze ausgeschildert. Das hat zur Folge, dass maxspeed=* redundant wird. Beispiel: aus maxspeed:type=AT:urban folgt zwingend maxspeed=50. Weshalb also in diesen Fällen maxspeed=* überhaupt noch setzen, zumal das zwangsläufig zu Unstimmigkeiten führt? Tatsächlich ist maxspeed=* in 80-90% der Fälle bereits gesetzt ([1]), die Redundanz also längst gegeben. Es ist unklar, wieviele Tools und Datenkonsumenten auf den Wert angewiesen sind (den man natürlich auch aus einer Tabelle entnehmen könnte). Meine Nachforschungen zu Routern deuten aber darauf hin, dass überwiegend nur maxspeed=* und die OSM- oder landesspezifischen Defaults für highway=* verwendet werden.
Empfehlung
- maxspeed=* wird
bis auf weitereszusätzlich zu maxspeed:type=* gesetzt, auch wenn das redundant ist - Die Konsistenz ist einfach mittels Overpass/Tabelle zu überprüfen
- Sollte man sich einmal anders entscheiden, kann man die impliziten maxspeed=* automatisch löschen
Anmerkung: Lt. [2] sind die rund 4200 maxspeed:type=* ohne maxspeed=* auf StreetComplete zurückzuführen.
maxspeed:type | maxspeed | Kommentar |
---|---|---|
sign | ?? | Schild traffic_sign=AT:52.10a[..] |
markings | ?? | Bodenmarkierung |
AT:urban | 50 | Ortsgebiet |
AT:rural | 100 | Freiland |
AT:motorway | 130 | Autobahn |
AT:trunk | 100 | Schnellstraße |
AT:bicycle_road | 30 | Fahrradstraße |
AT:zone?? | ?? | Zonenbeschränkung traffic_sign=AT:52.11a[52.10a[..]] |
AT:city_limit?? | ?? | Geschwindigkeitsbeschränkung für ganzes Ortsgebiet |
AT:shared_zone?? | ?? | Begegnungszone |
Alternative Werte und Schreibweisen
Man kann in OSM unschwer fast alles auf mehrfache Weise ausdrücken, und die Datenkonsumenten müssen zwangsweise damit zurecht kommen. Die Frage ist, soll man? Es steigert die Komplexität für alle Beteiligten und hat keinerlei Mehrwert.
- maxspeed:type=zone (3500x) und source:maxspeed=AT:zone (1300x): Man kann den Kuchen nicht haben und essen. Entweder die volle Information steckt in maxspeed:type=* und maxspeed=* ist i.A. redundant, oder die Information steckt in der Kombination der beiden. Es handelt sich hier um 30er- und 40er-Zonen, und die sollten gemappt werden wie oben beschrieben.
- maxspeed:type=AT:zone:??: Eine alternative Schreibweise zu maxspeed:type=AT:zone??, aber wozu?
Verkehrszonen und -regeln
Die o.g. Methode hat eine Schwäche: der Straßentyp ist im Ortsgebiet und Freiland nicht ersichtlich, und somit können allgemeine Beschränkungen (Bus, Nachtfahrverbot, etc.) nicht einfach angewandt werden. Beispiel: auf einer Freilandstraße (100er, AT:rural) ist im Bereich einer Einmündung ein 70er (AT:sign) vorgeschrieben. Die Regeln für eine Freilandstraße gelten weiterhin, aber die Information "rural" ist verloren, weil sie sich nicht auf den Typ der Straße, sondern die Quelle der Geschwindigkeitsbeschränkung bezieht. Also wurde ein neues System erfunden, zone:traffic=*. Theoretisch müsste man alle Freilandstraßen mit zone:traffic=AT:rural taggen, dann könnte man sich maxspeed:type=AT:rural sparen, weil der Standard für Freiland gelten würde. Es müssten nur die Ausnahmen gemappt werden. Doch die Praxis sieht anders aus.
- zone:traffic=* wird fast ausschließlich in Belgien, den Niederlanden und Deutschland genutzt.
- Sieht man sich Key:zone:traffic an, geht es praktisch nur um maxspeed. Und dafür haben wir schon ein System.
- Was man an zone:traffic=* binden müsste, sind alle anderen Verkehrsregeln. OSM enthält aber nicht die StVO, bloß das, was Mapper beobachten können und ein paar Grundregeln.
- Die eingangs genannten Routingtabellen und -informationen bilden das zumindest teilweise ab, und auch da geht es großteils um maxspeed.
Lässt sich obig zumindest die Intention nachvollziehen, wird es bei zone:maxspeed=* völlig absurd. "zone:maxspeed=* kennzeichnet Straßen, die einer Zone mit zulässiger Höchstgeschwindigkeit (meist Zone 30) angehören." (DE:Key:zone:maxspeed). Und das unterscheidet sich von maxspeed:type=AT:zone30 wie?
Empfehlung
- zone:traffic=* (860x, davon ca. 600 von einem einzigen Mapper aus 2016): Datennutzer, die den Key nicht auswerten, haben überhaupt kein maxspeed. Die restlichen Einträge sind doppelt getagged. Bitte um Meinungen, ich wäre im Zweifel für Ersetzung, weil nicht absehbar ist, dass wir das jemals durchziehen werden (viel Arbeit, kein wirklicher Mehrwert).
- zone:maxspeed=* (2700x): Durch den entsprechenden maxspeed:type=* ersetzen und nicht weiter verwenden
Schrittgeschwindigkeit
Schrittgeschwindigkeit (z.B. in Fußgängerzonen, Wohn- und Schulstraßen) ist gesetzlich nicht geregelt. Es gibt aber ein Urteil des OGH sowie eine ausführliche rechtliche Würdigung die zu dem Schluss kommen, dass "ca. 5 km/h" anzunehmen sind.
Ein inzwischen inaktives Proposal:Maxspeed walk schlug den Wert "walk" vor, was das Problem aber nur zum Datenkonsumenten verschiebt. In DE:Key:maxspeed wird daher von "walk" abgeraten, trotzdem geistert dieser Wert an anderen Stellen im Wiki herum.
Empfehlung ̜̞
"walk" und"AT:walk"sindist nicht zu verwenden(aktuell rund 250 in AT, rund 6600 weltweit)- In den Routertabellen wird einheitlich
statt"walk"5 km/heingetragen (mit entsprechender Erläuterung in der Fußnote) - Für Fußgängerzone und Wohnstraße wird kein maxspeed=* / maxspeed:type=* gesetzt, der Standard gilt (siehe Routertabelle; Ausnahme: falls tatsächlich eine von der Schrittgeschwindigkeit abweichende Beschränkung besteht, dann wird diese wie weiter oben beschrieben angegeben)
Für Schulstraße wird in maxspeed:conditional=* statt "walk" 5 km/h gesetzt- Für die (Zusatz)tafel "Schrittgeschwindigkeit" wird (ggf. mit Einschränkung)
maxspeed=5maxspeed=walk und entsprechend DE:Verkehrszeichen_in_Österreich#§_54._Zusatztafeln traffic_sign=* mit Tafeltext "Schrittgeschwindigkeit" gesetzt
Begründung
Der konkrete Wert 5 km/h kommt der Wahrheit wesentlich näher als die Einschätzung des Routers (die irgendwo zwischen 3 und 30 liegen kann)Zwar fährt in der Praxis nicht einmal ein Kinderfahrrad so langsam, aber vor Gericht zählt das nicht.- Sollten die Schrittgeschwindigkeit oder das Tagging einmal anders geregelt werden, können mit den obigen Informationen die betroffenen Stellen eindeutig identifiziert werden.