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

21. 1. 2003
Doba čtení: 4 minuty

Sdílet

Po prestávke pokračujeme v našom rozprávaní o GRASSe. Teraz, keď už vieme zobrazovať rastrové vrstvy, vnoríme sa do hĺbky a vysvetlíme si podrobnejšie príkaz d.rast, prácu s farebnými tabuľkami, tvorbu profilov a nakoniec často používaný príkaz d.zoom.

Zobrazovanie rastrových vrstiev

K odskúšaniu témy z tejto časti seriálu budeme potrebovať GRASSovskú databázu SPEARFISH. Na zobrazovanie rastrových vrstiev slúži príkaz d.rast, ktorý umožňuje pomocou parametrov ovplyvňovať zobrazenie vrstiev na monitore GRASSu. Umožňuje zobrazovať len určité kategórie z danej vrstvy. Pre vrstvy, ktoré obsahujú len integer hodnoty, sa používa parameter catlist, pre vrstvy s desatinnou čiarkou zasa parameter vallist.

Napríklad:
r.report geology
d.rast map=geology catlist=8,9 bg=black
r.report slope
d.rast map=slope vallist=25–90 bg=black

Pomocou parametra catlist sme vykreslili len územia, ktoré sú pokryté nespevnenými horninami (ílovité a ílovito-piesočnaté sedimenty), pozadie sme vykreslili čiernou (Obr. 1). Vrstva slope obsahuje hodnoty sklonov v desatinných číslach (floating point), preto sme použili parameter valllist a vykresili len sklony nad 25 stupňov (Obr.2). Konkrétne hodnoty pre obidva tu použité parametre získame príkazom r.report.

Obr. 1

Obr. 2

Práca s farebnými tabuľkami

Každá rastrová vrstva má svoju farebnú tabuľku. GRASS ma preddefinovaných niekoľko farebných tabuliek, ktoré sú označené názvami. Názvy si môžme prezrieť príkazom r.colors -help. Farebné tabuľky sa menia príkazom r.colors.

Napríklad:
d.rast slope
r.colors help
r.colors slope col=grey
d.rast clope

Obr. 3

Obr. 4

Tu sme zmenili farebnú tabuľku pre vrstvu slope z rainbow (Obr. 3) na grey (Obr. 4), pričom farebná tabuľka rainbow sa používa ako preddefinovaná pre všetky vrstvy, čo nie je vždy vhodné. Napr. príkaz s.surf.rst a iné príkazy spolu s výstupmi vygenerujú aj ich farebné tabuľky, ktoré na monitore poskytnú estetický zážitok, avšak skutočné rozloženie javu môžu skresľovať tým, že majú definované určité hraničné hodnoty (napr. sklonov a orientácií), na ktorých sa potom mení aj farba. Osobne často používam farebnú škálu grey, pretože ona natiahne 256 odtieňov šedej škály rovnomerne od maximálnej po minimálnu hodnotu sledovaného javu. Skúste si vypočítať sklony na zložitejšom území, prezrite výsledok v pôvodnej farebnej škále a potom po použití príkazu r.colors v šedej škále. Rozdiel je badateľný a vy máte pocit, že sa dívate na úplne iné územie.

Zobrazenie legendy a mierky

Kazdá mapa, ak sa nemá jednať len o pekný obrázok, musí okrem iných vecí obsahovať legendu a mierku. V GRASSe sa legenda zobrazuje príkazom d.legend a mierka príkazom d.barscale. Obidva príkazy majú parameter -m, cez ktorý sa dá pozícia legendy vybrať kurzorom myši.

Napríklad:
d.rast slope
d.legend -m slope
d.barscale -m

Pre obidva príkazy treba sledovať terminálové okno, kde sú vysvetlené funkcie pre tlačítka myši. V porovnaní s komerčnými aplikáciami je tvorba legendy a ostatných prvkov mapy v GRASSe dosť neohrabaná. Na produkciu kvalitného mapového výstupu sa preto v GRASSe používa príkaz ps.map (budeme sa ním zaoberať v špeciálnej časti seriálu), ktorého výstupom je mapa vo formáte POSTSCRIPT. Existuje však ešte jedna, pre začiatocníkov vcelku jednoduchá možnosť, pre tvorbu mapového výstupu.

Princíp spočíva v tom, že z monitora GRASSu si „zosnímame“ obrazovú časť mapy a legendu, napríklad pomocou utility ksnapshot. V externom programe, napr. xfig, alebo sdraw, potom doplníme nadpisy, rámčeky, rôzne značky a dalšie drobnosti. Oba spomínané programy umožňujú uložit mapy aj do formátu EPS či PS. Mapy potom môžme zakomponovať do LaTeXovského dokumentu.

Tvorba profilov v GRASSe

Na získanie profilov sa v GRASSe používajú príkazy d.profile, r.what, r.transect a r.profile. Bližšie si vysvetlíme príkaz r.profile, pomocou ktorého prípravíme dátový súbor pre vykreslenie v externom programe (napr. gnuplot, či R.

Pomocou príkazu d.where zistíme súradnice začiatocného a koncového bodu profilu (profil môže byt aj kľukatý, zvýši sa tým len počet dvojíc bodov, ktoré ho definujú). Dvojice koordinátov potom použijeme ako argument príkazu r.profile. Výstupom z neho je textový súbor, kde v prvom stĺpci je kumulatívna hodnota vzdialenosti na profile a v druhom stĺpci zasa hodnota sledovaného javu.

Napríklad:
d.rast slope
d.where
r.profile input=slope output=vystup­.slope.txt\
profile=597862,49­24925,598204,4914359

Súbor vystup.slope.txt použijeme ako vstup pre gnuplot, či R.

Opäť príkaz d.zoom

Pred samotným spustením príkazu d.zoom musíme mať na monitore zobrazenú vrstvu. Funkcie tlačítok myši sú zobrazené v terminálovom okne. Na čo slúži príkaz vysvetlovať netreba. Ak však potrebujeme ohraničit územie relatívne presne, treba použiť namiesto príkazu d.zoom príkaz g.region a v ňom zadefinovať hraničné hodnoty súradníc pre severnú, južnú, západnú a východnú hranicu územia.

Treba vedieť, že GRASS s vrstvami pracuje len v definovanom regióne. Ak teda na určitom území spravíme zoom na mape sklonov, a potom použijeme príkaz r.mapcalc, príkaz sa vykoná len nad územím určenom príkazom d.zoom ,alebo g.region. Tak si napríklad môžme príkazom r.mapcalc vygenerovať novú mapovú vrstvu, ktorá bude obsahovať len časť z originálnej vrstvy.

Príkaz r.mapcalc však nekopíruje farebnú tabuľku, preto ak napríklad pomocou neho generujeme vrstvu obsahujúcu časť leteckej, či satelitnej snímky, musíme novej vrstve priradiť pôvodnú farebnú tabuľku.

ict ve školství 24

Napríklad:
d.rast spot.image
d.zoom
r.mapcalc spot.subset=spot­.image
g.region rast=spot.subset
d.rast spot.subset
r.colors spot.subset rast=spot.image

V nasledujúcej časti si vysvetlíme prácu s metadátami a budeme reklasifikovať rastrové vrstvy.

Použitá literatúra:

  1. M. Neteler a H. Mitášová. 2002. Open Source GIS: A GRASS GIS Approach. 1st edition. Kluver Academic Publishers.
  2. http://grass.it­c.it
  3. Ch. Jones (1997) Geographical Information Systems and Computer Cartography, Addison Wesley Longman, str.97–120.
  4. 4. ERDAS Inc. ERDAS Field Guide 4th ed., 1997. Atlanta, Georgia.

Autor článku