153YZOD Zpracování obrazových dat 2006 - 1. cvičení: Porovnání verzí

Z GeoWikiCZ
Skočit na navigaci Skočit na vyhledávání
m (→‎seznam použitých příkazů: - odebrany <tt></tt>)
m (syntax typo)
 
(Není zobrazeno 12 mezilehlých verzí od 2 dalších uživatelů.)
Řádek 1: Řádek 1:
=Úvod do problematiky (GNU/Linux, GIS GRASS - základní příkazy)=
+
<div class="boilerplate metadata" id="attention" style="border: 3px double #c32c2c; margin-bottom: 2em; padding: 0 .25em; background-color: #f96666;">
 +
<p style="font-size: 150%; text-align: center;"><br/>'''Tento text se vztahuje k akademickému roku 2006/2007. Aktuální stránky cvičení jsou dostupné [[153YZOD Zpracování obrazových dat - cvičení 1|zde]].'''<br/>&nbsp;</p>
 +
<div style="clear: both;"><br style="clear: both; display: none;" /></div>
 +
</div>
 +
{{ZOD}}
 +
[ [[Zpracování obrazových dat]] ]
  
 +
= Úvod do problematiky (GNU/Linux, GIS GRASS - základní příkazy) =
 
__TOC__
 
__TOC__
 +
== osnova ==
  
==osnova==
+
Cílem tohoto cvičení je studenty velmi zběžně seznámit s&nbsp;operačním systémem [http://www.gnu.org GNU]/[http://www.linux.org Linux]. Vzhledem k&nbsp;tomu, že se předpokládá jistá znalost tohoto OS z&nbsp;předcházejícího předmětu [[Úvod do operačního systému GNU Linux]], bude tato část omezena na naprosté minimum nutné pro práci s&nbsp;GISem [http://grass.itc.it GRASS].
  
Cílem tohoto cvičení je studenty velmi zběžně seznámit s&nbsp;operačním systémem [http://www.gnu.org GNU]/[http://www.linux.org Linux]. Vzhledem k&nbsp;tomu, že se předpokládá jistá znalost tohoto OS z&nbsp;předcházejícího předmětu [[Úvod do operačního systému GNU Linux]], bude tato část omezena na naprosté minimum nutné pro práci s&nbsp;GISem [http://grass.itc.it GRASS].
+
V&nbsp;druhé části cvičení přijde na řadu samotný GRASS. Budou vysvětleny základní pojmy jako je ''databanka GRASSu'', ''location'', ''mapset''... Spuštění GRASSu, vizualizace jednotlivých mapových vrstev v&nbsp;GRASS monitoru, tj.&nbsp;demonstrace základních příkazů GRASSu s&nbsp;důrazem na modulární strukturu systému.
  
V&nbsp;druhé části cvičení přijde na řadu samotný GRASS. Budou vysvětleny základní pojmy jako je <em>databanka GRASSu</em>, <em>location</em>, <em>mapset</em>... Spuštění GRASSu, vizualizace jednotlivých mapových vrstev v&nbsp;GRASS monitoru, tj.&nbsp;demonstrace základních příkazů GRASSu s&nbsp;důrazem na modulární strukturu systému.
+
== seznam použitých příkazů ==
  
==seznam použitých příkazů==
 
 
* [http://grass.itc.it/grass60/manuals/html60_user/g.list.html g.list]
 
* [http://grass.itc.it/grass60/manuals/html60_user/g.list.html g.list]
 
* [http://grass.itc.it/grass60/manuals/html60_user/g.manual.html g.manual]
 
* [http://grass.itc.it/grass60/manuals/html60_user/g.manual.html g.manual]
Řádek 17: Řádek 23:
 
* [http://grass.itc.it/grass60/manuals/html60_user/d.m.html d.m]
 
* [http://grass.itc.it/grass60/manuals/html60_user/d.m.html d.m]
  
==spuštění GRASSu, základní pojmy==
+
== spuštění GRASSu, základní pojmy ==
  
<i>Poznámka: V&nbsp;dalším textu budeme předpokládat verzi GRASSu 6.x. Pokud používáte starší
+
''Poznámka: V&nbsp;dalším textu budeme předpokládat verzi GRASSu 6.x. Pokud používáte starší či novější:-) verzi, očekávejte drobné rozdíly...''
či novější:-) verzi, očekávejte drobné rozdíly...</i>
 
  
 
Předpokládejme, že jsme úspěšně přihlášeni v&nbsp;systému GNU/Linux (či jiném) a&nbsp;máme již založenu databanku GRASSu (v našem případě adresář <tt>/home/student/grassdata</tt>). Otevřeme tedy
 
Předpokládejme, že jsme úspěšně přihlášeni v&nbsp;systému GNU/Linux (či jiném) a&nbsp;máme již založenu databanku GRASSu (v našem případě adresář <tt>/home/student/grassdata</tt>). Otevřeme tedy
příkazovou konzoli (<em>xterm</em>) a&nbsp;GRASS spustíme zadáním příkazu:
+
příkazovou konzoli (''xterm'') a&nbsp;GRASS spustíme zadáním příkazu:
  
<pre>
+
#spustit GIS GRASS
#spustit GIS GRASS
+
#
#
+
$&nbsp;grass6
$&nbsp;grass6
 
</pre>
 
  
''Poznámka'': číslovka odpovídá instalované verzi GRASSu, může se tedy lišit. Nejde o&nbsp;dogmatickou
+
''Poznámka: číslovka odpovídá instalované verzi GRASSu, může se tedy lišit. Nejde o&nbsp;dogmatickou kombinaci...''
kombinaci...''
 
  
GRASS se spustí podle nastavení (soubor <tt>~/.grassrc6</tt>) v&nbsp;<em>grafickém</em>
+
GRASS se spustí podle nastavení (soubor <tt>~/.grassrc6</tt>) v&nbsp;''grafickém''
či <em>textovém</em> módu
+
či ''textovém'' módu
 
(toto chování lze ovlivnit parametry <tt>-gui</tt> a&nbsp;<tt>-text</tt>).
 
(toto chování lze ovlivnit parametry <tt>-gui</tt> a&nbsp;<tt>-text</tt>).
  
Řádek 45: Řádek 47:
 
se strukturou dat, které GRASS používá.
 
se strukturou dat, které GRASS používá.
  
;<b>DATABASE</b> (databanka GRASSu): je adresář ve stromové struktuře OS, my se uklidníme jednoduchým tvrzením: jde o&nbsp;adresář <tt>/home/student/grassdata</tt>. V&nbsp;tomto adresáři jsou v&nbsp;podstatě uložena <u>veškerá</u> data, se kterými GRASS pracuje (tedy rastrové a&nbsp;vektorové mapové vrstvy, atributové tabulky, popisky ...). Jednu z&nbsp;mála výjimek představují atributová (popisná) data skladovaná v&nbsp;některém z&nbsp;externích databázových systémů ([http://www.postgresql.org PostgreSQL], [http://www.mysql.org MySQL]).
+
;'''DATABASE''' (databanka GRASSu): je adresář ve stromové struktuře OS, my se uklidníme jednoduchým tvrzením: jde o&nbsp;adresář <tt>/home/student/grassdata</tt>. V&nbsp;tomto adresáři jsou v&nbsp;podstatě uložena <u>veškerá</u> data, se kterými GRASS pracuje (tedy rastrové a&nbsp;vektorové mapové vrstvy, atributové tabulky, popisky ...). Jednu z&nbsp;mála výjimek představují atributová (popisná) data skladovaná v&nbsp;některém z&nbsp;externích databázových systémů ([http://www.postgresql.org PostgreSQL], [http://www.mysql.org MySQL]).
  
;<b>LOCATION</b> (lokace): je adresář umístěný v&nbsp;databance GRASSu. Lze konstatovat, že obsahuje data, která souvisejí s&nbsp;daným projektem. Je definována souřadnicovým systémem (referenční elipsoid, kartografické zobrazení, mapové jednotky) a&nbsp;velikostí zájmového území.
+
;'''LOCATION''' (lokace): je adresář umístěný v&nbsp;databance GRASSu. Lze konstatovat, že obsahuje data, která souvisejí s&nbsp;daným projektem. Je definována souřadnicovým systémem (referenční elipsoid, kartografické zobrazení, mapové jednotky) a&nbsp;velikostí zájmového území.
  
;<b>MAPSET</b> (mapset): je souborem map, které tvoří jakýsi logický celek v&nbsp;rámci lokace (daného projektu). Může např. odpovídat jednotlivým uživatelům (to pokud na projektu pracuje více lidí) nebo uceleným analýzám (studium vegetace, záplavová území, ...). Každá lokace musí obsahovat alespoň jeden mapset s&nbsp;unikátním názvem PERMANENT. Ten většinou obsahuje základní datové vrstvy, ostatní mapsety jsou pracovní (zpracování vstupních dat, jejich analýza...).
+
;'''MAPSET''' (mapset): je souborem map, které tvoří jakýsi logický celek v&nbsp;rámci lokace (daného projektu). Může např. odpovídat jednotlivým uživatelům (to pokud na projektu pracuje více lidí) nebo uceleným analýzám (studium vegetace, záplavová území, ...). Každá lokace musí obsahovat alespoň jeden mapset s&nbsp;unikátním názvem PERMANENT. Ten většinou obsahuje základní datové vrstvy, ostatní mapsety jsou pracovní (zpracování vstupních dat, jejich analýza...).
  
 
My zvolíme lokaci '''sevcech''' a&nbsp;mapset '''student''' (nikoliv tedy mapset PERMANENT!).
 
My zvolíme lokaci '''sevcech''' a&nbsp;mapset '''student''' (nikoliv tedy mapset PERMANENT!).
Řádek 58: Řádek 60:
 
spuštěn tzv. "GIS Manager". Manuálně jej můžete spustit pomocí příkazu
 
spuštěn tzv. "GIS Manager". Manuálně jej můžete spustit pomocí příkazu
  
<pre>
+
#otevřít GIS Manager
#otevřít GIS Manager
+
#
#
+
GRASS:~&nbsp;>&nbsp;d.m&nbsp;&amp;
GRASS:~&nbsp;&gt;&nbsp;d.m&nbsp;&amp;
 
</pre>
 
  
 
z&nbsp;příkazové konzole GRASSu.
 
z&nbsp;příkazové konzole GRASSu.
Řádek 76: Řádek 76:
 
''Nu, a&nbsp;nyní konečně do práce!''
 
''Nu, a&nbsp;nyní konečně do práce!''
  
==mapové vrstvy, vizualizace v grafickém okně GRASSu==
+
== mapové vrstvy, vizualizace v grafickém okně GRASSu ==
  
 
Pro naše první koketování s&nbsp;GRASSem využijeme výše zmíněnou
 
Pro naše první koketování s&nbsp;GRASSem využijeme výše zmíněnou
Řádek 98: Řádek 98:
 
manipulaci s&nbsp;tzv.&nbsp;GRASS monitorem (otevření, uzavření).
 
manipulaci s&nbsp;tzv.&nbsp;GRASS monitorem (otevření, uzavření).
  
<div align="center">
+
<center>
{|style="border: solid 1px black;"
+
{|border="1px" cellpadding="3px" rules="all"
 
|+Skupiny modulů GRASSu
 
|+Skupiny modulů GRASSu
 
|-
 
|-
|'''předpona'''
+
! předpona !! třída !! krátký popis
|'''třída'''
 
|'''krátký popis'''
 
 
|-
 
|-
 
|<tt>db.</tt>
 
|<tt>db.</tt>
Řádek 142: Řádek 140:
 
|zpracování vektorových dat
 
|zpracování vektorových dat
 
|}
 
|}
</div>
+
</center>
  
 
Pokud tedy napíšete do&nbsp;konzole "g." a&nbsp;stisknete klávesu TAB (automatické
 
Pokud tedy napíšete do&nbsp;konzole "g." a&nbsp;stisknete klávesu TAB (automatické
Řádek 196: Řádek 194:
 
rastrové a&nbsp;vektorové mapové vrstvy máme k&nbsp;dispozici:
 
rastrové a&nbsp;vektorové mapové vrstvy máme k&nbsp;dispozici:
  
<pre>
+
#seznam dostupných rastrových mapových vrstev
#seznam dostupných rastrových mapových vrstev
+
#
#
+
GRASS:~&nbsp;>&nbsp;g.list&nbsp;rast
GRASS:~&nbsp;&gt;&nbsp;g.list&nbsp;rast
+
 
+
----------------------------------------------
+
----------------------------------------------
raster files available in mapset PERMANENT:
+
raster files available in mapset PERMANENT:
rad1  rad2  spot1  spot2  spot3  tm1  tm2  tm3  tm4  tm5  tm6  tm7
+
rad1  rad2  spot1  spot2  spot3  tm1  tm2  tm3  tm4  tm5  tm6  tm7
 
+
----------------------------------------------
+
----------------------------------------------
</pre>
 
 
 
<pre>
 
#seznam dostupných vektorových mapových vrstev
 
#
 
GRASS:~&nbsp;&gt;&nbsp;g.list&nbsp;vect
 
 
 
----------------------------------------------
 
vector files available in mapset PERMANENT:
 
silnice  voda  zelez
 
  
----------------------------------------------
+
#seznam dostupných vektorových mapových vrstev
</pre>
+
#
 +
GRASS:~&nbsp;>&nbsp;g.list&nbsp;vect
 +
 +
----------------------------------------------
 +
vector files available in mapset PERMANENT:
 +
silnice  voda  zelez
 +
 +
----------------------------------------------
  
 
Mapové vrstvy tedy obsahuje pouze mapset PERMANENT, náš mapset (student) je zatím prázdný. Poznamenejme,
 
Mapové vrstvy tedy obsahuje pouze mapset PERMANENT, náš mapset (student) je zatím prázdný. Poznamenejme,
Řádek 232: Řádek 227:
 
a&nbsp;zavření monitoru (<tt>stop</tt>).
 
a&nbsp;zavření monitoru (<tt>stop</tt>).
  
<pre>
+
#otevřít první GRASS monitor
#otevřít první GRASS monitor
+
#
#
+
GRASS:~&nbsp;>&nbsp;d.mon start=x0
GRASS:~&nbsp;&gt;&nbsp;d.mon start=x0
+
#
#
+
#otevřít druhý GRASS monitor
#otevřít druhý GRASS monitor
+
#
#
+
GRASS:~&nbsp;>&nbsp;d.mon start=x1
GRASS:~&nbsp;&gt;&nbsp;d.mon start=x1
+
#
#
+
#vybrat první GRASS monitor
#vybrat první GRASS monitor
+
#
#
+
GRASS:~&nbsp;>&nbsp;d.mon select=x0
GRASS:~&nbsp;&gt;&nbsp;d.mon select=x0
+
#
#
+
#uzavřít první GRASS monitor
#uzavřít první GRASS monitor
+
#
#
+
GRASS:~&nbsp;>&nbsp;d.mon stop=x1
GRASS:~&nbsp;&gt;&nbsp;d.mon stop=x1
 
</pre>
 
  
 
Na tomto místě si dovolím malý, nepříliš vhodný (z&nbsp;pedagogického hlediska;-) ''úkrok stranou''.
 
Na tomto místě si dovolím malý, nepříliš vhodný (z&nbsp;pedagogického hlediska;-) ''úkrok stranou''.
Řádek 255: Řádek 248:
 
v&nbsp;seznamu parametrů). Výše uvedený příklad lze tedy alternativně zapsat:
 
v&nbsp;seznamu parametrů). Výše uvedený příklad lze tedy alternativně zapsat:
  
<pre>
+
GRASS:~&nbsp;>&nbsp;d.mon x0
GRASS:~&nbsp;&gt;&nbsp;d.mon x0
+
GRASS:~&nbsp;>&nbsp;d.mon x1
GRASS:~&nbsp;&gt;&nbsp;d.mon x1
+
GRASS:~&nbsp;>&nbsp;d.mon se=x0
GRASS:~&nbsp;&gt;&nbsp;d.mon se=x0
+
GRASS:~&nbsp;>&nbsp;d.mon sto=x1
GRASS:~&nbsp;&gt;&nbsp;d.mon sto=x1
 
</pre>
 
  
 
Před samotnou vizualizací je záhodno zmínit další velmi důležitý pojem a&nbsp;to <em>region</em>.
 
Před samotnou vizualizací je záhodno zmínit další velmi důležitý pojem a&nbsp;to <em>region</em>.
Řádek 267: Řádek 258:
 
Kromě velikosti nese informace o&nbsp;rozlišení, které se nicméně dotýká pouze rastrových dat -
 
Kromě velikosti nese informace o&nbsp;rozlišení, které se nicméně dotýká pouze rastrových dat -
 
na data vektorová tedy nemá vliv.
 
na data vektorová tedy nemá vliv.
<em>Výchozím regionem</em> je myšlen region, který pokrývá (měl by) zájmové území celé
+
''Výchozím regionem'' je myšlen region, který pokrývá (měl by) zájmové území celé
 
lokace. Pro manipulaci s&nbsp;regionem slouží "kupodivu" modul <tt>g.region</tt>. Mezi nejdůležitější patří
 
lokace. Pro manipulaci s&nbsp;regionem slouží "kupodivu" modul <tt>g.region</tt>. Mezi nejdůležitější patří
 
přepínač <tt>-d</tt>, který nastaví výchozí region a&nbsp;parametry <tt>rast</tt> a&nbsp;<tt>vect</tt>,
 
přepínač <tt>-d</tt>, který nastaví výchozí region a&nbsp;parametry <tt>rast</tt> a&nbsp;<tt>vect</tt>,
Řádek 275: Řádek 266:
 
bude zobrazeno v&nbsp;GRASS monitoru) - velikost a&nbsp;rozlišení.
 
bude zobrazeno v&nbsp;GRASS monitoru) - velikost a&nbsp;rozlišení.
  
<pre>
+
#nastavit aktivní region podle mapové vrstvy
#nastavit aktivní region podle mapové vrstvy
+
#
#
+
GRASS:~&nbsp;>&nbsp;g.region rast=tm1
GRASS:~&nbsp;&gt;&nbsp;g.region rast=tm1
 
</pre>
 
  
 
Ve výsledku tedy máme otevřen první GRASS monitor (x0), který je navíc aktivní. Pro zobrazení
 
Ve výsledku tedy máme otevřen první GRASS monitor (x0), který je navíc aktivní. Pro zobrazení
Řádek 287: Řádek 276:
 
na jejich manuálové stránky. Na tomto místě si uvedeme pouze jeden demonstrační příklad:
 
na jejich manuálové stránky. Na tomto místě si uvedeme pouze jeden demonstrační příklad:
  
<pre>
+
#zobrazit v GRASS monitoru vybranou rastrovou a vektorovou mapovou vrstvu
#zobrazit v GRASS monitoru vybranou rastrovou a vektorovou mapovou vrstvu
+
#
#
+
GRASS:~&nbsp;>&nbsp;d.rast tm1
GRASS:~&nbsp;&gt;&nbsp;d.rast tm1
+
GRASS:~&nbsp;>&nbsp;d.vect zelez col=yellow
GRASS:~&nbsp;&gt;&nbsp;d.vect zelez col=yellow
 
</pre>
 
  
 
[[Soubor:ZOD-cv1-d.rast_vect.png|frame|center| Obr č.5: Vizualizace rastrových a vektorových dat v GRASS monitoru]]
 
[[Soubor:ZOD-cv1-d.rast_vect.png|frame|center| Obr č.5: Vizualizace rastrových a vektorových dat v GRASS monitoru]]
 +
 +
 +
[ [[Zpracování obrazových dat]] ]

Aktuální verze z 19. 11. 2008, 19:53

[ Zpracování obrazových dat ]

Úvod do problematiky (GNU/Linux, GIS GRASS - základní příkazy)

osnova

Cílem tohoto cvičení je studenty velmi zběžně seznámit s operačním systémem GNU/Linux. Vzhledem k tomu, že se předpokládá jistá znalost tohoto OS z předcházejícího předmětu Úvod do operačního systému GNU Linux, bude tato část omezena na naprosté minimum nutné pro práci s GISem GRASS.

V druhé části cvičení přijde na řadu samotný GRASS. Budou vysvětleny základní pojmy jako je databanka GRASSu, location, mapset... Spuštění GRASSu, vizualizace jednotlivých mapových vrstev v GRASS monitoru, tj. demonstrace základních příkazů GRASSu s důrazem na modulární strukturu systému.

seznam použitých příkazů

spuštění GRASSu, základní pojmy

Poznámka: V dalším textu budeme předpokládat verzi GRASSu 6.x. Pokud používáte starší či novější:-) verzi, očekávejte drobné rozdíly...

Předpokládejme, že jsme úspěšně přihlášeni v systému GNU/Linux (či jiném) a máme již založenu databanku GRASSu (v našem případě adresář /home/student/grassdata). Otevřeme tedy příkazovou konzoli (xterm) a GRASS spustíme zadáním příkazu:

#spustit GIS GRASS
#
$ grass6

Poznámka: číslovka odpovídá instalované verzi GRASSu, může se tedy lišit. Nejde o dogmatickou kombinaci...

GRASS se spustí podle nastavení (soubor ~/.grassrc6) v grafickém či textovém módu (toto chování lze ovlivnit parametry -gui-text).

Obr č.1: Grafická uvítací obrazovka GRASSu
Obr č.2: Textová uvítací obrazovka GRASSu

Jsme ve fázi, kdy by bylo nanejvýš vhodné si objasnit základní pojmy a to v souvislosti se strukturou dat, které GRASS používá.

DATABASE (databanka GRASSu)
je adresář ve stromové struktuře OS, my se uklidníme jednoduchým tvrzením: jde o adresář /home/student/grassdata. V tomto adresáři jsou v podstatě uložena veškerá data, se kterými GRASS pracuje (tedy rastrové a vektorové mapové vrstvy, atributové tabulky, popisky ...). Jednu z mála výjimek představují atributová (popisná) data skladovaná v některém z externích databázových systémů (PostgreSQL, MySQL).
LOCATION (lokace)
je adresář umístěný v databance GRASSu. Lze konstatovat, že obsahuje data, která souvisejí s daným projektem. Je definována souřadnicovým systémem (referenční elipsoid, kartografické zobrazení, mapové jednotky) a velikostí zájmového území.
MAPSET (mapset)
je souborem map, které tvoří jakýsi logický celek v rámci lokace (daného projektu). Může např. odpovídat jednotlivým uživatelům (to pokud na projektu pracuje více lidí) nebo uceleným analýzám (studium vegetace, záplavová území, ...). Každá lokace musí obsahovat alespoň jeden mapset s unikátním názvem PERMANENT. Ten většinou obsahuje základní datové vrstvy, ostatní mapsety jsou pracovní (zpracování vstupních dat, jejich analýza...).

My zvolíme lokaci sevcech a mapset student (nikoliv tedy mapset PERMANENT!). Po stisknutí kombinace kláves ESC-RETURN (tj. ESC-ENTER), resp. kliknutí na tlačítko "Enter GRASS" se objeví příkazový interpret GRASSu. Jedná se v podstatě o klasický interpret, který je navíc obohacen o příkazy GRASSu (jsou tedy dostupné všechny systémové příkazy - ukažte mi GIS, který svému uživateli umožňuje spustit např. e-mailového klienta či internetový prohlížeč;-) Pokud je GRASS nastartován v grafickém módu, je také automaticky spuštěn tzv. "GIS Manager". Manuálně jej můžete spustit pomocí příkazu

#otevřít GIS Manager
#
GRASS:~ > d.m &

z příkazové konzole GRASSu.

Poznámka: Znak ampersandu (&) je v tomto případě velmi důležitý. Daná aplikace je potom totiž spuštěna na pozadí a příkazový interpret je přístupný pro další příkazy.

Obr č.3: GIS Manager ve vývojové větvi GRASSu 6.1

GRASS lze ovládat jak z příkazové řádky, tak pomocí GUI (grafického uživatelského rozhraní). My budeme během další práce vesele GUI ignorovat (a to jak výše zmíněný "GIS Manager", tak GUI jednotlivých modulů).

Nu, a nyní konečně do práce!

mapové vrstvy, vizualizace v grafickém okně GRASSu

Pro naše první koketování s GRASSem využijeme výše zmíněnou lokaci sevcech obsahující sadu družicových snímků LandSat TM5 z oblasti Severních Čech, dva snímky z družice SPOT a konečně i dva ukázkové radarové snímky. Navíc obsahuje několik jednoduchých vektorových map pokrývající území snímků LandSat. Po potvrzení lokace a mapsetu se tedy octneme v příkazovém interpretu obohaceného o příkazy (tzv. moduly) GRASSu. Tady se dostáváme k podstatné vlastnosti tohoto systému - a to jeho modularitě. Ve své podstatě to znamená, že disponuje poměrně rozsáhlou množinou malých, ale výkonných programů. To odpovídá koncepci UNIXu (tj. i GNU/Linuxu) jako takového, daný program má za úkol vyřešit dílčí problém, nic víc, měl by být co nejmenší a poměrně jednoduchý. V jednoduchosti se totiž skrývá nezměrná síla;-)

Jednotlivé moduly GRASSu mají až na výjimky podobnou syntaxi a jsou jako celek poměrně konzistentní. Jejich jména se skládají z předpony označující rodinu příkazů a krátkého názvu napovídajícího účelu modulu. Tak například modul d.mon patří do skupiny "Display" a je určen pro manipulaci s tzv. GRASS monitorem (otevření, uzavření).

Skupiny modulů GRASSu
předpona třída krátký popis
db. database práce s externími databázovými systémy
d. display grafické výstupy a vizuální dotazy
g. general obecné příkazy pro manipulaci s daty
r3. grid 3D zpracování 3D rastrových dat ("volume")
i. imagery zpracování obrazových dat
p. paint příkazy určené pro tvorbu mapových výstupů
ps. postscript příkazy pro tvorbu map ve formátu PostScript
r. raster zpracování rastrových dat
v. vector zpracování vektorových dat

Pokud tedy napíšete do konzole "g." a stisknete klávesu TAB (automatické doplnění příkazu), vypíší se všechny příkazy ze skupiny modulů "General".

První modul, se kterým se fyzicky seznámíme, bude g.list. Na něm si ukážeme standardní chování modulů GRASSu - pokud spustíme modul bez parametrů, objeví se jeho GUI a modul tak lze ovládat pomocí něho.

Obr č.4: GUI modulu g.list

Velmi užitečným parametrem je help, který zobrazí krátký popis modulu, jeho syntaxi (názvy parametrů a přepínačů), tak např. v případě výše uvedeného modulu se nešťastný uživatel dozví asi toto:

Description:
 Lists available GRASS data base files of the user-specified data type to standard output.

Usage:
 g.list [-f] type=datatype [mapset=name]

Flags:
  -f   verbose listing (also list map titles)

Parameters:
    type   data type
           options: rast,rast3d,vect,oldvect,asciivect,icon,labels,sites,
                    region,region3d,group,3dview
  mapset   mapset to list (default: current search path)

Where type is one of:
  rast      (raster files)
  rast3d    (raster3D files)
  vect      (binary vector files)
  oldvect   (old (GRASS 5.0) binary vector files)
  asciivect (ascii vector files)
  icon      (paint icon files)
  labels    (paint label files)
  sites     (site list files)
  region    (region definition files)
  region3d  (region3D definition files)
  group     (imagery group files)
  3dview    (3D view parameters)

Rozsáhlejší nápovědu nabízí g.manual (g.manual g.list, zajímavý je přepínač -m, který zobrazí nápovědu k požadovanému modulu jako manuálovou stránku).

Vraťme se ale k modulu g.list, který vypíše obsah aktuální lokace. Zjistíme tedy, které rastrové a vektorové mapové vrstvy máme k dispozici:

#seznam dostupných rastrových mapových vrstev
#
GRASS:~ > g.list rast


----------------------------------------------
raster files available in mapset PERMANENT:
rad1  rad2  spot1  spot2  spot3  tm1  tm2  tm3  tm4  tm5  tm6  tm7

----------------------------------------------
#seznam dostupných vektorových mapových vrstev
#
GRASS:~ > g.list vect

----------------------------------------------
vector files available in mapset PERMANENT:
silnice  voda  zelez 

----------------------------------------------

Mapové vrstvy tedy obsahuje pouze mapset PERMANENT, náš mapset (student) je zatím prázdný. Poznamenejme, že tyto mapy můžeme číst, ale nemůžeme je editovat. Mapset v tomto ohledu (do jisté míry) zohledňuje přístupová práva (právo čtení, zápisu).

Na závěr tohoto kurzu se pokusíme vybrané mapové vrstvy vizualizovat - zobrazit na obrazovce počítače. K tomu slouží speciální okna (tzv. "GRASS monitory"), celkem jich může být spuštěno 6 (označují se x0 až x6). Pro manipulaci s GRASS monitory slouží modul d.mon. Jeho ovládaní je poměrně intuitivní - otevření (parametr start), výběr (select) a zavření monitoru (stop).

#otevřít první GRASS monitor
#
GRASS:~ > d.mon start=x0
#
#otevřít druhý GRASS monitor
#
GRASS:~ > d.mon start=x1
#
#vybrat první GRASS monitor
#
GRASS:~ > d.mon select=x0
#
#uzavřít první GRASS monitor
#
GRASS:~ > d.mon stop=x1

Na tomto místě si dovolím malý, nepříliš vhodný (z pedagogického hlediska;-) úkrok stranou. Názvy parametrů lze libovolně zkracovat či dokonce vypouštět (to v případě, že se jedná o první parametr v seznamu parametrů). Výše uvedený příklad lze tedy alternativně zapsat:

GRASS:~ > d.mon x0
GRASS:~ > d.mon x1
GRASS:~ > d.mon se=x0
GRASS:~ > d.mon sto=x1

Před samotnou vizualizací je záhodno zmínit další velmi důležitý pojem a to region. Region je část území (tvar čtyřúhelníka), které je definováno hraničními souřadnicemi SEVER JIH ZÁPAD VÝCHOD. Kromě velikosti nese informace o rozlišení, které se nicméně dotýká pouze rastrových dat - na data vektorová tedy nemá vliv. Výchozím regionem je myšlen region, který pokrývá (měl by) zájmové území celé lokace. Pro manipulaci s regionem slouží "kupodivu" modul g.region. Mezi nejdůležitější patří přepínač -d, který nastaví výchozí region a parametry rastvect, které nastaví region podle dané mapové vrstvy. Chceme-li tedy zobrazit družicový snímek tm1, je vhodné nejprve nastavit aktuální region podle této rastrové vrstvy (tedy území, které bude zobrazeno v GRASS monitoru) - velikost a rozlišení.

#nastavit aktivní region podle mapové vrstvy
#
GRASS:~ > g.region rast=tm1

Ve výsledku tedy máme otevřen první GRASS monitor (x0), který je navíc aktivní. Pro zobrazení rastrových dat se používá modul d.rast, pro vektorová data existuje, světe div se, d.vect. Oba moduly (především d.vect) disponují velkou množinou přepínačů a parametrů, které ovlivňují zobrazený výsledek na monitoru. Pro bližší informace odkazuji na jejich manuálové stránky. Na tomto místě si uvedeme pouze jeden demonstrační příklad:

#zobrazit v GRASS monitoru vybranou rastrovou a vektorovou mapovou vrstvu
#
GRASS:~ > d.rast tm1
GRASS:~ > d.vect zelez col=yellow
Obr č.5: Vizualizace rastrových a vektorových dat v GRASS monitoru


[ Zpracování obrazových dat ]