Cvičení bude probíhat nad daty, která si stáhnete zde. Konkrétně model geodatabáze S-JTSK s doménami.
A co že jsme si to stáhli? Jedná se o personal geodatabase s nastaveným souřadnicovým systémem a doménami tak, aby prostorové vyjádření dat vyhovovalo podmínkám vyjádření prostorových dat v rámci České republiky.
Nyní už vzhůru do cvičení.
Otevřeme si ArcCatalog a najdeme geodatabázi s názvem domeny.mdb
.
Zobrazíme si obsah této geodabáze.
Vidíme, že naše geodatabáze obsahuje dva feature datasets s názvy S-JTSK a S-JTSK_milimetry. My se budeme soustředit na feature dataset S-JTSK. Pokud kliknete na název tohoto datasetu, uvidíte, že je prázdný, neobsahuje tedy žádnou feature class. Rovněž má tento feature dataset nastaven souřadnicový systém a domény tak, aby vyhovoval podmínkám vyjádření prostorových dat v rámci České republiky. Snadno se o tom přesvědčíme stisknutím pravého tlačítka myši nad názvem feature datasetu a volbou Properties.
Pokud bychom nyní vytvořili novou feature class a umístili ji do feature dataset S-JTSK, měli bychom zaručeno, že pro tuto nově přidanou feature class nenastanou problémy při požadavku správného nastavení souřadnicového systému pro data umístěná v nové feature class. Všechny feature classes v rámci jednoho feature datasetu musí mít shodný souřadnicový systém!
Exportujeme do feature dataset S-JTSK čtyři nové feature classes. Jako první to bude soubor kraje.shp. Všimněte si, že po exportu zdrojového souboru typu shapefile do prostředí personal geodatabase už hovoříme o feature class. Při exportu je nutné nejprve vybrat příslušný soubor, pak pravé tlačítko a zvolit Export – To Geodatabase (Single).
V zobrazeném dialogovém okně vybereme feature dataset, do kterého chceme data exportovat a název pro novou feature class. Pokud máme vše nastaveno, můžeme stisknout OK.
Že jsme byli úspěšní, zjistíme velmi snadno – podíváme se do obsahu feature dataset S-JTSK, ve kterém by se nám měla objevit nová feature class pod námi zvoleným názvem.
Shodně exportujeme i soubor okresy.shp (jako feature class okresySJTSK), zel_stan.shp (zel_stanSJTSK) a zelez.shp (zelezSJTSK).
Nyní máme ve feature dataset S-JTSK čtyři feature classes – krajeSJTSK, okresySJTSK, zel_tratSJTSK a zelezSJTSK. Data v těchto feature classes reprezentují okresy v krajích a železniční zastávky společně s železničními tratěmi. Očekáváme, že železniční zastávky budou „ležet“ na železničních tratích. Jak to ale ověřit a zajistit?
K tomu využijeme možnosti definovat topologické pravidlo, které se bude vztahovat na prvky našich dvou vybraných feature classes. Nezapomeňte, že topologické pravidlo lze aplikovat mezi feature classes v rámci jednoho feature datasetu. Ale zpět k ukázce definování topologického pravidla.
Klikneme pravým tlačítkem myši nad názvem feature dataset S-JTSK a zvolíme New – Topology. Spustí se nám průvodce přidáním topologie. Vyplníme název pro novou topologii. Hodnotu cluster tolerance zvolíme 50. Hodnota cluster tolerance udává, v jaké vzdálenosti od sebe mohou být dva prvky, aby byly považovány ještě za shodné.
Vybereme feature classes, mezi jejímiž prvky chceme topologii definovat.
Nyní je nutné nastavit „rank“ pro každou feature class. Objasněme si toto nastavení. V geodatabázi máme data reprezentující železniční zastávky a železniční tratě a definováno topologické pravidlo, že bod reprezentující železniční zastávku se má nacházet na linii reprezentující danou železniční trať. Při kontrole definovaného topologického pravidla ArcMap zkontroluje, zda je bod (zastávka) na linii (trať) a v případě, že by daný bod na linii neležel, ale byl by od ní ve vzdálenosti menší rovno hodnotě cluster tolerance (viz. předcházející krok), musí se rozhodnout, s jakým objektem (zda bodem či linií) „hýbnout“, aby mohlo být topologické pravidlo splněno. Pokud bychom chtěli, aby se bod přesunul na linii, musí linie (trať) mít nastavenu vyšší „rank“ hodnotu. Toto skutečně chceme, proto provedeme nastavení podle následujícího obrázku:
Přidáme požadované topologické pravidlo POINT MUST BE COVERED BY LINE.
Stiskneme OK, poté Další a Dokončit. Po vytvoření topologie budeme dotázáni, zda chceme zkontrolovat topologii už nyní. Vybereme možnost Ano, aby došlo ke kontrole topologie. Kontrola by měla proběhnout s kladným výsledkem.
Nyní máme mezi feature class zel_stanSJTSK a feature class zelezSJTSK definováno topologické pravidlo. Můžeme vidět, že náš feature dataset S-JTSK již obsahuje prvek nazvaný Topology_SJTSK.
Zkusíme nyní odstranit feature class zel_stanSJTSK. Vidíme, že se nám to nepodaří. Důvod je jednoduchý – feature class participuje na nadefinované topologii. Stejného výsledku bychom se dobrali i v případě, že bychom se chtěli pokusit odebrat z geodatabáze feature class zelezSJTSK. Důvod zůstává stejný.
Pokud stiskneme pravé tlačítko myši nad nově vytvořenou topologií (Topology_SJTSK), vybereme Properties a na kartě Errors poté Generate Summary, vidíme, že všechny železniční zastávky splňují definované topologické pravidlo.
Abychom se přesvědčili, že se nám data ze zdrojových souborů neschovala po exportu do personal geodatabase v nějaké černé skříňce, otevřeme si ArcMap a načteme si feature classes z naší geodatabáze. Nyní s daty můžeme pracovat tak, jak to již známe a umíme...