Příloha 1: Struktura XML dokumentu V této příloze je podrobně popsána struktura XML dokumentu s mapou (viz kapitolu 5.3), příklad tohoto XML dokumentu je na přiloženém CD v souboru /mapa/map.xml. Obsah kořenového elementu <root> má pět elementů: <mapdefs>, <layers>, <overview>, <symbologies> a <SOSets>. Pokud není uvedeno jinak, všechny elementy a jejich atributy jsou povinné, na jejich pořadí nezáleží. A.1 Element mapdefs V elementu <mapdefs> jsou uloženy informace o názvu mapy, souřadném systému, rozsahu mapy, měřítku apod., které se načtou do objektu třídy Definice mapy (viz podkapitolu 5.2). Strukturu <mapdefs> ukazuje následující příklad. <mapdefs title="sčítání LIDU v ČR 2001"> <coordinatesystem title="s-jtsk"> <mapunit mmwidth="1000" mmheight="1000" /> <distunit mm="1000000" title="km" /> <axes leftplus="false" upperplus="true" firstvert="true"> <horizaxis title="y" /> <vertaxis title="x" /> </axes> </coordinatesystem> <extent top="-920631" left="-928229" width="520145" height="321272" /> <scalefactor min="500000" max="3000000" /> <labels coordinates="souřadnice" intervalcount="počet intarvalů" symbology="symbologie" info="informace" boundaries="hranice" /> </mapdefs> Vysvětlení jednotlivých elementů a jejich atributů <mapdefs> = definice mapy title = název mapy; libovolný textový řetězec <coordinatesystem> = souřadný systém
title = název (zkratka) souřadného systému; libovolný textový řetězec <mapunit> = mapová jednotka (jednotka souřadného systému) mmwidth = šířka mapové jednotky na horizontální ose souřadného systému v mm; nenulové kladné číslo mmheight = výška mapové jednotky na vertikální ose souřadného systému v mm; nenulové kladné číslo <distunit> = jednotka vzdálenosti title = zkratka jednotky vzdálenosti, libovolný textový řetězec mm = jednotka vzdálenosti v mm <axes> = osy souřadného systému leftplus = orientace horizontální osy: doleva ( true ), doprava ( false ) upperplus = orientace vertikální osy: nahoru ( true ), dolů ( false ) firstvert = pořadí souřadných os při výpisu souřadnic: první vertikální ( true ), první horizontální ( false ) <extent> = rozsah celé mapy top = horní okraj v mapových jednotkách; číslo left = levý okraj v mapových jednotkách; číslo width = šířka v mapových jednotkách; nenulové kladné číslo height = výška v mapových jednotkách; nenulové kladné číslo <scalefactor> = měřítko mapy min = minimální měřítkové číslo; nenulové kladné celé číslo max = maximální měřítkové číslo; nenulové kladné celé číslo <labels> = popisky mapy coordinates = popisek souřadnic kurzoru myši; libovolný textový řetězec intervalcount = popisek pro změnu počtu intervalů klasifikace; libovolný textový řetězec symbology = popisek pro změnu symbologie; libovolný textový řetězec info = popisek infa o prostorovém objektu; libovolný textový řetězec boundaries = popisek symbolu hranic dílčích územních celků; libovolný textový řetězec
A.2 Element SOSets V elementu <SOSets> jsou uloženy informace o množinách prostorových objektů, atributech prostorových objektů a o prostorových objektech. Tyto se načtou do objektů tříd Množina prostorových objektů, Atribut prostorových objektů a Prostorový objekt (viz podkapitolu 5.2). Obsah elementu <SOSets> je tvořen libovolným nenulovým počtem elementů <SOSet>, kadý z nich popisuje jeden objekt třídy Množina prostorových objektů. Element <SOSet> má tři podelementy: <attributes>, v němž jsou popsány atributy prostorových objektů, <objects>, v němž jsou popsány prostorové objekty a hodnoty jejich atributů a <geometry>, v němž je popsána geometrie prostorových objektů. Element SOSet má následující Element <SOSet> má následující atributy: extid = externí identifikátor množiny prostorových objektů; libovolný neprázdný alfanumerický řetězec; unikátní hodnota v rámci elementu <SOSets> title = název množiny prostorových objektů; libovolný textový řetězec geometrytype = typ geometrie; jediná přípustná hodnota je zatím MultiPolygon Obsah elementu <attributes> je tvořen libovolným nenulovým počtem elementů <attribute>, každý z nich popisuje jeden objekt třídy Atribut prostorových objektů. Element <attribute> má následující atributy: extid = externí identifikátor atributu prostorových objektů; libovolný neprázdný alfanumerický řetězec; unikátní hodnota v rámci elementu <attributes> title = název atributu prostorových objektů; libovolný textový řetězec datatype = datový typ: textový řetězec ( string ), celé číslo ( int ) nebo desetinné číslo ( float ) visibledecplaces = počet desetinných míst, má smysl pouze pro datový typ float ; kladné celé číslo valuestype = typ hodnot: kvantitativní ( quantitative ), kvalitativní ( qualitative ) nebo jiný ( other ) defaultvalue = výchozí hodnota atributu displayininfo = zobrazení atributu v informacích o prostorovém objektu: zobrazit ( true ) nebo nezobrazit ( false )
Obsah elementu <objects> je tvořen libovolným nenulovým počtem elementů <object>, každý z nich popisuje jeden objekt třídy Prostorový objekt. Element <object> má jediný atribut: extid = externí identifikátor prostorového objektu; libovolný neprázdný alfanumerický řetězec; unikátní hodnota v rámci elementu <objects> Element <object> je pak tvořen libovolným nenulovým počtem elementů <attribute>, každý z nich popisuje hodnotu jednoho atributu prostorového objektu. Element <attribute> má následující atributy: extid = externí identifikátor příslušného atributu prostorových objektů, musí odkazovat na existující atribut, viz výše value = hodnota příslušného atributu prostorového objektu Obsah elementu <geometry> je tvořen jedním elementem <g>, který má jediný atribut: xmlns = jmenný prostor, jediná přípustná hodnota je http://www.w3.org/2000/svg Element <g> je pak tvořen stejným počtem elementů <path>, jako je počet prostorových objektů v elementu <objects> (viz výše), přičemž jeden element <path> odpovídá jednomu prostorovému objektu. Element <path> má následující atributy: extid = externí identifikátor příslušného prostorového objektu, musí odkazovat na existující objekt (element <object>), viz výše d = popis geometrie objektu, viz standard SVG A.3 Element symbologies V obsahu elementu <symbologies> jsou uloženy informace o kartogramových symbologiích, které se načtou do objektů třídy Kartogramová symbologie. Obsah elementu <symbologies> je tvořen libovolným nenulovým počtem elementů <choroplethsymbology>, každý znich popisuje jeden objekt třídy Kartogramová symbologie. Element <choroplethsymbology> má následující atributy: extid = externí identifikátor kartogramové symbologie; libovolný neprázdný alfanumerický řetězec; unikátní hodnota v rámci elementu <symbologies>
title = název kartogramové symbologie; libovolný textový řetězec strokestyle = popis stylu dle standardů CSS a SVG, přičemž musí být použity pouze vlastnosti stroke, stroke-width a stroke-linejoin (barva hraniční čáry, šířka hraniční čáry a typ napojení hraniční čáry) strokeunits = jednotky, v nich je uvedena šířka hraniční čáry: mapové jednotky ( map ) nebo pixely ( px ) Obsah elementu <choroplethsymbology> je tvořen libovolným nenulovým počtem elementů <classification>, každý z nich popisuje jednu klasifikaci (klasifikace se od sebe musí lišit počtem intervalů/podelementů <fillstyle>). Obsah elementu <classification> je tvořen libovolným nenulovým počtem elementů <fillstyle>, každý z nich reprezentuje jeden interval klasifikace a popisuje jeho barvu. Element <fillstyle> má právě jeden atribut: style = popis stylu dle standardů CSS a SVG, přičemž musí být použita pouze vlastnost fill (barva výplně). A.4 Element layers V obsahu elementu <layers> jsou uloženy informace o kartogramových datech, které se načtou do objektů tříd Kartogramová data, Kartogramová vrstva a Kartogramová úroveň detailu. Element <layers> popisuje objekt třídy Kartogramová data a má jeden atribut: currentchoroplethlayer = externí identifikátor aktuální kartogramové vrstvy, musí odkazovat na existující vrstvu (viz dále); atribut je nepovinný, pokud není uveden, jako aktuální vrstva se použije první vrstva v pořadí Obsah elementu <layers> je tvořen libovolným nenulovým počtem elementů <choroplethlayer>. Každý element <choroplethlayer> popisuje jeden objekt třídy Kartogramová vrstva. Element <choroplethlayer> má následující atributy: extid = externí identifikátor kartogramové vrstvy; libovolný neprázdný alfanumerický řetězec; unikátní hodnota v rámci elementu <layers> title = název kartogramové vrstvy; libovolný textový řetězec
currentlevelsos = externí identifikátor aktuální kartogramové úrovně detailu (resp. množiny prostorových objektů viz dále), musí odkazovat na existující množinu prostorových objektů (viz výše); atribut je nepovinný, pokud není uveden, jako aktuální úroveň detailu se použije první úroveň detailu v pořadí Obsah elementu <choroplethlayer> je tvořen libovolným nenulovým počtem elementů <level> Každý element <level> popisuje jeden objekt třídy Kartografická úroveň detailu. Element <level> má následující atributy: SOSId = externí identifikátor množiny prostorových objektů (v tomto případě je množina prostorových objektů úrovní detailu), musí odkazovat na existující množinu (viz výše) attrid = externí identifikátor atributu prostorových objektů z příslušné množiny prostorových objektů, podle tohoto atributu bude probíhat klasifikace, musí odkazovat na existující atribut (viz výše) possiblesymbologies = externí identifikátory možných kartogramových symbologií oddělené mezerou, každý z nich musí odkazovat na existující symbologii (viz výše) currentsymbology = externí identifikátor aktuální kartogramové symbologie, musí odkazovat na existující symbologii (viz výše); atribut je nepovinný, pokud není uveden, jako aktuální vrstva se použije první vrstva v pořadí currentintervalcount = počet intervalů aktuální klasifikace, musí odpovídat počtu intervalů existující klasifikace (viz dále) Obsah elementu <level> je tvořen libovolným nenulovým počtem elementů <classification>. Každý element <classification> odpovídá jedné klasifikaci (klasifikace jsou zahrnuty v objektu třídy Kartografická úroveň detailu). Klasifikace se od sebe navzájem liší počtem intervalů. Obsahem elementu <classification> je tvořen libovolným nenulovým počtem elementů <interval>, který popisuje jeden interval příslušné klasifikace. Každý element <interval> má následující atributy: Právě jeden z dvojice fromge = dolní hranice intervalu včetně této hranice (Greater than or Equal to) fromgt = dolní hranice intervalu (Greater than) Právě jeden z dvojice tole = horní hranice intervalu včetně této hranice (Less than or Equal to)
tolt = horní hranice intervalu (Less than) A dále label = popisek intervalu v legendě; libovolný textový řetězec; nepovinný atribut, pokud nebude zadán, popisek bude automaticky vygenerován z hranic intervalů. Intervaly c rámci jedné klasifikace by se neměly překrývat. A.5 Element overview V obsahu elementu <overview> je popsán obsah přehledky. Obsah elementu <overview> je tvořen libovolným nenulovým počtem elementů <layer>, který reprezentuje jednu vrstvu přehledky. Vrstvou přehledky je v tomto kontextu myšlena grafická reprezentace všech prostorových objektů z příslušné množiny prostorových objektů. Element <layer> má následující atributy: SOSId = externí identifikátor příslušné množiny prostorových objektů, musí odkazovat na existující množinu (viz výše) style = popis stylu dle standardů CSS a SVG, přičemž mohou být použity libovolné vlastnosti popisující styl elementu <path>, povinná je vlastnost stroke-width (šířka hraniční čáry) strokeunits = jednotky, v nich je uvedena šířka hraniční čáry: mapové jednotky ( map ) nebo pixely ( px )