MAPNIK XML
- Formát/Jazyk Mapnik XML vzniká generováním a konfigurováním v opensourcovém nástroji pro vykreslování dat Mapnik. Jedná se tedy o formát či soubor vytvořený právě v tomto nástroji.
- Mapnik XML v sobě obsahuje seznam vrstev (vrstva aplikuje konkrétní styl na konkrétní zdroj dat) a seznam s vytvořenými styly, které mohou vrstvy používat.
- Jedním z příkladů použití nástroje Mapnik a jeho jazyka (formátu) Mapnik XML je vrstva (styl) domovské stránky OSM, a to OSM Standardní.
- V poslední době se začaly používat moderní stylové jazyky, jako je CartoCSS, MapCSS nebo Mapbox style, které nabízejí jednodušší a přehlednější zápis, a tedy i snazší a rychlejší vývoj stylů pro mapy. Tyto jazyky také nabízejí některé funkce, které nejsou k dispozici v jazyce Mapnik XML, jako je například možnost použití proměnných, dědičnosti nebo funkce pro manipulaci s barvami.
Základní vlastnosti Mapniku XML
- Mapové prvky (Map elements): Element <Map> definuje základní informace o mapě, jako jsou její rozměry, souřadnicový systém a další parametry.
- Vrstvy (Layers): Elementy <Layer> definují jednotlivé vrstvy mapy, obsahující data a informace o jejich zobrazení.
- Styl (Style): Elementy <Style> definují styly, které se používají pro zobrazení jednotlivých vrstev. Každý styl definuje vlastnosti, jako jsou barvy, šířky linií a další vlastnosti.
- Symbolizéry (Symbolizers): Elementy <Symbolizer> definují konkrétní způsoby zobrazení prvků vrstvy, jako jsou body, linie a plochy. Symbolizers se vkládají do stylů.
- Filtr (Filter): Element <Filter> definuje podmínky, které určují, které prvky se mají zobrazit v jednotlivých vrstvách.
- Zdroj dat (Datasources): Element <Datasource> definuje zdroje dat, ze kterých se budou zobrazovat prvky na mapě.
- Pravidla (Rules): Element <Rule> definuje konkrétní pravidla pro aplikaci stylů a symbolizers v rámci jednotlivých vrstev. Pravidla určují, jaké prvky se mají zobrazit a jaké vlastnosti se mají použít pro jejich zobrazení.
Ukázka kódu
Ukázka Mapnik XML
Zdroj: vlastní zpracování
Tento kód definuje pro silnice II. třídy černou barvu, velikost linie na 2 pixely a průhlednost na 0,8.
Popis kódu silnice II. třídy
- <Map> značí začátek Mapnik XML dokumentu.
- <Style> definuje styl pro vrstvu "roads". Název stylu je "default".
- <Rule> definuje pravidla pro použití prvků v mapě. V tomto případě se použije LineSymbolizer pro vykreslení linií reprezentujících silnice s vlastností stroke – černá barva (#000000), šířka 2 a průhlednost 0,8. Dále se použije filtr, který slouží k vybírání dat, pro prvky (značku) s vlastností highway=secondary.
- <Layer> definuje vrstvu, ze které se data zobrazují. Název použité vrstvy je "roads" a používá se souřadnicový systém EPSG:4326 (WGS 84).
- <StyleName> odkazuje na styl "default", který se použije pro zobrazení prvků na této vrstvě.
- <Datasource> definuje datový zdroj pro vrstvu. Typ datového zdroje je shapefile a umístění souboru je určeno parametrem "file".
Ukázka Mapnik XML
Zdroj: vlastní zpracování
Tento kód zobrazuje zastávku jednu ze zastávek autobusu na Konečného náměstí v Brně. Zastávka je vizualizována pomocí vložené ikony s označením bus_stop.png o velikosti 20x20 pixelů.
(GET-MAP.ORG 2022; GITHUB 2018a)
Popis kódu zastávky autobusu (trolejbusu) na Konečného náměstí, Brno
- <Map> značka značí začátek Mapnik XML dokumentu.
- <Style> značka definuje styl použitý pro vykreslení bodů, které představují zastávky autobusů. Název stylu je "bus-stop-style".
- <Rule> značka definuje pravidla pro použití symbolů v mapě, v tomto případě se použije PointSymbolizer souboru "bus_stop.png" s šířkou a výškou 20 pixelů.
- <Layer> značka definuje vrstvu, na které se data zobrazují. Název vrstvy je "bus-stop-layer" a používá se souřadnicový systém EPSG:4326 (WGS 84). Parametr status="on" specifikuje, že je tato vrstva viditelná na výstupní mapě.
- <StyleName> značka odkazuje na styl "bus-stop-style", který se použije pro zobrazení bodů na této vrstvě.
- <Datasource> značka definuje datový zdroj pro vrstvu. Typ datového zdroje je OSM, bbox parametr specifikuje oblast zájmu v zeměpisných souřadnicích a filtr parametr určuje, které prvky v OSM datovém zdroji mají být vybrány. Konkrétně se vybírají pouze uzly (node) s tagem highway=bus_stop.
Zdroje
GET-MAP.ORG (2022): Mapnik XML, https://get-map.org/mapnik-lost-manual/book.html (27. 1. 2023).
GITHUB (2018a): Mapnik configuration XML, https://github.com/mapnik/mapnik/wiki/XMLConfigReference (2. 3. 2023).
MAPNIK (2023): Mapnik, https://mapnik.org/ (27.3.2023).
OPENSTREETMAP WIKI (2023h): Mapnik, https://wiki.openstreetmap.org/wiki/Mapnik (21.1.2023).