Cs:Plocha

From OpenStreetMap Wiki
(Redirected from Cs:Area)
Jump to navigation Jump to search
Ukázka plochy pro pěší připojené k silniční síti

Plocha (area) Plocha (také vyplněný mnohoúhelník) je definována jako plocha, která je určena opsanou uzavřenou cestou s určitými značkami (Tags), nebo pomocí relace multipolygonu, který definuje plochu kombinací více cest.

Uvědomte si. že plocha není v současné době (leden 2012) považována za samostatný datový prvek. Některé uzavřené cesty (například označené landuse=*) jsou považovány za plochy, ale jiné uzavřené cesty (jako třeba ty označené highway=footway) jsou brány za běžné lomené čáry a za plochy jsou považovány, jen pokud jsou doplněny značkou "plocha" - area=yes.

Způsob zakreslování

Jsou dva způsoby, jak lze vytvořit plochu:

  • K zakreslení menší plochy často stačí vytvořit jednu uzavřenou cestu s odpovídajícími značkami (Tags). V některých nepříliš častých případech je pak potřeba doplnit i značku "plocha" - area=yes. Další informace najdete na stránce area=*.
  • Rozsáhlejší plochy a plochy, které se dotýkají jiných ploch nebo cest, je často vhodnější zakreslovat pomocí relace multipolygon a opět přidat potřebné značky (Tags). Více informací najdete na stránce Relace multipolygon.

Uzavřená cesta s určitou kombinací značek (Tags) může být najednou interpretována jako plocha i lomená čára. Například kruhový objezd, uprostřed kterého je trávník, bude označen highway=primary i landuse=grass, což znamená jak do kruhu uzavřenou silnici, tak i plochu zeleně uprostřed.

Pokud je vykreslována cesta označená značkami, které lze použít pouze na uzavřené cesty, ale cesta nebude uzavřena, pak jí vykreslovací software často "uzavře" spojením jejích koncových uzlů, aby ji mohl vyplnit plochou.

V minulosti bylo nutné kreslit hranice ploch v určitém směru (po nebo proti směru hodinových ručiček), aby se zajistilo, že plocha bude správně vykreslena. Dnes to již není potřeba.

Vykreslování

Během vykreslování mapy jsou většinou malé plochy vykreslovány "nad" většími plochami, čímž je zajištěno, že bude správně vykreslen malý lesík, který je součástí velkého parku.

Nicméně v situacích, kde existují díry ve větších prvcích, jako je třeba travnatá mýtina v lese, by se měly používat multipolygony, aby explicitně určily např. mýtiny v lese a odděleně definovaly trávu na této mýtině.

Příklady

Jednoduchá plocha

V tomto případě je zakreslena vodní plocha jako jednoduchá uzavřená cesta, jejíž počáteční uzel je identický s posledním. Použití značky natural=water zahrnuje implicitní značku "plochy" area=yes. Povšimněte si, že tímto způsobem není možné zakreslit vodní plochy, které mají ostrůvky, jelikož uzavřená cesta z definice nemůže obsahovat díry.

  <way id="4876027" timestamp="2008-03-12T07:59:11Z" user="MichaelCollinson">
    <nd ref="31492372"/>
    <nd ref="31492338"/>
    <nd ref="31492370"/>
    <nd ref="31492371"/>
    <nd ref="31492372"/>
    <tag k="natural" v="water"/>
    <tag k="name" v="Spegeldammen"/>
  </way>

Plocha tvořená multipolygonem

Multipolygon Illustration 2.svg
Multipolygon Illustration 1b.svg

Plochu lze zakreslit i relací multipolygon jako množinu cest, která určuje vnější hranici, a volitelně i cest určujících vnitřní hranice - "díry"). V příkladu níže je jedna vnější "outer" cesta, která určuje vnější hranici a dvě vnitřní "inner" cesty. Ze samotných těchto dat nemůžeme říci, zda se jedná o

  • dvě "díry" (obě cesty jsou uzavřené cesty),
  • nebo zda je to "díra" jedna (obě vnitřní cesty jsou-li spojeny, tvoří jednu uzavřenou cestu)

Na to musíme dále zkoumat odkazovaná data, tedy cesty 8125153 a 8125154.

  <relation id="12" timestamp="2008-12-21T19:31:43Z" user="kevjs1982" uid="84075">
    <member type="way" ref="2878061" role="outer"/> <!-- picture ref="1" -->
    <member type="way" ref="8125153" role="inner"/> <!-- picture ref="2" -->
    <member type="way" ref="8125154" role="inner"/> <!-- picture ref="3" -->

    <member type="way" ref="3811966" role=""/> <!-- Prázdná role vyvolá varování.
        Vyhněte se tomu. Většina softwarů to řeší výpočtem role, což je ovšem 
        náročnější, než když ji přímo zadáte.
        Není zobrazeno na ilustračním obrázku vpravo. -->

    <tag k="type" v="multipolygon"/>
  </relation>

Viz také