Modelování v GIS: Hledání vhodného umístění

Semestrální práce z předmětu Algoritmy prostorových analýz KMA/APA

Vojtěch Královec


1. Teoretický úvod
2. Příklad: Vhodné místo pro novou školu
2.1. Zadání
2.2. Vstupní vrstvy
2.3. Postup
3. Příklad: Vhodné místo pro přístupový bod počítačové sítě Pilsfree
3.1. Získání vektorových dat z IMS serveru
3.2. Zadání
3.3. Vstupní vrstvy
3.4. Postup
4. Závěr
5. Přílohy
Zdroje

Abstrakt

Cílem této semestrální práce je seznámení s analýzami pro hledání nejvhodnějšího umístění a předvedení dvou příkladů provedení těchto analýz v ModelBuilder programu ArcGIS.

1. Teoretický úvod

Úkolem práce je nalezení vhodné lokace pro umístění nového zařízení na základě předem zvolených kritérií. Toho lze dosáhnout kombinováním a odvozováním vrstev prostorových dat pomocí různých typů prostorových analýz. Mezi nejčastěji používané patří například:

  • vzdálenostní analýzy (přímá vzdálenost, vážená vzdálenost, nekratší cesta, ...),

  • analýzy povrchu (svahovitost, směry svahů, viditelnost, ...),

  • určování hustoty bodů a linií,

  • interpolace (IDW, Kriging, Spline),

  • mapová algebra (mocný nástroj umožňující různé operace s vrstvami pomocí matematických operátorů),

  • reklasifikace

  • a další.

Pro tyto typy analýz se v programu ArcGIS používají funkce softwaru Spatial Analyst. To je rozšiřující sada funkcí, poskytující nástroje pro prostorové analýzy nad rastry i vektory. Funkce Spatial Analyst se dají využít například také pro výpočet povrchů nákladů či identifikaci prostorových vztahů mezi různými vrstvami dat.

Postup analýzy lze rozdělit do čtyř základních kroků:

  1. Máme-li nadefinován problém, který je třeba vyřešit, musíme nejprve zjistit, jaká vstupní data potřebujeme, jaká máme k dispozici, případně jaká můžeme opatřit. Při výběru vstupních dat jde o hledání kompromisu mezi daty, která by byla pro analýzu nejvhodnější, a daty, která jsou dostupná. K nejdůležitějším faktorům ovlivňujícím výběr vhodných vrstev patří cena, kvalita, rozlišení a aktuálnost dat.

  2. Druhým krokem je odvození rastrových vrstev, potřebných pro analýzu, ze vstupních dat. K tomu se používají různé funkce Spatial Analyst. V příkladech se seznámíme s některými z nich.

  3. Poté, co získáme všechny vrstvy potřebné pro určení vhodného místa, je třeba hodnoty atributů těchto vrstev převést na společnou stupnici, aby bylo možné je objektivně propojit. Pro tyto potřeby je ve Spatial Analyst funkce Reclassify, slouží pro nahrazení hodnot buněk vstupního rastru novými hodnotami. Často se používá deset intervalů se stejnou šířkou intervalu a hodnotami od 1 do 10, kde 10 značí nejvhodnější lokaci. V případě, že hodnoty atributu nejsou číselné, ale například udávají využití půdy, přiřadíme libovolné hodnoty od 1 do 10 dle vhodnosti.

  4. Poslední částí je propojení reklasifikovaných vrstev do jedné výsledné vrstvy. Jelikož mohou být jednotlivé vrstvy různě důležité pro analýzu je vhodné ohodnocení významnosti jednotlivých faktorů – váhování. To se provádí pomocí funkce Map Algebra. Používáme převážně normalizované váhy (procenta / 100), aby výsledné hodnoty byly opět v intervalu od 1 do 10. Nakonec lze obarvit vyšší hodnoty atributu vzniklé vrstvy a vizuálně ohodnotit a vybrat vhodné lokace.

2. Příklad: Vhodné místo pro novou školu

Toto je ukázkový příklad ze Spatial Analyst Tutorial. Vstupní data jsou součástí Tutorial CD pro ArcGIS 9 a postup v anglickém jazyce lze nalézt v příručce Using Spatial Analyst [1]. V této příručce je však popsán postup analýzy bez využití ModelBuilderu.

Pozn: všechny modely vytvořené pro oba příklady lze nalézt v Toolboxu APA.tbx, který je přílohou této zprávy. Toolbox lze přidat do ArcGIS tak, že klepneme pravým tlačítkem myši do Toolboxu, zvolíme Add Toolbox a vybereme soubor APA.tbx.

2.1. Zadání

Úkolem je nalézt vhodné místo pro novou školu v americkém městě Stowe. Požadované faktory jsou:

  • vzdálenost od rekreačních míst (čím blíže, tím lépe),

  • vzdálenost od stávajících škol (čím dále, tím lépe),

  • svažitost terénu (méně svažitý je vhodnější),

  • vhodnost místa pro stavbu (dle typu využití půdy).

2.2. Vstupní vrstvy

Tyto vstupní vrstvy jsou součástí tutorialů pro program ArcGIS. Po instalaci Tutorial CD pro ArcGIS se dají nalézt v adresáři ...\ArcGIS\ArcTutor\Spatial\. Proto není potřeba je předem nějak připravovat pro práci.

Elevation - rastrová vrstva nadmořských výšek.

Landuse - rastrová vrstva způsobů využití půdy.

Rec_sites - bodová vrstva umístění rekreačních zařízení.

Schools - bodová vrstva umístění stávajících škol.

2.3. Postup

  1. V aplikaci ArcMap jsem si otevřel všechny čtyři vstupní vrstvy.

  2. Založil jsem si nový model school1_derive v toolboxu APA.

    Pozn: rozdělil jsem celou analýzu do tří modelů podle jednotlivých kroků - odvození, reklasifikace a váhování. To usnadňovalo opravy při tvorbě, kdy jsem nemusel spouštět znovu celou analýzu. Nebyl by ovšem problém modely spojit do jednoho.

    Obrázek 1. Model school1_derive

    Model school1_derive

  3. Na vrstvy rec_sites a schools jsem použil funkci Euclidean distance, která vytvořila dvě rastrové vrstvy přímých vzdáleností - od škol a rekreačních oblastí.

    Pozn: Je důležité vždy nastavit ve vlastnostech objektů funkcí vhodnou oblast a rozlišení pro analýzu. Klepneme např. na objekt Euclidean Distance pravým tlačítkem, zvolíme Properties->General Settings->Output Extent resp. Properties->Raster Analysis Settings->Cell Size a stiskneme tlačítko Values. Nyní nastavíme hodnoty vhodného rozlišení a oblasti. Jinak by mohla analýza proběhnout nad jiným územím (u analýz nad bodovými vrstvami - omezeném nejvzdálenějšími body).

  4. Z vrstvy elevation jsem pomocí funkce Slope vytvořil rastrovou vrstvu sklonu svahů.

  5. Založil jsem další model nazvaný school2_reclass pro reklasifikaci vrstev na analýzu.

    Obrázek 2. Model school2_reclass

    Model school2_reclass

  6. Nejprve jsem reklasifikoval vrstvu sklonu svahů pomocí funkce Reclassify. V modelu jsem otevřel objekt Reclassify a stiskl jsem tlačítko Classify. Zvolil jsem metodu Equal Interval pro stejnou velikost všech intervalů a nastavil 10 tříd. Zavřel jsem okno Classify a v dialogu Reclassify jsem nastavil novou hodnotu pro interval s nejnižšími sklony na 10 = nejvhodnější. Dále jsem postupně přiřazoval klesající nové hodnoty až k nejvyšším sklonům, které dostaly hodnotu 1.

  7. Reklasifikoval jsem rastr vzdáleností od rekreačních zařízení. Opět jsem použil 10 stejně velkých intervalů. Hodnoty jsem přidělil sestupně od nejkratší vzdálenosti = 10 až k nejdelší = 1.

  8. Reklasifikoval jsem rastr vzdáleností od škol. Opět jsem použil 10 stejně velkých intervalů. Tentokrát jsem hodnoty přidělil vzestupně od nejkratší vzdálenosti = 1 až k nejdelší = 10, neboť požadavkem byla co největší vzdálenost od škol.

  9. Vrstvu landuse jsem reklasifikoval podle atributu landuse. Otevřel jsem objekt reclassify a v Reclass Field jsem zvolil landuse. Hodnoty jsem přiřadil dle vhodnosti povrchu takto: Agriculture = 10, Barren land = 6, Brush = 5, Forest = 4, Built up = 3. Hodnoty Water a Wetlands jsem vymazal, čímž jim byla přiřazena hodnota NoData. Oblasti s hodnotou NoData nebudou ve výpočtu výsledné mapy brány v potaz.

  10. Založil jsem model school3_calc pro výpočet výsledné mapy váhováním reklasifikovaných vrstev.

    Obrázek 3. Model school3_calc

    Model school3_calc

  11. Váhování jsem provedl pomocí funkce Map Algebra. Použil jsem vzorec: [Reclass_rec] * 0.5 + [Reclass_sch] * 0.25 + [Reclass_slope] * 0.125 + [Reclass_land] * 0.125. Jak je vidět ze vzorce, zastoupení vzdálenosti od rekreačních území je 50%, vzdálenosti od škol 25%, velikosti svahu a využití půdy 12,5%.

  12. Ve výsledné vizualizaci postorových dat lze nalézt nejvhodnější místa pro umístění nové školy. Jak je vidět na obrázku, kde jsou nejvhodnější místa označena žlutou barvou, jedná se přibližně o tři velké oblasti.

    Obrázek 4. Výsledná vizualizace

    Výsledná vizualizace

3. Příklad: Vhodné místo pro přístupový bod počítačové sítě Pilsfree

Tento příklad je postaven nad reálnými daty plzeňské počítačové sítě Pilsfree. Některé vstupní vrstvy pocházejí z ArcIMS serveru http://geoportal.cenia.cz, a proto nejprve popíši způsob získání těchto dat.

3.1. Získání vektorových dat z IMS serveru

Zde předkládám způsob jak získat vektorová data z internetových serverů ArcIMS a to včetně atributů. Tato možnost je spíše chyba v programu a je pravděpodobné, že v novější verzi programu již nebude tento návod fungovat.

  • Nejprve otevřeme okno pro přidání nové mapy. Zvolíme záložku GIS Servers a vybereme Add ArcIMS Server. Zadáme adresu serveru (např. http://geoportal.cenia.cz) a stiskneme OK. Server se objeví v nabídce GIS Servers a můžeme se na něj připojit. Zvolíme si mapu, kterou chceme zobrazit.

  • Zvolíme si vrstvu, ze které chceme získat data. Tu musíme označit jako jedinou vybratelnou vrstvu pomocí funkce Select. To provedeme v menu Selection -> Set Selectable Layers. Necháme označenou jen požadovanou vrstvu a potvrdíme.

  • Nyní pomocí nástroje Select Features vybereme zájmové území. Pokud je území větší než obrazovka je vhodné přepnout se do pohledu Layout View (v menu View). V tomto pohledu lze nastavit větší velikost okna pro zobrazení dat, aniž by se změnilo měřítko zobrazované vrstvy. To je vhodné zejména u vrstev, které se zobrazují jen do určitého měřítka.

  • Klepeneme pravým tlačítkem do tabulky vrstev (Table of contents) a zvolíme Selection-> Create Layer From Selected Features. Tím se vytvoří nová vrstva v tabulce vrstev.

  • Na tuto vrstvu v tabulce klepneme pravým tlačítkem. Zvolíme Data->Export Data a uložíme pod libovolným názvem jako shapefile.

3.2. Zadání

Nalézt v Plzni oblasti vhodné pro umístění nových přístupových bodů (access points) počítačové sítě Pilsfree. Faktory:

  • hledáme oblasti kde není pokrytí ze stávajících vysílačů,

  • vysoká hustota obytných budov.

3.3. Vstupní vrstvy

AP - bodová vrstva stávajících přístupových bodů (Access Points) (získal jsem ji vektorizací z interní mapy sdružení Pilsfree).

Plz_budovy - polygonová vrstva plzeňských budov (získaná z DMU 1 : 25 000 na IMS serveru http://geoportal.cenia.cz, z vrstvy Budovy).

Zastavba - polygonová vrstva druhů zástavby (získaná z DMU 1 : 25 000 na IMS serveru http://geoportal.cenia.cz, z vrstvy Zastavba).

Vrstevnice - liniová vrstva 5 m vrstevnic (získaná z DMU 1 : 25 000 na IMS serveru http://geoportal.cenia.cz, z vrstvy Vrstevnice 5 m).

3.4. Postup

  1. V ArcMap jsem si otevřel všechny čtyři vstupní vrstvy.

  2. Založil jsem model vysilace0_viditelnost. (Tím jsem narušil značení a rozdělení modelů z minulého příkladu. Je to proto, že funkce Viewshed (viditelnost z bodů) je velice časově náročná a při tvorbě a opravě modelu by musela probíhat mnohokrát. Není však problém propojit tento model s modelem vysilace1_derive kde probíhá další odvozování vrstev.)

    Obrázek 5. Model vysilace0_viditelnost

    Model vysilace0_viditelnost

  3. Z vrstvy vrstevnice jsem pomocí funkce Topo To Raster vytvořil rastrovou vrstvu výšek (grid). Bylo třeba nastavit vhodnou oblast a rozlišení rastru - tj souřadnice oblasti Plzně a rozlišení 20 m.

  4. Aby raster výšek obsahoval i výšky budov bylo potřeba k němu tyto výšky přičíst. To jsem provedl takto: Vrstvě plz_budovy jsem přidal nový atribut Vyska. Hodnotu tohoto atributu jsem zvolil 7 m pro všechny budovy, jelikož jsem nezískal skutečné údaje o výškách budov. Vrstvu plz_budovy jsem převedl na rastr pomocí funkce Feature to Raster a jako hodnotu rastru jsem nastavil atribut Vyska. Ještě bylo třeba rastr reklasifikovat, protože bylo nutné hodnoty, kde se nenalézaly budovy, změnit z NoData na 0, aby byly v součtu rastrů tyto plochy také použity. Pak jsem oba rastry sečetl pomocí funkce Map Algebra - jednoduše [Rec_budovy] + [grid].

  5. Když jsem již měl rastr výšek i s výškami budov, použil jsem funkci Viewshed a jako další vstup jsem použil vrstvu AP. Tím jsem získal rastrovou vrstvu Viditelnost - oblasti viditelné z přístupových bodů.

  6. Založil jsem model vysilace1_ derive pro další odvozování potřebných vrstev.

    Obrázek 6. Model vysilace1_derive

    Model vysilace1_derive

  7. Jelikož dosah vysílačů na přístupových bodech není nekonečný, ale přibližně jeden kilometr, bylo potřeba vrstvu Viditelnost omezit touto vzdáleností. Na vrstvu AP jsem použil funkci Euclidean Distance a nastavil jsem atribut Maximum Distance na 1000 m. Dále bylo nutné reklasifikovat vzniklou vrstvu vzdáleností tak, aby oblasti ve vzdálenosti do 1 km od AP dostaly hodnotu 0 a ostatní oblasti hodnotu NoData. Tím jsem získal masku pro oříznutí rasteru Viditelnost.

  8. Oříznutí vrstvy jsem provedl pomocí funkce Map Algebra jednoduše sečtením vrstvy s vytvořenou maskou: [viditelnost] + [rec_1km].

  9. Z vrstvy plz_budovy jsem potřeboval vybrat pouze obytné budovy. Jelikož ale vrstva plz_budovy takový atribut neobsahuje, musel jsem nejprve vybrat obytnou zástavbu z vrstvy Zastavba. To jsem provedl pomocí funkce Select Layer by Attribute - výrazem "zas1_jt_15" = 'Chatová zástavba' OR "zas1_jt_15" = 'Obytná zástavba' OR "zas1_jt_15" ='Vilová zástavba' OR "zas1_jt_15" = 'Zahrada' OR "zas1_jt_15" = 'Chata'. Pak jsem pomocí funkce Select Layer by Location vybral budovy patřící do této zástavby ( užitím Intersect ).

  10. Hustota prvků se dá zjišťovat pouze pro bodové nebo liniové vrstvy. Proto jsem pomocí funkce Feature to Point převedl vrstvu Obytne budovy na body (centroidy polygonů budov).

    Pozn: Jelikož funkce Feature to Point je přístupná v nejvyšší verzi programu ArcGIS - ArcInfo, vytvořil jsem ještě model "vysilace1_ pomocny model bez fce to point" a součástí přiložených zdrojových dat je i vrstva Budovy_body. Tak se dá analýza spustit i v nižší verzi programu.

  11. Vrstvu hustoty budov jsem získal s použitím funkce Point Density. Jako okolí bodů reprezentujících budovy, ve kterém se hustota zjišťuje, jsem zvolil kruh s poloměrem 500 m.

    Pozn: Jedním z volitelných atributů funkce Point Density je Population Field. Ten umožňuje zvolit podle jakého atributu bodů bude posuzována významnost bodů při zjišťování hustoty. Já jsem nakonec tuto možnost nevyužil, neboť jsem neměl vhodný atribut vrstvy budov, který by nezkresloval výslednou vstvu hustot.

  12. Založil jsem model vysilace2_reclass pro reklasifikaci vrstev hustota a omezena viditelnost, které jsem si pro analýzu odvodil v předchozích krocích.

    Obrázek 7. Model vysilace2_reclass

    Model vysilace2_reclass

  13. Reklasifikoval jsem vrstvu omezena viditelnost pomocí funkce Reclassify. Oblastem, kam dosáhl alespoň jeden vysílač jsem přidělil novou hodnotu 1, protože tam již není třeba vysílače přidávat. Oblastem v dosahu 1km od vysílačů, ale bez viditelnosti jsem přidělil hodnotu 10 - v těchto místech by se nový vysílač pořizoval nejjednodušeji. Hodnotu NoData (tj. mimo oblast 1km od AP) jsem změnil na hodnotu 9. V těchto místech pokrytí také není, ale vzhledem k vyšší vzdálenosti by mohlo být připojení komplikovanější - je možné, že by pro propojení sítě do vzdálenějších míst bylo potřeba vytvořit více přístupových bodů.

  14. Reklasifikoval jsem vrstvu hustota na deset intervalů s hodnotami od 1 do 10. Nejvyšší hustoty budov dostaly hodnotu 10 a pak sestupně až k hodnotě 1 u nejnižších hustot.

  15. Založil jsem model vysilace3_calc pro spojení obou reklasifikovaných vrstev do výsledné vrstvy vhodnosti umístění nových přístupových bodů.

    Obrázek 8. Model vysilace3_calc

    Model vysilace3_calc

  16. Pomocí funkce Map Algebra jsem spojil vrstvy. Použil jsem vzorec: [Reclass_omez] * 0.5 + [Reclass_hust] * 0.5. Oběma vrstvám jsem tak dal poloviční zastoupení na výsledné mapě.

  17. Obarvil jsem interval hodnot 9 až 10 žlutou barvou a získal tak výslednou vizualizaci, kterou lze vidět na obrázku. Nalezl jsem tak přibližně 7 větších oblastí (obarvených žlutou barvou), které by byly nejvhodnější pro umístění nového vysílače.

    Obrázek 9. Výsledná vizualizace

    Výsledná vizualizace

4. Závěr

Doufám, že tato práce přinesla čtenářům alespoň přibližnou představu, jak lze provádět analýzy vhodného umístění za pomoci modelů v programu ArcGIS 9.

Do prvního příkladu jsem příliš vlastní invence nevnesl. Jelikož se jedná o tutorialový příklad přímo od společnosti ESRI, měl by být vhodnou ukázkou použití Spatial Analyst pro analýzy vhodného umístění. Já jsem pouze postup řešení převedl do modelu (z toho důvodu jsou některé funkce nazvané jinak než v anglickém návodu v příručce).

Příklad nad reálnými daty není v praxi příliš použitelný. Hlavně kvůli stejným výškám budov a dalším faktorům, které nebyly brány v úvahu. Do analýzy by se hodilo použít například počet obyvatel domů nebo rušení od vysílačů jiných společností. Přesto si myslím, že je tento příklad přínosem - hlavně pro seznámení s různými funkcemi Spatial Analyst a jejich řetězením v ModelBuilder.

5. Přílohy

Součástí této semestrální práce jsou:

  • Adresář School_zdroje se vstupními vrstvami pro první příklad,

  • Adresář Vysilace_zdroje se vstupními vrstvami pro druhý příklad,

  • Soubor APA.tbx s modely pro oba příklady,

  • Soubor Prezentace.ppt s Powerpoint prezentací práce,

  • Soubor Using_ArcGIS_Spatial_Analyst.pdf - ESRI příručka pro práci se Spatial Analyst [1].

Zdroje

ArcGIS 9 Using ArcGIS Spatial Analyst [pdf]. Dostupné z <http://support.esri.com/index.cfm?fa=knowledgebase.documentation.viewDoc&PID=47&MetaID=776>.