Začněme tím, jak je vlastně OpenStreetMap (dále jen OSM) postavena. Mapová data jsou uložena v databázi, která lze vyexportovat ve formě XML souboru. To je také její hlavní charakteristika. Obsahuje v zásadě jen tři elementy, zbytek je charakterizován tagy (opět termín z XML). Tyto tři elementy jsou:
Tag je parametry, který je přiřazen k jednotlivým elementům a má název a hodnotu. Například tag s názvem highway určuje, že se jedná o nějaký typ komunikace, parametr primary pak značí, že je to silnice první třídy. Tag může mít libovolný název i hodnotu, ale jen některé tagy jsou využívány pro nakreslení mapy, případně navigaci. Tyto tagy jsou takzvaně schválené komunitou a jejich seznam lze najít na Wiki OSM zde. pokuste se jiné spíše nepoužívat a pokud nevíte, zeptejte se zkušenějších mapovačů například na mailing listu.
Pomocí tagů lze i nechat vzkaz dalším mapujícím lidem, pokud je třeba v mapě něco nejasné. Často není u cest (hlavně v lesích) zřejmé, kudy přesně vedou, proto můžete vloženou cestu označit tagem note, což je poznámka pro ostatní, a do ní napsat například "upřesnit".
Pro kreslení mapy (tedy jednotlivých elementů) a přiřazování tagů slouží OSM editory, což jsou vlastně grafické programy. Nejprve si stáhnou z OSM oblast, kterou chceme editovat, tedy již zakreslené objekty, po provedení úprav zase nahrají změny zpět na OSM server. Tři nejpoužívanější editory jsou tyto:
Je na Vás, který z nich budete používat, občas se hodí všechny, protože každý má jiné vlastnosti, jiné přednosti a jiné nectnosti. Pro skutečné kreslení se hodí nejlépe JOSM nebo Merkaartor. Při kreslení se hodí, když si pod Vaší mapu necháte podkreslit nějaký podklad (pomocí dat z WMS serveru), podle kterého lze obkreslovat, lze i načíst GPX trasy, zaznamenané pomocí GPS.
Asi nejdůležitějším bodem je samotné získání dat pro zakreslení do mapy. Zde musím připomenout, že byste měli mapovat jen to, co znáte. Nesnažte se moc kreslit oblasti, které neznáte, nebo kam nepojedete, abyste si to ověřili. Prvním zdrojem je totiž hlavně Vaše GPSka. Tu lze použít pro projití trasy s jejím záznamem a poté nakreslením cest do mapy. Berte v úvahu, že GPSka je nepřesná (i o desítky metrů) a tak se moc nesnažte opravovat jiné cesty podle Vašich záznamů. Přesnější jsou totiž jiné zdroje dat.
Jiný zdroj dat může být pouze takový, aby nebyla narušena původní licence. Obkreslovat z jiné mapy je až na výjimky zakázáno. Věřte tomu, že to lze často snadno odhalit, protože právě v komerčních mapách je spousta chyb a pokud tam tuto chybu překreslíte, tak je jasné, odkud pochází. Na tyto mapy tedy v podstatě zapomeňte, lze je občas použít jen pro srovnání, ale v žádném případě z nich neobkreslujte.
Nevěšte ale hlavu, existují různé zdroje, podle kterých lze kreslit. V podstatě jsou to ale jen oficiální úřední mapy, které jsou ale na druhou stranu velice přesné. První je UHUL ortofoto mapa, což je černobílá fotomapa, podle které lze kreslit hlavně lesy, rybníky, hranice obcí, ale často i silnice. Na zakreslování cest v lese se nehodí, protože nejsou vidět. Také kvalita UHULu není nic moc, navíc zdroj dat je docela starý, takže opět platí - ověřovat v praxi! Druhý zdroj dat je oficiální katastrální mapa, podle které lze kreslit téměř vše, aktualizuje se velice často a je velice přesná. Tu lze brát v podstatě jako referenci (i když i zde se najdou chyby). Používám ji jak pro zakreslení silnic, tak i lesních cest (ne vždy tam jsou), budov a také adres. Adresy je dobré ověřovat podle Územně identifikačního registru adres (UIR), kde lze najít všechny adresy v ČR. Ty nemají WMS server, ale jen webové rozhraní.
Tyto tři zdroje dat jsou v podstatě jediné legální, ale s jednou podmínkou - musí být uveden zdroj dat. Pokud tedy z těchto zdrojů něco nakreslíte, vždy k danému objektu přidejte tag source s názvem zdroje - např. uhul:wms, cuzk:kn, uir apod.
Nyní se již podívejme, jak tagovat jednotlivé objekty mapy. Nebudeme probírat jejich vkládání v různých editorech, jen čistě to, jaké tagy máme přiřazovat různým objektům. Začněme s tím nejdůležitějším - silničními komunikacemi.
Komunikace nebo lidově silnice a cesty budou asi to, co bude nejvíce v mapě využíváno. Ať už jen pro hledání v mapě, nebo pro navigaci. Aby vše fungovalo jak má, je nutné dodržovat základní pravidla pro jejich označení. Název tagu, který určuje, že jde o komunikace je highway. Jednotlivé typy silnic jsou popsány na Wiki OSM, my si popíšeme český způsob přiřazování, hodnotu tagu pro silnice najdete v následující tabulce. Přiřazování silnic, které tvoří oficiální silniční síť, by se měla řídit oficiálním značením. Je to důležité pro navigaci, která podle toho určuje jak dobu jízdy, tak i třeba odbočování. Jeden názor je, že by měl typ určovat fyzický stav cesty, to je ale značně subjektivní, navíc se fyzický stav silnice může změnit a nikdo to pak již v mapě neopraví. Řiďte se tedy oficiálním státním přiřazením.
![]() |
![]() |
motorway | dálnice, u nás označená jako silnice Dx (tedy D1, D2 atd.) Má určité parametry, takže nezaměňovat s rychlostními komunikacemi Rx. Každý směr dálnice má samostatnou cestu, která má přiřazen i tag oneway (jednosměrná silnice). Nájezd na dálnici je mimoúrovňový a označuje se jako motorway_link. |
![]() |
![]() |
trunk | Silnice pro motorová vozidla, u nás označená jako silnice Rx, každý směr dálnice má opět samostatnou cestu, která má přiřazen i tag oneway (jednosměrná silnice). Pro navigace je důležité rozlišovat mezi motorway a trunk silnicemi, protože na nich jsou různé průměrné rychlosti (jsou jinak definované poloměry zatáček, možné stoupání apod.), což je důležité pro výpočet doby cesty. Nájezd na rychlostní komunikaci je mimoúrovňový a označuje se jako trunk_link. |
![]() |
![]() |
primary | Silnice první třídy, která tvoří základní síť silnic, určenou pro dálkovou přepravu, spravovanou státem. Jsou označeny např. I/2, kde první je římská číslice, označující silnici první třídy, druhá je číslo silnice, maximálně o dvou číslicích. |
![]() |
![]() |
secondary | Silnice druhé třídy, určená pro přepravu mezi okresy, spravované krajem. Jsou označeny např. II/325. |
![]() |
tertiary | Silnice třetí třídy, která propojuje obce, spravované krajem. Buď jsou be označení nebo mají čtyř nebo pětimístné označení, např. III/12345. | |
![]() |
unclassified | Neklasifikovaná silnice, často jen místního charakteru, ale stále většinou mimo obcí. Parametry může mít jako silnice třetí třídy nebo je většinou užší, takže protijedoucí auta musí při míjení zpomalit. | |
![]() |
residential | Místní komunikace v obci, určená pro dopravu místních obyvatel. Jde v podstatě o obytné ulice. | |
![]() |
![]() |
living_street | Místní komunikace, označena jako obytná zóna. Vozidla se zde setkávají s chodci přímo na vozovce. |
![]() |
![]() |
pedestrian | Ulice pouze pro pěší, například pěší zóny, kam mají auta většinou vjezd zakázán. |
![]() |
service | Silnice určená pro servisní účely - příjezd na benzínku, příjezd do fabriky, příjezd na soukromý pozemek apod. |
Trochu jinou kapitolou jsou lesní a polní cesty, cyklostezky apod. U nich nemusí být žádné značení a je nutné volit hlavou, jaký typ zvolíme.
Jednotlivé typy cest lze dále upřesňovat tím, jaká vozidla jsou na dané cestě povolena či zakázána. Platí to jak pro silnice, tak pro lesní a turistické stezky. Lze jednak definovat, pro který typ vozidla je cesta vytvořena, nebo naopak definovat, kdo na ní nesmí. Následující tabulka ukazuje, jaká názvy tagu jsou povoleny (resp. které budou/mohou brát navigace v potaz). Hodnota tagu pak může být designed, což znamená, že je cesta vytvořena pro dané vozidlo, yes znamená povolený vjezd nebo no, že je těmto vozidlům zakázán vstup. Kompletní seznam povolených tagů a jejich hodnot najdete zde. Některé typy cest již ze své podstaty zakazují vjezd některým vozidlům, např. na footway nesmí auto ani cyklista, na motorway zase nesmí cyklista ani chodec, apod.
Plochy se kreslí dvěma způsoby. Jednodušší způsob je opět jako klasická cesta/way, která je ale uzavřená. První node je tak shodný s tím posledním. Plocha je pak ohraničená touto hranicí - vytvoří se polygon. Připojené tagy pak definují, o jakou plochu se jedná.
Druhý způsob je pro plochy, které mají uvnitř nějaké díry. Pak se vytvoří relace (relation), která obsahuje více opět uzavřených cest, které definují plochu. Jde pak o multipolygon, který má jeden nebo více vnějších hranic a libovolný počet vnitřních hranic. Typickým příkladem je les, uprostřed kterého je mýtina. Každá součást relace se definuje dvěma parametry - jedním je ID prvku (tedy v našem případě ID cesty) a druhým je role, který je nepovinný a definuje další parametr v závislosti na typu a požadavcích. My do něj napíšeme, zda se jedná o vnější (outer) nebo vnitřní (inner) hranici. Ve skutečnosti není nutné inner ani outer uvádět, protože lze odvodit podle struktury ploch (pokud jedna leží uvnitř jiné, tak je předpoklad, že je vnější outer a vnitřní inner). Plochy se samozřejmě nemají překrývat, pak to nefunguje. U každé relace se v tagu type udává ještě typ, v našem případě to bude multipolygon. Pokud na něj zapomeneme, tak se plocha na mapě nevykreslí nebo ji mohou programy ignorovat. Tagy, které definují plochu ohraničenou polygonem, se dávají přímo této relaci, ne na hranice/cesty, které jsou její součástí. Pokud přidáme tag přímo cestě, tak platí jen pro ni, ale ne pro celou relaci (existuje výjimka z historického hlediska, kterou využívá mapnik, ta se ale již nemá používat a proto ji zde ani nebudu uvádět, jiné programy se podle ní nechovají)!
Nejčastější typy ploch si vyjmenujme, lze je i vzájemně kombinovat:
popis | ||
building | yes | Dává se pro všechny budovy |
landuse | forest | Obhospodařovaný les, určený pro těžbu dřeva |
natural | wood | Volně rostoucí les či vysoké křoví, které není určeno k těžbě dřeva |
landuse | residential | Rezidenční oblast, kde jsou domy, pohybují se lidé, hřiště a vše co s tím souvisí. Ohraničuje buď celou vesnici nebo ve větších měst její části, bloky budov apod. Nejde o hranice obce, ale o zastavěnou část, přestože např. MC Navi ji může použít pro odhad maximální rychlosti na silnici, která touto zónou prochází. |
landuse | industrial | Průmyslová oblast, kde jsou fabriky či jiné výrobní prostředky. |
landuse | commercial | Komerční prostory, oblast s kancelářskými prostorami, sklady, prodejny apod. |
landuse | farm | Farma, tedy plocha pro pěstování plodin nebo chov zvířat, sem nepatří samotné zázemí farmy, ale jen pastviny a pole. |
landuse | farmyard | Zázemí farmy, kde nejdeme budovy jako stáje, chlév nebo kravín, dále i garáže techniky nebo i obydlí a kanceláře, které jsou jejich součástí. |
landuse | reservoir | Vodní plocha, která je vytvořena uměla. Jde o rybníky, nádrže, přehrady. |
natural | water | Vodní plocha, která je "vytvořena" přírodou. Jde tedy o jezera. |
natural | wetland | Mokré území, může se překrývat s jinými typy (typicky les, louka). Můžeme doplnit tag wetland, který blíže specifikuje typ mokřadu. |
Pokud vodní plochou protéká potok nebo řeka, není vhodné vodní tok přes vodní plochu přerušovat, tím se zničí stromová struktura vodních toků. O této věci se debatuje, vhodné bude doplnit k vodnímu toku tag underwater=yes, který určí pro případné zpracování, že je v místě toku nějaká nádrž, rybník nebo přehrada.
K definování adres se používá kombinace několika tagů, jejichž název začíná na addr:. U nás má téměř každá adresa jedno, dvě nebo tři čísla, jde o číslo orientační, číslo popisné a číslo evidenční. Číslo orientační není jedinečné, ale je přidělováno v jedné ulici tak, jak se jde od středu města. Slouží pro orientaci ve městě a pro snadnější hledání adres. Používá se jen někde. Číslo popisné je jedinečné v rámci obce nebo její části, pokud má obec více částí. Přiděluje se tak, jak se stavějí nové domy, takže čísla jdoucí po sobě mohou být kdekoliv v obci. Číslo evidenční se přiděluje většinou jen chatám a většinou také žádný dům nemá evidenční i popisné číslo (existují výjimky).
Dalším údajem adresy je ulice. Ta je u nás opět jedinečná a to v rámci obce, pokud má obec více částí, tak nesmí mít ulici stejného jména ani v jiné části. Ne všechny obce ale mají ulice, například mnoho vesnic označuje adresu jen názvem obce a číslem, např. Borkovice 77.
Systém adres u nás používá ještě část obce, což platí jen pro některé obce. V rámci části obce je číslo popisné nebo evidenční jedinečné. V adrese se většinou část obce neuvádí, avšak až na výjimky.
Zadaná adresa v mapě musí být vždy jedinečná. Kombinace obec-ulice-číslo je vždy jedinečná. Nastávají ale občas situace, kdy v obci ulice chybí. Pokud má zároveň více částí, tak může nastat situace, že číslo popisné není jedinečné a obě adresy musí rozlišit část obce. V některých větších obcích se pak používá za číslem popisným lomítko s římskou číslicí jako část obce, například 200/III.
Adresa lze dávat na node nebo way, který definuje obrys budovy. Preferována je první možnost, tedy že se vytvoří samostatný node, který se umístí doprostřed budovy nebo u větších budov do části, kde je vchod do budovy. Použijí se tyto tagy pro definici adresy - kombinace těch, které jsou pro danou adresu definovány:
K definici adres a jejich správnému přiřazení k obcím jsou důležité i obce a hranice obcí. Obce totiž mohou mít stejná jména, uvedení názvu obce v adrese pak není jednoznačné. To se řeší tím, že se adresa přiřadí k nejbližší obci nebo se hledá, uvnitř které hranice obce se nachází.
Poloha obce se definuje pomocí node, ke kterému se přiřadí jméno pomocí tagu name a tag place s touto hodnotou:
Obec, definována pomocí tagu place s hodnotou city, town nebo village musí být uvnitř stejnojmenné hranice. Jelikož hranice obce je rovněž hranicí sousední obce, tak kvůli zabránění duplikacím se definuje relace cest, ohraničující obec. Relace musí mít definovány tagy:
Tímto způsobem je zajištěno spolehlivé členění adres a jejich správné přiřazování k obcím, okresům, krajům a státům. Tento způsob je téměř identický pro celý svět, pouze čísla admin_level jsou rozdílná (nwkde nemají kraje nebo okresy nebo mají něco jiného) a také označení addr:conscriptionnumber, addr:provisionalnumber a addr:streetnumber nemusí být používány. Tag addr:housenumber je ale používán vždy. Rovněž hodnoty tagu place jsou všude stejné (i když podle definice OSM se má přiřazovat podle velikosti, u nás se přiřazuje podle administrativního statutu obce).