Hlavní navigace

Geografický informačný systém GRASS (2)

23. 7. 2002
Doba čtení: 8 minut

Sdílet

V tejto časti začneme trochou teórie z oblasti GISov, vysvetlíme si, ako sú reálne geografické objekty reprezentované v GISoch a GRASSovskú štruktúru geodatabázy. Ukážeme si tiež, ako GRASS nainštalovať zo zdrojových súborov a zo skompilovaných binárok. Takisto si do adresárovej štruktúry pridáme skúšobné dáta a skúsime prvé sedenie v GRASSe.
Koncepcia GISov a GRASS

Aby sme GIS mohli efektívne používať, treba porozumieť terminológii, ktorú
používa a spôsob, akým sú reálne geografické objekty reprezentované
digitálnymi entitami. V GISe sú geografické objekty georeferencované a usporiadané
do tématických vrstiev, alebo priestorových objektov. Každá tématická
vrstva môže mať vlastný model dát podľa toho, aký priestorový fenomén
reprezentuje. Tématické vrstvy treba chápať nasledovne: vrstva vodných
tokov, jazier, umelých nádrží a prameňov môže byť uložená v jednej vrstve,
pretože ide o rôzne podoby povrchovej vody v krajine. Diaľnice, cesty a ulice máme zasa v
inej tématickej vrstve, pretože ide o prepravné koridory rôznej
hierarchickej úrovne. Parcely opäť v samostatnej tématickej vrstve.
Podobne využitie zeme (orná pôda, lesy, pasienky…) opäť v samostatnej
vrstve.

Geografické objekty môžu byť reprezentované nasledovnými modelmi dát (Obr 1).

  • Rastrový model – pravidelné rozložené bodové pole, alebo priestorový prvok (pixel) obsahujúci nulovú alebo nenulovú hodnotu.
  • Vektorový model – geografické objekty sú reprezentované líniami, bodmi a polygónmi definovanými ich geografickými súradnicami.
  • Bodový model – je špeciálnou kategóriou vektorového modelu. Ide o body pravidelne či nepravidelne rozložené a reprezentované kartografickými súradnicami. Každý bod môže niesť „n“ atribútov.
  • Atribúty – sú popisné dáta, ktoré poskytujú informáciu o geometrických dátach. Atribútové dáta sú vačšinou uložené v externom alebo internom DBMS. GRASS natívne podporuje PostgreSQL a cez ODBC viaceré DBMSy.

Rastrový model dát sa používa pre geografické javy, ktoré majú spojitý charakter (nadmorská výška, teplota, vlhkosť), majú vysokú priestorovú variáciu, tj. menia svoju kvalitu na malom priestore, alebo sa zmena tejto kvality nedá popísať presnou hranicou (les, step, leso-step, kosodrevina, alpské lúky, prechodné areály medzi kosodrevinou a alpskými lúkami, plaveniny vo vodnom toku). Rastrový model má jednoduchý dátový formát (pixle s hodnotou) preto je jednoduchý na uloženie (nie však čo sa týka veľkosti súborov), používa sa všade tam, kde sú potrebné priestorové analýzy, modelovanie a práca s družicovými alebo leteckými snímkami, ale tiež mapová algebra. Tento dátový model je nevhodný pre sieťové analýzy a analýzy vyžadujúce presne definovanú hranicu geografického objektu.

Vektorový model dát sa používa pre geografické objekty s presne definovanou polohou v priestore a s nižšou priestorovou variabilitou (ulice, cesty, vodné toky, ropovody, parcely). K vektorovým dátam môže byť pripojených „n“ atribútov (meno ulice, čísla domov na pravej strane ulice, čísla domov na ľavej strane ulice, vlastník parcely, trhová cena parcely, bonita pôdy v parcele). Takisto sa vektorový model dát používa tam, kde sa pre geografické objekty vyžaduje určitý špecifický druh analýz (sieťová analýza nad ulicovou sieťou).

Prečo som zaradil vodné toky aj k rastrovému modelu dát aj k vektorovému modelu dát? Pretože dátová reprezentácia geografického objektu nezávisí len od objektu samotného (objekt výskumu), ale aj od druhu analýz, ktoré chceme nad ním vykonávať a od vlastností, ktoré chceme na objekte študovať (predmet výskumu). Vysvetlíme na príklade. Ak chceme do našej mapy zakresliť rieku pretekajúcu mestom (vo veľkej či malej kartografickej mierke) a nič viac, použijeme vektorový model dát. Ak však chceme v rieke sledovať teplotu vody, výskyt plavenín, či obsah polutantov, použijeme rastrový model. Výber dátového modelu nemá len význam vo vede a výskume. Skúste len nevhodným modelom dát zmenšiť vlastníkovi výmeru pozemku o 10%, alebo naopak vymerať mu v závislosti od rozlohy prenajatej plochy vyššie nájomné. Tu sa prelína svet GISov s reálnym svetom a jeho problémami.

Rieka však môže byť vo vektorovom modeli dát reprezentovaná aj líniou, aj plochou (polygónom). Líniou vtedy, keď pracujeme v malej kartografickej mierke (napr. 1:1 000 000) a plochou vtedy, keď pracujeme vo veľkej kartografickej mierke (napr. 1:5 000). V predchádazjúcej vete nie je chyba, mierky sa v kartografii naozaj označujú takto, to vďaka znamienku „:“ v ich numerickom zápise.

Geografické objekty sa reálne vyskytujú v 3D priestore a čase. Avšak pre väčšinu aplikácii si vystačíme s premietnutím týchto objektov na plochu (2D). Niekedy si však štúdium fenoménu vyžaduje zaviesť tretiu súradnicu (napr. sledovanie zmeny teploty vzduchu s výškou, koncentrácia chemikálií v zálive, výskyt fytoplanktónu v závislosti od hĺbky jazera, koncentrácia rudy v rozdielnej hĺbke). Ak sa kvalita sledovaného fenoménu mení v čase, je potrebné pridať aj štvrtý rozmer. GRASS poskytuje podporu pre 2D, a 3D priestorové súradnice (Obr. 2).

Popísať využitie GISov by len rozšírilo túto kapitolu, preto v každej časti seriálu by sa mal objaviť príklad použitia GISov. Faktom totiž je, že videť fungujúce príklady GISov je najlepším stimulom pre ich štúdium, vývoj, alebo ich nasadenie v praxi.

Inštalácia GRASSu.

GRASS môžme inštalovať zo zdrojových kódov, alebo z bináriek. Binárky sú k dispozícií pre najviac rozšírené platformy. Na svete existuje okolo 22 mirorov, odkiaľ sa dajú zdrojáky aj binárky stiahnuť. Obidve inštalácie sú jednoduché a zvládne ich aj menej skúsený užívateľ. Pre inštaláciu nie je nutné mať „root“ovský prístup.


Inštalácia binárnej formy GRASSu.

Treba si stiahnuť dva súbory:

  • grass5.0.0pre3_i686-pc-linux-gnu_bin.tar.gz -binárny súbor GRASSu
  • grass5_i686-pc-linux-gnu_install.sh -inštalačný skript

Ak sa tak nestalo počas sťahovania súboru, treba inštalačný skript spraviť spúšťateľným napríklad takto:

Tabulka č. 300
[rado@templar ~/]$ chmod 755 grass5_i686-pc-linux-gnu_install.sh

Samotná inštalácia sa robí takto (všetko v jednom riadku):

Tabulka č. 301
[rado@templar ~/]$ sh grass5_i686-pc-linux-gnu_install.sh \
grass5.0.0pre3_i686-pc-linux-gnu_bin.tar.gz /where/to/install \
/where/to/store/binaries

Prvý uvedený adresár definuje, kam sa nainštaluje GRASS, druhý definuje, kam sa uloží príkaz pre spustenie GRASSu (ide o príkaz grass5). Ak máte správne nastavené zapisovacie práva pre obidva adresáre a tiež cestu k druhému adresáru pridanú do vášho .bash_profile (platí pre bash), stačí už len spustiť príkaz:

Tabulka č. 302
[rado@templar temp]$ source .bash_profile
[rado@templar temp]$ grass5

Inštalácia GRASSu zo zdrojových kódov.

Táto inštalácia je časovo naročnejšia (na mojom stroji P166, 128 MB RAM trvá cca 1.5 hodiny). Treba si stiahnuť balík so zdrojovými kódmi a rozpakovať ho.

Tabulka č. 303
[rado@templar temp]$ tar xvfz grass5.0.0pre5_src.tar.gz

Potom nasleduje spustenie trojice príkazov z adresára, kam sa zdrojové kódy rozpakovali: ./configure, ./make a./make install. Príkaz ./configure je dôležitý. Obsahuje voľby, ktoré definujú funkcionalitu bináriek GRASSu. Dá sa tu zapnúť podpora pre PostgreSQL server, GD knižnice, PNG driver, či FFTW (Fast Fourier Transformation) knižnice. Všetko je podrobne popísané v súbore INSTALL, ktorý sa nachádza v rozpakovanom archíve. Stačí spustiť príkaz ./configure s definovaním kam sa má GRASS nainštalovať a kde sa majú uložiť spustiteľné súbory. Všetky zaujímavé funkcie sú prednastavené tak, aby sa nainštalovali automaticky a je ich dosť. Ak teda niekto s GRASSom začína, úplne postačuje základná konfigurácia. Ostatné pokročilejšie a zároveň netriviálne funkcie sa dajú v skripte definovať cez voľby –with=funkcia. Treba zadať ./configure –help a skript vypíše konfiguračné voľby.

Tabulka č. 304
[rado@templar grass5.0.0pre5]$ ./configure \
--prefix=/usr/local/grass5 --bindir=/usr/local/bin

Pravdepodobne budete musieť doinštalovat do systému niektoré -devel-.rpm balíky a v konfiguračnom skripte uviesť, kde sa nachádzajú hlavičkové súbory (napr. –with-tiff-includes=/usr/in­clude). Ked konfiguračný skript zbehne zadajte príkazy:

Tabulka č. 305
[rado@templar grass5.0.0pre5]$ make
[rado@templar grass5.0.0pre5]$ make install

Príkaz make install treba spustiť ako root (platí pre tu zadané voľby príkazu ./configure). Ak sa nedarí skompilovať GRASS zo zdrojákov kľudne použite na prácu binárnu verziu, žiadny rozdiel v rýchlosti nezistíte. Ak chcete mať predsa len skompilovanú verziu napíšte do konferencie, alebo do diskusie pod článkom.

Štruktúra dát v GRASSe.

Všetky dáta, ktoré sa v GRASSe používajú, sú v jednom adresári (!), ktorý budeme volať DATABASE. Ten si musíte vytvoriť. U mňa je to napr: /home/rado/gras­sdata. V ňom sú adresáre ktoré voláme LOCATION a v každej LOCATION, je aspoň jeden adresár označovaný ako MAPSET. Aspoň jeden preto, pretože MAPSET, ktorý sa volá PERMANENT je automatický vytvorený GRASSom.

  • LOCATION -je definovaná súradnicovým systémom, kartografickou projekciou a hranicami. Ide teda o akési záujmové územie ktoré skúmame, v ktorom robíme analýzy. Ak teda pracujeme v okolí Devínskej kobyly, máme LOCATION „dev.kobyla“, ak pracujeme v okolí Black Hills máme zasa LOCATION „spearfish“. To znamená že priestorovo sme limitovaný práve rozsahom LOCATION daného záujmového územia.
  • MAPSET -obsahuje mapové vrstvy (reprezentované GRASSovskou internou adresárovou štruktúrou). MAPSET sa používa pre lepšiu organizáciu dát, tématických problémov a zameraní v danej LOCATION. Napríklad, ak v LOCATION „dev.kobyla“ pracujeme na mapovaní vegetácie náš MAPSET sa bude volať „vegetacia“, ak pracujeme na morfometrickej analýze reliéfu, budeme tam mať MAPSET „dmr“.

Koncept LOCATION – MAPSET umožňuje aj týmovú prácu na projekte a zároveň organizuje dáta podľa ich geografických súradníc a tématickej odlišnosti (Obr. 3)

Stiahneme si Spearfish dataset, čo sú testovacie dáta z juhozápadnej časti Južnej Dakoty, pre naše prvé sedenie v GRASSe. Súborspearfish_gras­s5data.tar.gz vložíme do nášho adresára DATABASE rozpakujeme a spustíme GRASS príkazom grass5.

Tabulka č. 306
[rado@templar grassdata]$ tar xvfz spearfish_grass5data.tar.gz
[rado@templar grassdata]$ grass5

Vstupné okno treba vyplniť nasledovne:

LOCATION: spearfish
MAPSET: user1
DATABASE: /cesta/k/vasej/da­tabaze

Pokračujte kombináciou kláves <ESC><ENTER> a v GRASSovskom prompte zvoľte grafické užívateľské prostredie založené na Tcl/Tk knižniciach príkazom tcltkgrass &, vylistujte si zoznam mapových vrstiev, zobrazte jednu z nich, zistite o nej základné info a ukončite sedenie príkazom exit.

Tabulka č. 307
GRASS:~ tcltkgrass &
GRASS:~ g.list rast
GRASS:~ d.rast geology
GRASS:~ r.info geology
GRASS:~ exit


Teraz, keď máme k dispozícii dáta a užívateľské rozhranie, môžme skúšať, kde sa aké príkazy nachádzajú, čo prevádzajú a výsledok sledovať na GRASSovskom monitore (Obr 4.). Pri kažom ďalšom sedení sa objaví grafické okno pre výber LOCATION aMAPSETU (Obr. 5).

root_podpora

Ak sa Vám podarilo dostať bez problémov až sem, môžete sa nabudúce tešiť na spravu mapových vrstiev v GRASSe, o tom, ako vybrať súradnicový systém a pripraviť geodatabázu, teda všetko veci, ktoré sú potrebné pre projekt fungujúceho GISu. GRASS nie je zložitý. Trochu zložitejší úvod a pochopenie možno netradičných princípov, na ktorých funguje sa po čase vráti v podobe faktu, že jeho užívateľ bude rozumieť veciam a procesom, ktoré sa dejú medzi kliknutiami myšou a to je na nezaplatenie. Či už pre oblasť výskumu, alebo uplatnenia sa na trhu práce.

Použité zdroje:

1. M. Neteler a H. Mitášová. 2002. Open Source GIS: A GRASS GIS Approach. 1st edition. Kluver Academic Publishers.
2. http://gras­s.itc.it

Byl pro vás článek přínosný?