Cs:Podmíněná omezení

From OpenStreetMap Wiki
(Redirected from Cs:Key:conditional)
Jump to navigation Jump to search
Logo. Součást : Podmíněná omezení
One example for Součást : Podmíněná omezení
Popis
K vyznačení podmíněného omezení.
Značky

Tento článek popisuje jak mapovat podmíněná omezení.

Jednoduchá omezení bez podmínek, jako jsou access=private nebo maxspeed=60, jsou široce používány pro vyznačování základních omezení jako třeba omezení maximální rychlosti na 60 km/h. Pokud se omezení vztahuje pouze na jinou třídu vozidel (nebo způsob dopravy), tak se dá klíč značky rozšířit přidáním této informace ke klíči. Příkladem třeba je oneway:bicycle=no a maxspeed:hgv=80. Způsob dopravy může být použit sám o sobě v klíči omezení přístupu, který se vztahuje jen na tento způsob dopravy. Například použijete hgv=no namísto access:hgv=no.

V některých případech je omezení platné, jen pokud jsou splněny jisté podmínky. Příkladem může být snížená rychlost na 60 km/h mezi 6:00 a 20:00. Tento příklad by byl značen jako maxspeed:conditional=60 @ (06:00-20:00).

Zde popsané schéma značení popisuje, jak se do OpenStreetMap přidávají podmíněná omezení.

Značení

Toto schéma používá stejnou syntaxi, která se používá pro normální bezpodmínečná omezení s následujícími rozdíly: Klíč končí příponou :conditional. Hodnota sestává z vlastní hodnoty následované znakem '@' a podmínkou.

Obecná syntaxe značky je následující (položky v hranatých závorkách [..] jsou volitelné):

<typ omezení>[:<způsob dopravy>][:<směr>]:conditional
  = <hodnota omezení> @ <podmínka>[;<hodnota omezení> @ <podmínka>]

Ve značkách access, které se omezují na určitý způsob dopravy se typ omezení access: obvykle vynechává.

<režim dopravy>[:<směr>]:conditional
  = <hodnota omezení> @ <podmínka>[;<hodnota omezení> @ <podmínka>]

Klíč

Klíč je sestaven stejným způsobem jako klíče pro zavedené značky omezení z přidanou koncovkou :conditional.

Typ omezení

Může se jednat o jakýkoliv typ omezení, který může být podmíněný. Běžné příklady jsou access=*, maxspeed=* a oneway=*. Typ omezení by měl odpovídat "hlavní" dopravní značce. U dopravní značky Vorschriftszeichen 1.svg, která má doplňkovou tabulku je typ omezení access. U dopravní značky Nederlands verkeersbord C17.svg je pak typem omezení maxlength (podobně pro jiné značky max<rozměr>).

Způsob dopravy

Tato část klíče určujte kategorii vozidla nebo způsob dopravy, na který se omezení vztahuje. Například bicycle, motor_vehicle, foot, agricultural. U omezení přístupu je povoleno použít zkrácenou verzi, kde je vynecháno slovo access: na začátku kategorie, tedy motorcar namísto access:motorcar. Povšimněte si, že hodnota agricultural vyznačuje typ vozidla (obvykle traktory nebo speciální stroje s nízkou maximální rychlostí), ale nikoliv účel použití cesty.

Viz omezení pro úplnou hierarchii způsobů dopravy.

Směr

Některá omezení jsou závislá na směru. Použijte forward a backward, abyste určili, kterým směrem omezení platí. Hodnota závisí na směru cesty, jakým je zakreslena v OpenStreetMap. Pro návod, jak toto zjistit ve vašem editoru a další informace, si přečtěte popis termínů "forward", "backward", "left", a "right".

Hodnota

Hodnota sestává z vlastního omezení následovného znakem @ a podmínkou. Před a za znak @ přidejte pro lepší čitelnost mezery.

Většinou se udává jen jedna hodnota s odpovídající podmínkou. Ve výjimečných případech může být nutné použít dva nebo více párů hodnota-podmínka. Tyto páry hodnota-podmínka by měly být odděleny středníkem. Jedním z případů může být rychlostní omezení v různých časech dne, ale nižší rychlostní omezení za vlhka. Viz dále Konfliktní podmínky a jak se vyhodnocují násobné páry hodnota-podmínka.

Hodnota omezení

Toto je vlastní hodnota omezení, např. yes, private, 80, 55 mph. Omezení může být absolutní (yes, no, permissive a jiné hodnoty, které se vztahují na všechny), podle účelu použití silnice (destination, delivery, customer, forestry, agricultural atd.) nebo podle explicitního povolení (private, permit_holder).

Podmínka

Toto políčko udává podmínku, za které omezení platí. Existuje několik druhů podmínek.

  • Čas a datum: Použijte standardní syntaxi hodnoty * značky opening_hours=*. Pokud hodnota obsahuje středníky (";"), pak tato podmínka musí být uzavřena v závorkách, např. (Mo-Fr 07:00-19:00), (sunrise-sunset) nebo (Jan-Mar).
  • Stav silnice: Například vlhká wet, sníh snow. Je poznamenáváno, že podmínka wet odpovídá :wet např. ve značce maxspeed:wet=*. Použití wet jako podmínky je doporučováno, aby se sjednotil zápis omezujících značek ("maxspeed:wet" bylo zavedeno v době, kdy neexistoval žádný zavedený způsob jak značit podmíněná omezení).
  • Vlastnost vozidla: Některé příklady vlastností jsou váha weight, zatížení osy axleload, délka length, šířka width, výška height, počet kol wheels a ponor draught (u lodí). Pro vytvoření podmínky použijte operátory <, >, =. Např. (weight<7.5).
  • Využití vozidla: Podmínka závisí na tom, jak je vozidlo využíváno, třeba na počtu pasažérů ve vozidle. Příklady: počet osob (occupants>1) (což je typická podmínka pro jízdu ve vyhrazeném pruhu "hov"), hazmat (vozidlo převážející nebezpečný materiál).
  • Skupina uživatelů: Podmínka se vztahuje na specifickou skupinu uživatelů, např. lékaři, invalidé, záchranná vozidla, ženy.
  • Důvod vjezdu: U typů omezení, kde se očekává numerická hodnota omezení jako je maxweight, podmínka může být závislá na důvodu vjezdu (destination, delivery atd.) nebo na individuálním povolení (private atd.). Příklad:
    maxweight=2.5
    maxweight:conditional=none @ destination

Kromě velmi jednoduchých podmínek jako jsou "wet" nebo "Su", je doporučováno uzavírat podmínky do závorek.

Kombinované podmínky: AND

Dvě nebo více částečných podmínek může být zkombinováno operátorem AND. Pro lepší čitelnost je doporučováno, aby se psal velkými písmeny. AND znamená, že obě částečné podmínky musí být splněny, aby podmínka platila. Například access:conditional=destination @ (Sa-Su AND weight>7).

Výchozí omezení

Občas není jasné, které omezení platí, pokud podmínka není splněna. V těchto případech by se také mělo specifikovat výchozí omezení, např. maxspeed=120 + maxspeed:conditional=100 @ (20:00-06:00). V některých případech se dá výchozí omezení předpokládat a není ho potřeba značit. Pro mnoho tříd silnic jako třeba "unclassified" se předpokládá implicitní access=yes. Viz stránku OSM_tags_for_routing/Access-Restrictions pro výchozí omezení různých tříd silnic. V každém případě při použití značky conditional doporučujeme, aby bylo výchozí omezení jasně vyznačeno.

Vyhodnocování konfliktních podmínek

Když má objekt dvě nebo více různých omezení, které odpovídají způsobu dopravy i podmínkám, pak se pro vyhodnocení, která platí, používá následující algoritmus.

  1. Omezení, které má konkrétnější způsob dopravy má prioritu před méně konkrétním způsobem dopravy. Např. značka "psv" má přednost před "motor_vehicle" v případě vozidla veřejné dopravy. Viz omezení pro hierarchii způsobů dopravy.
  2. Směrové omezení má přednost před nesměrovým omezením stejného způsobu dopravy.
  3. Podmíněné omezení má přednost před nepodmíněným pro stejný způsob dopravy a směr.
  4. Omezení jízdních pruhů, vyhodnocované pro každý pruh, má přednost před omezením druhu dopravy (ať už podmíněného nebo směrového)
  5. Podmíněné omezení jízdních pruhů, vyhodnocované pro každý pruh, má přednost před nepodmíněným omezením jízdních pruhů
  6. V případě více párů hodnota-podmínka ve stejné značce, bude platná ta poslední uvedená hodnota. Je tedy důležité, abyste nejdříve napsali obecnější omezení a poslední konkrétní omezení. Několik příkladů:
    • (access=yes) + access:conditional=no @ (09:00-17:00); destination @ (09:00-17:00 AND disabled) povolí příjezd do bydliště invalidům (poslední podmínka) zatímco jiná doprava je zakázána od 9:00 do 17:00. Časovou podmínku je v druhé hodnotě potřeba zopakovat, jinak by invalidé měli vjezd domů povolen pouze od 17:00 do 09:00, zatímco jiná doprava by měla vjezd povolen.
    • (maxspeed=none) + maxspeed:conditional=120 @ (06:00-20:00); 80 @ wet: Zde 80 km/h má přednost před časovým omezením, pokud je vlhko.
    • (access=no) + access:conditional=delivery @ (07:00-11:00); customer @ (07:00-17:00): Zde vlastně nejde o žádný konflikt, protože pouze jedna hodnota může vyhovovat (účel vjezdu musí odpovídat v případě destination, customer, delivery, agricultural a forestry).

Zastaralé značky

Toto schéma prohlašuje za zastaralé následující značky, pokud se používají s omezujícími značkami.

day_on=*, day_off=*, date_on=*, date_off=*, hour_on=*, hour_off=*

Režimy použití

Aktuální schéma zachází se značkami použití hov=*, emergency=*, hazmat=* a disabled=* jako s podmínkami a nikoliv jako s způsoby dopravy. To umožní složitější omezení jako třeba access:conditional=destination @ (hazmat:A AND weight>7.5). Je doporučováno, aby se tyto režimy použití značili jako skutečné podmínky namísto pseudo-způsoby dopravy, i když takovýto způsob značení není explicitně tímto schématem prohlášen za zastralý.

Nevztahuje se na

Příklady

Ilustrace Značení Interpretace
Speedlimit120-timecondition.jpg maxspeed=130
maxspeed:conditional=120 @ (06:00-19:00)
Maximální rychlost omezena na 120 km/h od 6 do 19 hodin, ale jinak 130 km/h (příklad z holandské dálnice).
maxspeed=none
maxspeed:conditional=120 @ (06:00-20:00); 100 @ (22:00-06:00)
Dvě podmíněné omezení rychlosti platné v různých časech dne (skutečný příklad z německé dálnice).
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

Komplexní příklad z holandské pěší zóny. Doprava zboží ("bevoorradingsverkeer") je povolena v jistém časovém intervalu. Bicykly ("fietsen") jsou povoleny kromě sobot 8–16 h. Mopedy a motorová kola ("snor- en bromfietsen") nejsou povoleny.
access:conditional=destination @ (weight>5.5) Vozidla nad 5.5t jsou povolena pouze, pokud jedou do této destinace.
Maxweight except buses and for loading.jpg maxweight=7.5
maxweight:bus=none
maxweight:conditional=none @ delivery
Zde je podmínka maxweight, nad kterou převáží podmínka maxweight:bus (jelikož se jedná o konkrétnější způsob dopravy) a podmínka maxweight:conditional (podmíněné omezení stejného způsobu dopravy — tedy žádného určeného — jako maxweight=). Tedy maximální váha 7.5 t se vztahuje na všechna vozidla kromě autobusů a těch, které zavážejí ('delivery').
Length and time restriction 2.jpg motor_vehicle:conditional=no @ (10:00-18:00 AND length>5) Motorová vozidla delší než pět metrů nejsou povolena mezi 10:00 a 18:00
UK motor restriction sign with exceptions.jpg highway=tertiary

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

Toto je kamerou hlídaná "autobusová brána"; motorová vozidla jsou zakázána od 07:30 do 18:30 mimo vozidel veřejné dopravy. Časy je potřeba přehodit (než jak jsou napsaná na značce), pokud chcete použít motor_vehicle=no jako hlavní hodnotu.
Hgv-no-overtaking-condition.jpg overtaking:hgv:conditional=no @ (Mo-Fr 06:00-19:00) Předjíždění není povoleno pro nákladní automobily od 6:00 do 19:00 v pracovních dnech (příklad z holandské dálnice)
oneway:conditional=yes @ Su

oneway:bicycle=no

Silnice je v neděli jednosměrná, ale bicykly smí jezdit oběma směry stále. Druhá značka má přednost před podmíněnou, protože obsahuje konkrétní způsob dopravy 'bicycle'.
Speed limit of 60 for HGV with weight more than 7.5t.jpg maxspeed=80

maxspeed:hgv:conditional=60 @ (weight>7.5)

Příklad podmíněného omezení rychlosti pro určitý způsob dopravy.

Viz také