Tutoriál OpenStreetMap, časť druhá – mapové elementy

V prvom diele tutoriálu sme si ozrejmili koncept databázy OpenStreetMap. Spomenuli sme, že z tejto databázy sú vytvárané najmä rastrové mapy, aké môžete vidieť na oficiálnej stránke projektu alebo stránkach Freemap Slovakia. V tomto – druhom dieli sa budeme venovať základným stavebným prvkom, ktoré tvoria databázu OpenStreetMap.

Štruktúra OpenStreetMap databázy

Databáza OpenStreetMap obsahuje len vektorové údaje s ich popismi. Všetky prvky sú v jednej globálnej vrstve tvoriacej sieť prevažne prepojených prvkov. Nevýhodou môže byť zdanlivo neprehľadná spleť mapových prvkov pri úprave husto zmapovaných oblastí. V tomto prípade si vieme pomôcť tzv. filtrovaním, kde si podľa zvolených pravidiel skryjeme rôzne skupiny prvkov, s ktorými nebudeme narábať, aby nám nezavadzali.

Poznámka: Anglické termíny sú v článku uvedené v hranatých zátvorkách […].

Prvky mapy

Databázu OpenStreetMap tvorí len pár základných mapových prvkov [map element]:

  • uzol [node]
  • cesta [way]
  • relácia [relation]
  • tag (spisovne značka) [tag]

Uzol

node

Uzol reprezentuje najjednoduchší prvok mapy. Tvorí ho pár súradníc (zemepísna šírka [latitude] a dĺžka [longitude]) a nepovinná sada tagov. Tag [tag] dáva prvku určitú vlastnosť. Skladá sa z kľúča a hodnoty a zapisuje sa ako kľúč=hodnota. Napríklad ak chceme, aby uzol reprezentoval lekáreň, priradíme mu tag amenity=pharmacy. Ak poznáme meno danej lekárne, tomu istému uzlu priradíme ďalší tag, napríklad name=Sanitas. Tagom je ďalej v texte venovaná samostatná kapitola.

Uzol, ktorý nemá žiadne tagy, by mal byť súčasťou ďalšieho mapového prvku – cesty, v opačnom prípade je zbytočný. 

 

Cesta

wayCesta sa skladá zo zoradenej postupnosti uzlov. Prvý uzol predstavuje začiatok cesty a posledný jej koniec. Cesta v reči OpenStreetMap nepredstavuje priamo cestu, po ktorej sa jazdí. Je to len abstraktné pospájanie uzlov, ktorému dajú význam znova až tagy, ako to bolo pri uzle. Takisto, ak chceme, aby táto cesta predstavovala klasickú cestu, konkrétne ulicu, priradíme jej tag highway=residential. A ak vieme aj jej názov, určíme ho opäť tagom, napríklad name=Hlavná.

Pre plochy v mape sa používajú uzavreté cesty. Uzavretá cesta začína aj končí tým istým uzlom. Ako príklad uvedieme budovu (tag building=yes) alebo les (landuse=forest).

 

 

Relácia

relationRelácia predstavuje najzložitejší prvok mapy. Na mapovanie základných objektov nie je potrebná, ale ak chceme zmapovať turistickú trasu, alebo v našej Freemap komunite obľúbenú dieru v lese, tak sa bez nej nezaobídeme.

Relácia predstavuje skupinu – logické zoskupenie mapových prvkov (uzlov, ciest a prípadne ďalších relácii), pričom každý prvok v relácii môže mať zadefinovanú rolu, ktorá určuje jeho význam v tejto relácii. Poďme zakresliť les s dierou, ktorá môže byť neskôr otagovaná ako lúka. Najprv nakreslíme uzavretú cestu, predstavujúcu vonkajší okraj lesa. Potom do vnútra tejto cesty nakreslíme ďalšiu uzavretú cestu, áno, našu dieru, možno neskôr lúku. Teraz prichádza na rad relácia, ktorú vytvoríme a následne do nej pridáme vonkajšiu cestu s rolou outer (vonkajší) a vnútornú cestu s rolou inner (vnútorný). Našej relácii ešte musíme povedať tagom type=multipolygon, že predstavuje plochu zloženú z viacerých prvkov [multipolygon] a druhým tagom landuse=forest, že táto komplexná plocha je vlastne les. Hotovo. Čerešničkou na torte bude priradenie tagu landuse=meadow vnútornej uzavretej ceste, aby vedela, že nie je len bezduchou dierou v lese, ale je to pani lúka.

 

Uvedieme ešte reláciu, ktorá reprezentuje značenú turistickú trasu. Takáto kompletná trasa sa často skladá z rôznych chodníkov, lesných ciest, ulíc a podobne. Povedzme, že to bude červená turistická trasa s číslom 0918. Kedysi sa na toto nepoužívali relácie a každému úseku takejto trasy sa pridali rovnaké tagy, v tomto prípade marked_trail_red=yes a marked_trail_ref=0918. Nevýhodou tohoto spôsobu tagovania bolo i to, že ak by ju klub slovenských turistov preznačil na modro, tak by bolo potrebné každému úseku tejto trasy zmeniť tag marked_trail_red=yes na marked_trail_blue=yes, čo by pri trasách s mnohými úsekmi bolo dosť pracné. Poďme ju preto zakresliť po novom, pomocou relácie. Vytvoríme novú reláciu a pridáme do nej všetky úseky celej trasy. Rolu každého úseku necháme prázdnu. Nakoniec už len pridáme našej turistickej relácii tagy type=route, route=hiking, colour=red, symbol=major, osmc:symbol=red:white:red_bar, ref=0918, network=nwn, complete=yes , operator=KST a je vymaľované. Ale predsa ešte jedna vec – čo ak nejakým úsekom vedú dve turistické trasy súčasne, napríklad červená spolu s modrou? Riešenie je jednoduché. Tento úsek dáme do oboch relácii, červenej aj modrej súčasne.

 

Tagy

tag

Každý tag sa skladá z kľúča a hodnoty. Kľúč predstavuje buď všeobecnú kategóriu prvku mapy, alebo vlastnosť, ktorú chceme popísať hodnotou. Príkladom kľúča určujúceho kategóriu je highway pre komunikácie rôznych kategórií alebo natural – pre prírodné objekty ako vrchol, prameň a pod. Príklad kľúča určujúceho vlastnosť je name pre názov, alebo maxspeed pre maximálnu povolenú rýchlosť.

Kľúč aj hodnota môžu obsahovať ľubovoľný text, ale pre väčšinu objektov, ktoré sa mapujú, sú už dohodnuté ich konkrétne znenia. Takto vedia mapovači ako otagovať povedzme potok (waterway=stream, name=…), aby ho vyobrazil softvér, ktorý vykresľuje mapu. Nové tagy neustále pribúdajú, niektoré existujúce sa dolaďujú a zastaralé zanikajú. Predtým, ako je tag zaradený medzi oficiálne, čaká na schválenie. To však nezabraňuje ho (opatrne) používať v mape a mnoho takýchto tagov sa už dokonca bežne používa. Schválenie tagu neznamená, že sa automaticky začne zobrazovať v rôznych mapách čerpajúcich z OpenStreetMap databázy. Tvorcovia softvérov, ktoré spracúvajú údaje z OpenStreetMap databázy budú ale preferovať schválené tagy pri ich neskôršej implementácii.

Niektoré tagy implikujú iné. Ak otagujeme chodník highway=footway, tak tento tag implikuje bicycle=no, t.j. zákaz po ňom jazdiť bicyklom, alebo surface=paved, t.j. spevnený povrch. Tieto implikované tagy preto uvádzať nemusíme. Ak je na chodníku tabuľa explicitne povoľujúca jazdu na bicykli, tak ceste dáme okrem tagu highway=footway aj tag bicycle=yes. (Pozn.: zvyčajne v takomto prípade nájdeme na chodníku namaľovaný pruh pre bicykle, tým pádom chodníku priradáme tag cycleway=lane).

Kľúč name

Kľúč name, ako už bolo spomenuté, slúži na pomenovanie konkrétneho objektu v mape. Bohužiaľ sa toto pomenovávanie často nepochopí úplne správne a noví mapovači priradia napríklad škole (amenity=school) tag name=škola. Čo je tu zle? Nuž to, že asi žiadna škola na Slovensku sa nevolá „škola“. Hodnota kľúča name má byť vlastné meno, napríklad „Tomášikova“. Podobne je to pri zložených názvoch, kde namiesto „Krátka ulica“ dávame len „Krátka“, alebo namiesto „jaskyňa Domica“ len „Domica“. Výnimka môže nastať pri štandardizovaných názvoch, ako napríklad „Vysoký vrch“ a nie len „Vysoký“.

Do názvu sa nedávajú skratky. Napríklad „sv. Martina“, „Nám. osloboditeľov“ alebo „P. O. Hviezdoslava“ majú byť správne celým menom – „svätého Martina“, „Námestie osloboditeľov“, resp. „Pavla Országha Hviezdoslava“. Na tabuliach budov ich vidíte skrátené, ale to je iba z dôvodu, že sa na ne dlhší text nezmestí. Do databázy sa ale vojde a ak chceme povedzme vytlačiť menný index ulíc svojho mesta, tak by sme tam radi videli neskrátené názvy. Výnimky môžu nastať pri názvoch štandardizovaných miestnou autoritou, napríklad „Trieda SNP“, alebo pri skratkách, ktoré sa píšu v plnom tvare len veľmi zriedkavo, napríklad „Kutyl s.r.o.“. Mimochodom, skrátené názvy nájdete aj na mapách Freemap; toto sa robí softvérovo vo fáze renderovania mapy – šetrí sa tým miesto na mape, vďaka čomu sa do mapy vojde viac dôležitých informácií.

Problematika tagovania je veľmi rozsiahla téma a nebol by problém na ňu napísať niekoľko ďalších článkov. V nasledujúcich pokračovaniach tutoriálu sa niektorým tagom budeme venovať hlbšie.

Odlišnosti od GIS

Táto kapitola je len pre používateľov GIS, ktorí už majú zaužívany iný pohľad na mapové údaje.

Ako bolo v úvode spomenuté, údaje v OpenStreetMap nie sú uložené vo vrstvách, ale všetky prvky sú v jedinej globálnej vrstve a tvoria sieť prevažne prepojených prvkov. Znamená to napríklad aj to, že v mieste, kde sa dve ulice križujú, majú spoločný uzol. V mieste, kde je mimoúrovňová križovatka, sa cesty križujú bez spoločného uzla. Výhoda takéhoto riešenia je, že na rozdiel od klasického GIS pohľadu sú v OpenStreetMap databáze okrem priestorového umiestnenia (odpoveď na otázku Kde?) uchované aj logické vzťahy medzi prvkami (odpoveď na otázku Ako?).

 

Mapy použité v tomto článku © OpenStreetMap prispievatelia

 

< Časť prvá

2 votes, average: 5,00 out of 52 votes, average: 5,00 out of 52 votes, average: 5,00 out of 52 votes, average: 5,00 out of 52 votes, average: 5,00 out of 5 (2 votes, average: 5,00 out of 5)
You need to be a registered member to rate this post.
Loading...
1 973 zobrazení

Pridaj komentár