Cs:Key:layer
layer |
Popis |
---|
Popisuje vertikální uspořádání překrývajících se objektů. |
Skupina: vlastnosti |
Použité na těchto prvcích |
Vhodné kombinace |
|
Status: de facto |
Nástroje |
Značka layer=* (vrstva) je jedním z několika způsobů, jak popsat vertikální uspořádání křížících se nebo překrývajících se prvků. Vertikální řazení vyplývá z hodnot(y) značky a je platné pouze přesně v místě křížení cest (nikoliv v místě uzlu).
POZOR!:
- spojení cest společným uzlem v místě, kde se kříží vertikální uspořádání definované značkou layer, toto uspořádání anuluje (zničí)!
- Značka layer není vhodná pro definici vertikálního vztahu mezi sousedícími, blízkými, nebo vzdálenými prvky, nebo plochami.
- Aplikujete-li je na dlouhé cesty, obvykle ovlivníte (často porušíte) křižovatky daleko mimo viditelnou upravovanou oblast!
Hodnoty se mohou pohybovat mezi -5 a 5, hodnota 0 by se neměla zadávat.
Cesty, které procházejí nad jinými cestami na mostě, budou mít vyšší hodnotu vrstvy (layer), cesty procházející tunely pod jinými cestami budou mít nižší (zápornou) hodnotu. Všechny cesty bez zadané hodnoty jsou považovány za cesty ve vrstvě 0.
Až na několik výjimek by měla být značka layer=* na cestě použita pouze v kombinaci s jednou ze značek tunnel=*, bridge=*, highway=steps, highway=elevator, covered=* nebo indoor=yes. U ploch, může být použita například se značkami man_made=bridge, zvláštními typy building=* a podobně.
Cesty v budovách (a v podobných stavbách, jako jsou vícepatrová parkoviště, nákupní centra, letiště, nádraží, některé víceúrovňové mosty a silnice...) by se měly spíše popisovat značkou level=*, nikoliv layer=*.
Značka layer=* v žádném případě neposkytuje informace o rozdílu relativní nebo absolutní výšky objektů, které se přímo nekříží nebo nepřekrývají. Změna ve vrstvě by se neměla brát za změnu ve výšce. Most je ve vrstvě 1, i když je několik metrů nad mořem, zatímco špička hory Mount Everest je ve vrstvě 0, i když je 8 848 metrů nad mořem.
Záporné hodnoty neznamenají, že je objekt pod zemí. Pro tento účel použijte značku location=underground.
Nadmořskou výšku objektu můžete přesně určit značkou ele=*.
Existuje několik dalších značek, které určují nebo mění vertikální uspořádání prvků buď explicitně nebo implicitně. Příkladem jsou tyto: level=*, location=*, covered=*, highway=steps, aerialway=*, power=line, waterway=dam.
Zásady
Hlavní zásady jsou:
- Prvky ve vrstvě 0 by normálně neměly mít žádnou značku.
- Nepoužívejte layer=-1 jen proto, abyste skryli varování o křížících se nebo překrývajících se cestách. Buď je pořádně opravte, nebo nechte varování snadno viditelné, aby je mohli opravit ostatní.
- Pokud je vodní tok viditelný na leteckých snímcích, tak to pravděpodobně nebude layer=-1.
- Značte tu nejkratší možnou vhodnou sekci cesty. Dlouhé viadukty a tunely mohou být označeny vhodnou hodnotou na celé jejich délce z důvodu jednoduchosti zakreslování, ale někdy může být vhodnější změnit vrstvu pouze v části jejich délky, abyste dovolili komplikovanější křížení.
- Použijte tu nejmenší vhodnou hodnotu vrstvy. V případě mostu použijte layer=2 pouze, pokud vede přes prvek který již má vrstvu 1. Podobně použijte layer=-2 u tunelu, který vede pod jiným tunelem. Z důvodu pohodlného editování mapy jsou často vyšší hodnoty místně použity (rezervovány) pro velmi dlouhé mosty nebo podzemní sítě, kde se předpokládá, že jsou nad/pod většinou objektů v oblasti.
- Když cesty vedou v různých úrovních, aplikujte značku layer=* pouze na cestu, která má rovněž atribut mostu nebo tunelu. Značkou layer=* by měly být značeny cesty s jednou ze značek tunnel=*, bridge=*, highway=steps, highway=elevator, nebo covered=*. Podobně je to u železnic a vodních cest.
- Uvnitř složitých křižovatek je často nutné rozdělit cesty (a jednotlivé části značit různými hodnotami klíče layer), aby se dala změnit jejich vrstva a tím zajistit, že vertikální uspořádání křižovatky je správně popsáno.
- Řeky a potoky by se neměly značit značkou layer=-1 podél dlouhých sekcí své délky, křížení by mělo být značeno stejně jako jiná křížení s mosty, tunely a vrstvami. Vodní cesty, které jsou kryté, mohou být označeny covered=yes a jsou pak obecně vykreslovány, jako kdyby tekly pod jinými prvky. Tam, kde je cesta na stejné úrovní jako vodní tok, můžete přidat značku pro brod (ford=*).
- Vedení elektrického napětí (power=line) není normálně nutno značit značkou layer=*, jelikož se předpokládá, že jsou nad ostatními prvky - pokud ovšem není přidána vrstva layer, která značí opak. Můžete použít značku location=overground a značka layer=* může být použita tam, kde se elektrické vedení kříží.
- Některé jiné prvky jako man_made=pipeline mohou být také vhodně označeny pomocí location=overground nebo location=underground namísto značky layer=*. To prostě naznačuje, že jsou ve vzduchu nebo zakopané, aniž by byla poskytována nějaká informace o relativní výšce, která stejně není pro zakopané potrubí snadno dostupná. Značku layer=* můžete použít v případě, že se dvě potrubí kříží a vy víte jak.
- I když některé renderery a služby kontroly kvality předpokládají, že mosty a tunely jsou ve vrstvách +1 a -1, je vždy lepší vrstvy pro všechny mosty a tunely explicitně určit.
Někdy může vzniknout pochybnost, zda by daný prvek v křížení měl být označen jako most, nebo jako tunel. Obecně platí, že cesta tunelem je delší a tmavší, kdežto cesta pod mostem je kratší a světlejší. Standard GDF používá pro oba prvky termín 'brunnel' (česky asi něco jako 'mostunel').
Čemu se vyhnout
Příklady, jak nepoužívat značku layer=*:
- Plochy kategorie landuse=*, jako jsou parky a lesy, by normálně neměly být označeny značkou layer=*. Výjimkou z tohoto pravidla je, pokud je jedna plocha nad jinou plochou.
- Silnice, železnice, vodní cesty a podobně by neměly být značeny vrstvou jen proto, že jsou zvýšené na náspu, nebo jsou v zářezu. Pro tyto účely slouží značky embankment=* a cutting=*, respektive waterway=ditch.
- Dejte si pozor na užití značky layer na cestě, která kříží plochu v jiné vrstvě - typicky ve vrstvě, která není definována a je pravděpodobné, že tato kombinace způsobí nečekané výsledky. Například cesta nebo řeka, která je značena layer=-1 nemusí být vykreslena, když kříží les landuse=forest s implicitní značkou layer=0 - vykreslení se bude lišit v závislosti na rendereru. Tyto kombinace jsou definovány pouze v kombinaci s dalšími značkami jako je most či tunel.
- Ostrov (place=island) uprostřed jezera (natural=water) by neměl být označen jako layer=1. Stejně tak, by se neměla označovat mýtina v lese. Stávalo se, že takovéto značení bývalo pro správné vykreslení ostrova či mýtiny použito. Pro tyto účely však důsledně používejte multipolygon.
- Patra uvnitř budov by se měla značit značkou level=* a nikoliv layer=*.
- Použijte nejmenší možnou hodnotu vrstvy. Pro jednoduchý most přes cestu použijte layer=1, nikoliv layer=2.
- Řeky a potoky by se neměly značit layer=-1 podél své celé délky nebo na dlouhých úsecích.
- Kladné hodnoty nepotřebují znaménko '+'. Použijte layer=1 namísto layer=+1.
Příklady
Tento pohled na vrstvy ve Washingtonu pomocí ITO Map ukazuje, jak jsou správně organizovány prvky, které jsou nad jinými pozemními prvky za pomoci vrstvy 1 (červená), pokud není nutno použít vrstvu 2 (oranžová). Podzemní prvky mají vrstvy -1 (modrá) nebo -2 dle potřeby. | |
Příklad vrstev zobrazených v editoru JOSM s doplňkovým stylem vykreslení mapy Layer checker. | |
Tento pohled na Grand Union canal v UK ukazuje nesprávné použití vrstev. Kanál přechází mezi povrchem (žádná vrstva), vrstvou -1 (tmavě modrá) do vrstvy 2 (oranžová) zcela bezdůvodně. Mosty a tunely používají vyšší čísla vrstev než je nutné a některé nemají vrstvy vůbec. Místo, kde potok a chodník prochází pod kanálem v tunelu, je zobrazeno ve stejné vrstvě jako kanál (zrovna ve vrstvě -1). Parkoviště a několik cest ve vesnici jsou ve vrstvě layer=-1, kde není potřeba žádná vrstva, protože jsou na úrovni země. | |
Značka layer použita nesprávně pro les a golfové hřiště. Lesy jsou ve vrstvě 2 a golfové hřiště ve vrstvě -1 a pozemek na vrstvě -2. Tyto prvky jsou všechny na úrovni země a vykreslily by se správně i bez vrstev. |
Viz také
- location=*
- bridge=*
- tunnel=*
- covered=*
- ele=*
- Vrstva (Layer)
- level=* - patro
- opuštěný návrh Proposed_features/layer_change(en) (značka, která pomáhá rendererům vyhýbat se při změně vrstvy artefaktům a tím jim pomoci lépe pracovat s touto značkou.)
- zamítnutý návrh na výchozí hodnoty layer=* pro mosty a tunely: Proposed_features/default_layer_for_bridge_and_tunnel(en)
- Styl vykreslení mapy JOSM Layer checker
Zpracování dat
Aby nedocházelo při vykreslování k artefaktům (část vodního toku označená layer=-1 by neměla být překryta landuse=forest bez značky layer) a z důvodu mnoha chyb v databázi renderery obvykle přisuzují značce layer=* nejmenší váhu ze všech uvažovaných postupů jak vykreslit prvky.
2D renderer by mohl vytvořit 3D model prvků, filtrovat je podle relevance a vizuálně sestavit výsledek podle 3D řazení a priorit vykreslování. Značka layer=* ovlivňuje pouze 3D model a neměla by mít žádnou váhu na relevanci filtrování a prioritu vykreslování (viditelnost).
3D modelování se většinou řídí přirozeným vertikálním řazením prvků v kombinaci se značkami layer a level přibližně v tomto pořadí:
- přirozené řazení: (location=underground, tunnel) pod (landcover, landuse, natural) pod waterways pod (highway, railway) pod (man_made, building) pod (bridge, location=overground, location=overhead)
- hodnota značky layer:
- značka layer může "přerazit" přirozené řazení prvků v nějaké skupině, ale nemůže například umístit řeku nebo landuse nad most nebo lanovku (výjimka: použití v mapování uvnitř budov nebo se značkou location)
- značky layer na "přírodních prvcích" jsou často zcela ignorovány
- hodnota značky level: je zvažována spolu s layer - layer modeluje umístění člověkem vytvořených objektů, zatímco level je pro prvky uvnitř těchto objektů.
Příklady
- Tento most (data přiložena k JOSM tiketu) byl vykreslen správně, i když měl layer=-1 zatímco vodní tok a jeho břehy mají implicitní layer=0. Chyba byla mezitím opravena a JOSM validátor byl vylepšen, aby si všímal takovýchto situací.