DE:Conditional restrictions

From OpenStreetMap Wiki
Jump to: navigation, search
Verfügbare Sprachen — Conditional restrictions
· Afrikaans · Alemannisch · aragonés · asturianu · azərbaycanca · Bahasa Indonesia · Bahasa Melayu · Bân-lâm-gú · Basa Jawa · Baso Minangkabau · bosanski · brezhoneg · català · čeština · dansk · Deutsch · eesti · English · español · Esperanto · estremeñu · euskara · français · Frysk · Gaeilge · Gàidhlig · galego · Hausa · hrvatski · Igbo · interlingua · Interlingue · isiXhosa · isiZulu · íslenska · italiano · Kiswahili · Kreyòl ayisyen · kréyòl gwadloupéyen · Kurdî · latviešu · Lëtzebuergesch · lietuvių · magyar · Malagasy · Malti · Nederlands · Nedersaksies · norsk bokmål · norsk nynorsk · occitan · Oromoo · oʻzbekcha/ўзбекча · Plattdüütsch · polski · português · português do Brasil · română · shqip · slovenčina · slovenščina · Soomaaliga · suomi · svenska · Tiếng Việt · Türkçe · Vahcuengh · vèneto · Wolof · Yorùbá · Zazaki · српски / srpski · беларуская · български · қазақша · македонски · монгол · русский · тоҷикӣ · українська · Ελληνικά · Հայերեն · ქართული · नेपाली · मराठी · हिन्दी · অসমীয়া · বাংলা · ਪੰਜਾਬੀ · ગુજરાતી · ଓଡ଼ିଆ · தமிழ் · తెలుగు · ಕನ್ನಡ · മലയാളം · සිංහල · ไทย · မြန်မာဘာသာ · ລາວ · ភាសាខ្មែរ · ⵜⴰⵎⴰⵣⵉⵖⵜ · አማርኛ · 한국어 · 日本語 · 中文(简体)‎ · 吴语 · 粵語 · 中文(繁體)‎ · ייִדיש · עברית · اردو · العربية · پښتو · سنڌي · فارسی · ދިވެހިބަސް


Logo. Merkmal : Conditional restrictions
One example for Merkmal : Conditional restrictions
Beschreibung
Attributierung von bedingten Beschränkungen
Attribute

access:conditional=*, maxspeed:conditional=*, maxweight:conditional=*, oneway:conditional=*, overtaking:conditional=*, *:conditional=*

Diese Seite beschreibt die Attributierung von Beschränkungen, die nur unter bestimmten Bedingungen (beispielsweise Zeit, Fahrzeugtyp, Datum) gültig sind.

Für Beschränkungen existieren bereits häufig verwendete Schlüssel wie access=* oder maxspeed=*. Damit können einfache Zutrittsbeschränkungen (access=private) oder Geschwindigkeitsbeschränkungen (maxspeed=60) in Karten erfasst werden.

Für Beschränkungen, die nur für bestimmte Fortbewegungsarten gelten, wurde mit dem Anhängen dieser Information an den Schlüssel bereits eine allgemein akzeptierte Lösung gefunden. Beispiele sind oneway:bicycle=no und maxspeed:hgv=80. Bei Zutrittsbeschränkungen wird access weggelassen, und direkt die Fortbewegungsart als Schlüssel verwendet: hgv=no statt access:hgv=no. Diese Schlüssel gelten weiterhin und werden von diesem Schema nicht beeinflusst.

Es gibt allerdings auch Beschränkungen, die von anderen Faktoren wie Zeit, Datum oder Straßenbedingung abhängen - und insbesondere auch von Kombinationen dieser Faktoren. Ein Bespiel ist eine Geschwindigkeitsbeschränkung von 60 km/h, die nur für LKWs von 6-20 Uhr gilt. Das hier vorgestellte Schema erklärt nun im Detail, wie allgemeine Beschränkungen in OpenStreetMap erfasst werden können (für das Beispiel ergibt sich nach diesem Schema folgendes Attribut: maxspeed:hgv:conditional=60 @ (06:00-20:00)).


Attributierung

Dieses Schema benutzt den Aufbau von Attributen für unbedingte Beschränkungen bzw. Beschränkungen für bestimmte Fahrzeugtypen, mit folgenden Unterschieden:

  • Dem Schlüssel wird :conditional angehängt
  • Dem Wert wird das Zeichen '@', sowie die Beschreibung der Bedingung angehängt

Formeller ausgedrückt bestehen Schlüssel und Wert bei bedingten Beschränkungen aus (die Teile in eckigen Klammern sind optional):

Beschränkungstyp[:Fortbewegungsart][:Richtung]:conditional
  = Beschränkungswert @ Bedingung[; 2. Beschränkungswert  @  2. Bedingung]...

Wie bisher üblich, wird bei Zugangsbeschränkungen der Beschränkungstyp access üblicherweise weggelassen:

Fortbewegungsart[:Richtung]:conditional
  = Beschränkungswert @ Bedingung[; 2. Beschränkungswert  @  2. Bedingung]...


Schlüssel

Die Schlüssel für bereits verwendete Beschränkungen (maxspeed, access...) und für bedingte Beschränkungen sind in gleicher Weise aufgebaut, nur mit zuätzlichem :conditional Suffix:

  • Beschränkungstyp als Grundschlüssel
  • Optional die Fortbewegungsart, für die eine Beschränkung gilt (getrennt durch :)
  • Optional die Richtung, in die eine Beschränkung gilt (getrennt durch :)

Im Detail:

Beschränkungstyp

Der Beschränkungstyp im ersten Teil des Schlüssels kann jede Beschränkung mit bedingten Werten bzw. Gültigkeit sein. Geläufige Bespiele sind:

Wenn Beschränkungen durch Verkehrszeichen angezeigt werden, dann sollte sich der Beschränkungstyp am eigentlichen 'Haupt'-Zeichen und nicht an Zusatztafeln (wie nur für Fahrzeuge über 10m Länge) orientieren. Für ein Verkehrsschild Vorschriftszeichen 1.svg mit beschränkenden Zusatztafeln sollte daher eine access-Beschränkung mit passender Fortbewegungsart (vehicle) gewählt werden, für Nederlands verkeersbord C17.svg hingegen maxlength.

Hinweis: Bei Verwendung einer Fortbewegungsart im Schlüssel kann access: als Beschränkungstyp weggelassen werden. Aus access:motor_vehicle:conditional wird der verkürzte Schlüssel motor_vehicle:conditional.

Fortbewegungsart

Mit diesem Schlüssel-Teil kann die Beschränkung auf einen bestimmte Fortbewegungsart (z.B. foot) bzw. Fahrzeugtypen (z.B. bicycle, motor_vehicle, agricultural) eingeschränkt werden. Für die vollständige Hierarchie von Fortbewegungsarten siehe Key:access#Transport mode restrictions.

Für Zutrittsbeschränkungen (access) kann die verkürzte Form ohne vorhergehendes access: verwendet werden (motorcar statt access:motorcar).

Bemerkung: Wird agricultural im Schlüssel verwendet, dann gilt die Beschränkung nur für landwirtschaftliche Fahrzeuge (also für Traktoren oder Spezialmaschinen, oft mit geringer Höchstgeschwindigkeit). Für eine Beschränkung auf landwirtschaftlichen Verkehr (=Zweck der Fahrt) muss hingegen der Beschränkungswert agricultural sein.

Richtung

Manche Beschränkungen sind richtungsabhängig. Die Angabe forward (engl. vorwärts) und backward (engl. rückwärts) geben an, in welche Richtung eine Beschränkung gilt. Bei forward gilt die Beschränkung in Richtung des in OpenStreetMap gezeichneten Weges ('Way'), bei backward entgegengesetzt. Für mehr Informationen siehe Potlatch 2 und forward & backward (Englisch).

Wert

Der Wert setzt sich zusammen aus

  • dem Beschränkungswert (entsprechend den Festlegungen des Beschränkungstyps/Schlüssels),
  • dem @ Zeichen sowie
  • der Bedingung.

Vor und nach dem @ Zeichen wird zur besseren Lesbarkeit je ein Leerzeichen eingefügt.

Wenn in komplexeren Fällen ein einzelner Wert mit Bedingung nicht ausreicht, dann können durch einen Strichpunkt ';' getrennt, mehrere Wert/Bedingungs-Paare aufgelistet werden. Ein Beispiel dafür wäre ein Geschwindigkeitslimit, dass nur zu bestimmten Zeiten gilt, und davon unabhängig auch bei nasser Fahrbahn ('wet'). Um Mehrdeutigkeiten auszuschließen, gibt es im Abschnitt Auswertung bei mehreren bedingten Beschränkungen genauere Angaben zur notwendigen Reihenfolge.

Beschränkungswert

Der Beschränkungswert ist ein gültiger Wert der Beschränkung ohne Bedingung, also beispielsweise yes oder private bei einer access Beschränkung, 80 oder 55 mph bei einer maxspeed Beschränkung. Entsprechend den Festlegungen von Beschränkungen können die Werte daher absolut und für jeden gültig sein (yes, no, permissive) oder beispielsweise vom Zweck der Verwendung (destination, delivery, customer, forestry, agricultural) oder von Genehmigungen abhängen (private, permit_holder).

Bedingung

Nach dem '@' Zeichen folgt die Bedingung, unter der die angegebene Beschränkung gilt. Zahlreiche Faktoren können in einer Bedingung berücksichtigt werden:

  • Zeitabhängigkeit: Für Zeitangaben, Datumsbereiche und andere zeitabhängige Angaben wird die Schreibweise von opening_hours=* verwendet. Wird ein Strichpunkt (";") benötigt, so sollte die Bedingung jedenfalls in Klammern gesetzt werden, um Missverständnisse bei der Auswertung zu vermeiden.
    Beispiele für zeitabhängige Bedingungen: (Mo-Fr 07:00-19:00), (sunrise-sunset) oder (Jan-Mar).
  • Straßenzustand/Wetter: Beispiele: wet, snow. Es wird darauf hingewiesen, dass vor der Annahme dieses Schemas auch eine Schlüssel-Erweiterung :wet, typischerweise in maxspeed:wet=*, vorgeschlagen war und fallweise auch verwendet wurde. Um die Anzahl an Schlüsselerweiterungen gering zu halten, wird die Verwendung in der Bedingung, jedoch mit identischer Bedeutung, empfohlen.
  • Fahrzeugeigenschaften: Beispiele für Eigenschaften sind Gewicht (weight), Achslast (axleload), Länge (length), Breite (width), Höhe(height) and Tiefgang eines Schiffs (draught). Mit Vergleichsoperatoren (<, >, =) können die Bedingungen formuliert werden, beispielsweise (weight<7.5).
    Hinweis: Bei Verkehrsschildern wird zwar zwischen Gesamtgewicht (inklusive Ladung) und dem "Höchstzulässigen Gesamtgewicht" (in den Fahrzeugpapieren) unterschieden, beide Angaben werden bisher mit "weight" formuliert. Für mehr Informationen zu den unterschiedlichen Gewichtsangaben und einem alternativen Vorschlag siehe Proposed features/gross weight (englisch).
  • Passagiere und Beladung: Die Einschränkung hängt von der Verwendung des Transportmittels ab, wie die Anzahl der Passagiere oder der Beladung. Beispiele: (occupants>1) kann bei Fahrspuren für Fahrgemeinschaften eingesetzt werden, hazmat bei Einschränkungen für Gefahrenguttransporte.
  • Benutzergruppe: Für Bedingungen die sich auf Personengruppen beziehen: doctor für Ärzte, disabled für Behinderte, male für Männer und female für Frauen. emergency gilt für Einsatzfahrzeuge.
  • Transport-/Fahrtzweck: Sonderfall für Beschränkungstypen, die einen nummerischen Wert benötigen (Beispiel maxweight): In diesem Fall kann die Bedingung auch die Beschränkungswerte für den Zweck der Verwendung (destination, delivery...) oder Genehmigungen (private, etc) enthalten, die sonst im Beschränkungswert festgelegt sind. Beispiel: maxweight=2.5 + maxweight:conditional=none @ destination.

Mit Ausnahme von sehr einfachen Bedingungen wie "wet" oder "Su" sollte die Bedingung - sowohl für bessere Lesbarkeit als auch für eine einfachere Auswertung durch Anwendungen - in Klammern geschrieben werden.

Kombination mehrerer Faktoren: AND

Müssen mehrere Faktoren gleichzeitig gelten (beispielsweise eine Bedingung, die von Zeit und Fahrzeugeigenschaft abhängt), so können mehrere Teilbedingungen mit AND verbunden werden. Der Bedingungswert gilt nur dann, wenn alle mit AND verbundenen Teilbedingungen zutreffen.

Großschreibung für AND ist zur besseren Lesbarkeit empfohlen.

Beispiel: access:conditional=destination @ (Sa-Su AND weight>7): Nur wenn sowohl das Fahrzeuggewicht als auch der Wochentag stimmen, ist der Zutritt oder die Zufahrt auf destination beschränkt.

Standardwert - wenn keine Bedingung zutrifft

Es ist nicht immer klar, welcher Beschränkungswert gilt, wenn keine Bedingung zutrifft. In solchen Fällen sollte ein Standardwert mit Hilfe des Schlüssel ohne :conditional festgelegt sein.

Beispiel: maxspeed=120 (Standardwert) + maxspeed:conditional=100 @ (20:00-06:00). Ohne Standardwert wäre unklar, welche Beschränkung in der Zeit von 6-20h gilt.

Wenn ein Standardwert implizit festgelegt ist, kann auf die explizite Angabe eines Standardwerts verzichtet werden. Für viele Straßenkategorien gilt beispielsweise ein implizites access=yes, siehe OSM_tags_for_routing/Access-Restrictions, auch wenn keine Attribute angegeben sind. In solchen Fällen genügt beispielsweise access:conditional=no @ (20:00-06:00) ohne Standardwert.

Auswertung bei mehreren bedingten Beschränkungen

Wenn für ein Objekt mehrere bedingte Schränkungen (im Wert selbst oder in mehreren :conditional Schlüsseln) vorhanden sind - und in einer bestimmten Situation (Verkehrsmittel, Zeit...) mehr als ein Wert zutrefft, dann gelten folgende Regeln für die Bestimmung des Werts:

  1. Speziellere Fortbewegungsart vor allgemeinerer Fortbewegungsart entsprechend der access Hierarchie.
    Beispiel: Ein zutreffender Wert in maxspeed:hgv:conditional hat höhere Priorität als ein zutreffender Wert in maxspeed:vehicle:conditional, weil vehicle allgemeiner als hgv in der Hierachie ist.
  2. Zutreffende richtungspezifische Beschränkung vor richtungsunabhängiger Beschränkung bei gleicher Fortbewegungsart
  3. Beschränkung mit Bedingung vor Beschränkungen ohne Bedingung bei gleicher Fortbewegungsart.
    Beispiel: Bei maxspeed=80 und maxspeed:conditional=60 @ 07:00-18:00 gilt von 7-18h aufgrund dieser Regel eine Beschränkung von 60 km/h.
  4. Es gilt der letzte zutreffende Wert innerhalb einer bedingten Beschränkung.. Wegen dieser Regel ist es wichtig, Werte mit den allgemeineren Bedingungen vor jene mit spezielleren Bedingungen aufzulisten. Beispiele:
    • (maxspeed=none) + maxspeed:conditional=120 @ (06:00-20:00); 80 @ wet: Bei nasser Fahrbahn von 6-20h gilt nach dieser Regel 80km/h und nicht 120km/h.
    • (access=yes) + access:conditional=no @ (09:00-17:00); destination @ (09:00-17:00 AND disabled) erlaubt von 9-17h behinderten Personen den Zugang oder die Zufahrt zum Ziel (letzte zutreffende Bedingung), obwohl der erste Wert ('no') ebenfalls die Bedingung erfüllt. Hinweis: Die Angabe destination @ disabled (ohne Zeit) würde von 17-9h behinderten Personen nur 'destination' erlauben, während nicht behinderte Personen uneingeschränkten Zutritt hätten.
    • (access=no) + access:conditional=delivery @ (07:00-11:00); customer @ (07:00-17:00): Here is actually no conflict as only one value can match (the purpose of access must match in case of destination, customer, delivery, agricultural and forestry).

Überholte Attribute

Mit diesem Schema werden folgende Attribute nicht mehr benötigt und gelten als überholt: day_on=*, day_off=*, date_on=*, date_off=*, hour_on=*, hour_off=*

Nicht mehr empfohlene Fortbewegungsarten

Das vorliegende Schema behandelt Zufahrtsbeschränkungen, die von der Nutzungsart abhängen, also hov=*, emergency=*, hazmat=* und disabled=*, nicht mehr als Fortbewegungsart, sondern als Bedingungen (access:conditional=destination @ (hazmat:A AND weight>7.5) statt hazmat:A:conditional=destination @ (weight>7.5)). Obwohl dieses Schema die Benutzung in der Bedingung empfiehlt, gelten Schlüssel mit diesen "Pseudo-"Fortbewegungsarten (insbesondere ohne weitere Bedingung) nicht als überholt.

Wird nicht verwendet bei:

  • Parking lane restrictions, weil dieses (ältere) Schema eine eigene Lösung für den Umgang mit situationsabhängigen Beschränkungen entwickelt hat.
  • Abbiegebeschränkungen, weil Relationen einen anderen Ansatz für die Beschreibung von Bedingungen benötigen.

Examples

Foto Attributierung Interpretation
Speedlimit120-timecondition.jpg maxspeed=130
maxspeed:conditional=120 @ (06:00-19:00)
Geschwindigkeitsbeschränkung von 120 km/h gilt nur von 6-19 h, ansonsten gilt 130 km/h (Autobahn in den Niederlanden).
maxspeed=none
maxspeed:conditional=120 @ (06:00-20:00); 100 @ (22:00-06:00)
Zwei zeitabhängige Geschwindigkeitsbeschränkungen am gleichen Tag (reales Beispiel aus Deutschland).
Conditional-access-bicycle-and-delivery.jpg highway=pedestrian

motor_vehicle:conditional=delivery @ (Mo-Fr 06:00-11:00,17:00-19:00;Sa 03:30-19:00) bicycle=yes
bicycle:conditional=no @ (Sa 08:00-16:00)
mofa=no
moped=no

Komplexes Beispiel von einer niederländischen Fußgängerzone. Lieferverkehr ("bevoorradingsverkeer") ist in bestimmten Zeitfenstern an bestimmten Tagen erlaubt. Fahrräder ("fietsen") sind erlaubt, außer Samstags von 8-16 h. Mofas und Mopeds ("snor- en bromfietsen") sind nicht erlaubt.
vehicle:conditional=destination @ (weight>5.5) Fahrzeuge über 5.5t dürfen einfahren, wenn das Fahrtziel im betroffenen Bereich liegt.
Maxweight except buses and for loading.jpg maxweight=7.5
maxweight:bus=none
maxweight:conditional=none @ delivery
There is a maxweight restriction which is overruled by maxweight:bus (as this includes a more specific transportation mode) and by maxweight:conditional (a conditional restriction of the same transportation type - i.e. none specified - as maxweight=). Therefore the maximum weight of 7.5t applies to all vehicles except buses and those loading ('delivery').
Length and time restriction 2.jpg motor_vehicle:conditional=no @ (10:00-18:00 AND length>5) Motor vehicles longer than 5 meter not allowed 10am - 6pm
UK motor restriction sign with exceptions.jpg highway=tertiary

motor_vehicle=no
motor_vehicle:conditional=yes @ (18:30-07:30)
psv=yes

This is a camera-enforced "bus gate"; motor vehicles are prohibited from 07:30 to 18:30 except for PSVs. Times need to be switched around (against as they appear on the sign) if you want to use motor_vehicle=no as a fallback
Hgv-no-overtaking-condition.jpg overtaking:hgv:conditional=no @ (Mo-Fr 06:00-19:00) Overtaking not permitted for heavy goods vehicles 6-19h on weekdays (example from Dutch motorway)
oneway:conditional=yes @ Su

oneway:bicycle=no

Street is oneway on Sundays but bicycles may use it in both directions at all times. The second tag overrules the conditional tag because of the specific transportation mode 'bicycle'.
Speed limit of 60 for HGV with weight more than 7.5t.jpg maxspeed=80

maxspeed:hgv=60 @ (weight>7.5)

Example for a conditional speed limit applicable to a specific transportation mode.

Siehe auch