gis grass 6geo.fsv.cvut.cz/data/grasswikicz/grass6_prirucka/grass6...Úvod do praktických...
Post on 01-Mar-2019
216 Views
Preview:
TRANSCRIPT
Úvod do praktických dovedností se svobodným geografickým
informačním systémem GRASS 6.0
Otto Dassau, Stephan Holl, Marcus Neteler, Dr. Mandred Redslob
Český překlad: Jáchym Čepický, Martin Landa, Záboj Hrázský
verze/verze překladu: 1.0/0.2
2. října 2005
Impressum
Tento text není oficiální dokumentací k výše zmíněnému programu. Většina programů a hard-
waru jsou obchodní značky a jako takové jsou chráněny patřičnými zákony. GRASS GIS je
uvolněn pod licencí GNU General Public Licence. Bližší informace naleznete na jeho domovské
stránce [4].
Všechny údaje, data a výsledky uvedené v tomto textu byli autory podle jejich nejlepšího
svědomí vytvořeny a přezkoušeny. Chyby v obsahu ovšem nelze zcela vyloučit. Veškeré údaje
jsou zbaveny ze strany autorů jakýchkoliv závazků či garance. Autoři a vydavatel nepřebírají
žádnou odpovědnost nebo záruku za chyby a jejich následky. Upozornění na eventuální omyly
budou přirozeně vzaty v potaz.
Tento dokument byl vysázen v systému LATEX. Lze si jej stáhnout buď jako zdrojový kód LATEXu,
jako dokument ve formátech PDF a HTML nebo si objednat tištěnou verzi u GDF Hanno-
ver bR [1].
Obrázky v tomto textu byly vytvořeny na základě volně dostupných geografických dat. Tato
data a použitý software podléhají buď Public Domain, GNU General Public Licence nebo jiné
odpovídající licenci. Další informace o svobodném softwaru, GISu GRASS a volně dostupných
geodatech naleznete na internetových stránkách Sdružení uživatelů GISu GRASS (GRASS
Anwender-Vereinigung e.V. (GAV)) [6], projektu FreeGIS [8] a Free Software Foundation Eu-
rope [2].
Stav: Březen 2005
Copyright c©2004-2005 GDF Hannover bR
Autoři:
Otto Dassau
Stephan Holl
Markus Neteler
Dr. Manfred Redslob
Internet: http://www.gdf-hannover.de
Kontakt: info@gdf-hannover.de
Permission is granted to copy, distribute and/or modify this document under the terms of
the GNU Free Documentation License, Version 1.1 or any later version published by the Free
Software Foundation; with no Invariant Sections. A copy of the license is included in the section
entitled ”GNU Free Documentation License”.
Obsah
Předmluva xi
1 Úvod 1
2 Výstavba a struktura 3
2.1 Geografická data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2 Dimenze dat v GISu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.3 Databanka GRASSu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.3.1 Mapset PERMANENT . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.3.2 Struktura dalších mapsetů . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.4 Struktura příkazů v GRASSu . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.5 Nápověda k modulům GRASSu . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.6 Proměnné prostředí GRASSu . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3 Instalace GRASSu 11
3.1 Instalace z binárního souboru . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.1.1 GRASS 5.4 [stable] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.1.2 GRASS 6.0 [testing] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.2 Kompilace zdrojového kódu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.3 Instalace z CVS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4 Databanka GRASSu 15
4.1 Spuštění GRASSu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.2 Mapová projekce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.2.1 Geoid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
i
4.2.2 Referenční elipsoid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.2.3 Geodetické datum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.2.4 Typy kartografických zobrazení . . . . . . . . . . . . . . . . . . . . . . . 20
4.2.5 Výběr typu kartografického zobrazení . . . . . . . . . . . . . . . . . . . 21
4.3 Příklady kartografických zobrazení . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.3.1 Azimutální zobrazení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.3.2 Kuželová zobrazení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.3.3 Válcová zobrazení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.4 Souřadnicové systémy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.4.1 Globální souřadnicové systémy . . . . . . . . . . . . . . . . . . . . . . . 23
4.4.2 Dvou a tří dimenzionální souřadnicové systémy . . . . . . . . . . . . . . 23
4.5 Založení location v GRASSu . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.5.1 Příklady pro založení nové location . . . . . . . . . . . . . . . . . . . . . 25
4.5.2 Založení location se souřadnicovým systémem Gauß-Krüger . . . . . . . 25
4.5.3 Založení location se souřadnicovým systémem XY . . . . . . . . . . . . 27
4.5.4 Založení location s UTM . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.5.5 Založení location se systémem Latitude-Longitude . . . . . . . . . . . . 29
4.6 Mazání map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
5 Import dat 31
5.1 Import rastrových dat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
5.2 Import vektorových dat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.3 Import bodových dat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
6 Georeferencování dat 37
6.1 Příprava před georeferencováním dat . . . . . . . . . . . . . . . . . . . . . . . . 37
6.1.1 Volba optimálního rozlišení při skenování . . . . . . . . . . . . . . . . . 38
6.1.2 Definice zájmové oblasti projektu . . . . . . . . . . . . . . . . . . . . . . 38
6.2 Proces georeferencování dat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
6.2.1 Volba vlícovacích bodů . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
6.2.2 Transformace map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
7 Export dat 43
7.1 Export rastrových dat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
7.1.1 Export pomocí knihovny GDAL . . . . . . . . . . . . . . . . . . . . . . 44
7.2 Export vektorových dat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
7.3 Export bodových dat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
8 Grafická uživatelská rozhraní 45
8.1 TclTkGRASS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
8.2 GIS Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
8.2.1 Menu s moduly analýzy dat (TclTkGRASS) . . . . . . . . . . . . . . . . 46
8.2.2 Grafická tlačítka pro jednoduchou vizualizaci (Display Manager) . . . . 47
9 Práce s rastrovými daty 49
9.1 Vizualizace rastrových map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
9.2 Dotazování se na rastrové mapy a jejich metadata . . . . . . . . . . . . . . . . 51
9.3 Vybrané aplikace rastrových map . . . . . . . . . . . . . . . . . . . . . . . . . . 53
9.3.1 Výpočet profilů . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
9.3.2 Analýza viditelnosti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
9.3.3 Překryv jednotlivých rastrových map . . . . . . . . . . . . . . . . . . . . 55
9.3.4 Rastrové buffery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
9.4 Změna tabulky barev rastrové mapy . . . . . . . . . . . . . . . . . . . . . . . . 56
9.5 Statistické charakteristiky map . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
9.6 Metody pro manipulaci s rastrovými mapami . . . . . . . . . . . . . . . . . . . 59
9.6.1 Reklasifikace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
9.6.2 Maskování . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
9.7 Vektorizace rastrových dat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
10 Nová struktura funkčních nástrojů pro zpracování vektorových dat 63
10.1 Nové vlastnosti GRASSu 6.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
10.2 Správa geometrie vektorových dat . . . . . . . . . . . . . . . . . . . . . . . . . 64
10.2.1 Práce s formáty podporovanými knihovnou OGR . . . . . . . . . . . . . 64
10.2.2 Geometrie vytvořená z DBMS . . . . . . . . . . . . . . . . . . . . . . . 66
10.2.3 Geometrie uložená v textovém souboru . . . . . . . . . . . . . . . . . . 66
10.3 Správa atributů vektorových map . . . . . . . . . . . . . . . . . . . . . . . . . . 67
10.3.1 Správa uživatelů a hesel u externích databází . . . . . . . . . . . . . . . 68
10.3.2 Výpis atributů . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
10.3.3 Přiřazení atributů . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
10.3.4 Manipulace s atributovými daty . . . . . . . . . . . . . . . . . . . . . . 70
11 Práce s vektorovými daty 71
11.1 Síťové analýzy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
11.1.1 Analýza nejkratší cesty . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
11.1.2 Podsítě sítí . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
11.1.3 Úloha minimálního Steinerova stromu . . . . . . . . . . . . . . . . . . . 73
11.1.4 Úloha obchodního cestujícího . . . . . . . . . . . . . . . . . . . . . . . . 73
11.1.5 Analýza nákladů . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
11.2 Funkce průniku, překryvu a spojení . . . . . . . . . . . . . . . . . . . . . . . . . 73
11.2.1 Funkce spojení (union) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
11.2.2 Funkce průniku (intersection) . . . . . . . . . . . . . . . . . . . . . . . . 75
11.2.3 Funkce vyříznutí (cutout) . . . . . . . . . . . . . . . . . . . . . . . . . . 75
11.2.4 Funkce překrytí (overlay) . . . . . . . . . . . . . . . . . . . . . . . . . . 75
11.3 Extrakce dat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
11.4 Správa topologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
11.5 Vektorizace v GRASSu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
12 Příklad použití: Vektorová optimalizace spádových oblastí 85
12.1 Import ukázkových dat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
12.2 Výběr klinik z bodové mapy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
12.3 Přiřazení klinik síti silnic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
12.4 Vytvoření optimálních spádových oblastí . . . . . . . . . . . . . . . . . . . . . . 89
13 Konverze dat 91
13.1 Vektorizace rastrových dat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
13.1.1 Vektorizace linií a isolinií . . . . . . . . . . . . . . . . . . . . . . . . . . 91
13.2 Rasterizace vektorových dat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
14 Interpolace 95
14.1 Interpolace rastrových dat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
14.1.1 Metoda IDW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
14.1.2 Metota RST (spline) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
14.2 Interpolace dat ve vektorovém formátu . . . . . . . . . . . . . . . . . . . . . . . 97
15 Mapová algebra s modulem r.mapcalc 99
15.1 Modul r.mapcalc: definované operátory . . . . . . . . . . . . . . . . . . . . . . 99
15.2 Modul r.mapcalc: definované funkce . . . . . . . . . . . . . . . . . . . . . . . . 100
15.3 Vnitřní proměnné modulu r.mapcalc . . . . . . . . . . . . . . . . . . . . . . . 101
15.4 Maskování . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
16 3D vizualizace a animace 103
16.1 Zobrazení 3D rastrových dat v modulu NVIZ . . . . . . . . . . . . . . . . . . . 103
16.2 Zobrazení 3D rastrových dat . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
16.3 Vytváření animací . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
17 Vizualizace dat a mapový výstup 109
17.1 Mapový výstup ve formátu PostScript . . . . . . . . . . . . . . . . . . . . . . . 109
17.2 Export map pomocí ovladače PNG . . . . . . . . . . . . . . . . . . . . . . . . . 112
17.3 Stínovaný reliéf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
17.4 Tvorba map pomocí programu Xfig . . . . . . . . . . . . . . . . . . . . . . . . . 113
17.4.1 Zvolení vhodného měřítka . . . . . . . . . . . . . . . . . . . . . . . . . . 113
17.5 Tvorba map pomocí programu Skencil . . . . . . . . . . . . . . . . . . . . . . . 114
18 QGIS 117
18.1 Práce s vektorovými daty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
18.2 Vizualizace a klasifikace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
18.2.1 Editace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
18.3 Práce s rastrovými daty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
18.4 Zpracování dat z GPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
18.5 Tvorba analogových map v QGISu . . . . . . . . . . . . . . . . . . . . . . . . . 122
19 Definice Svobodného Softwaru 125
20 GNU Free Documentation License 129
21 Seznam příkazů 137
Literatura 150
Seznam obrázků
1.1 Mapa vývoje GRASSu od roku 2001 (stav 1/2005) . . . . . . . . . . . . . . . . 1
2.1 Geometrická a popisná data v rámci geografických informačních systémů . . . . 4
2.2 Srovnání rastrového a vektorového datového formátu na identickém prvku . . . 5
2.3 Dimenze dat v GISu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.4 Struktura databanky GRASSu 6.0 . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.1 Porovnání verzí GRASSu 5.4 a 6.0 . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.1 Grafická Tcl/Tk uvítací obrazovka GRASSu . . . . . . . . . . . . . . . . . . . . 16
4.2 Textová uvítací obrazovka GRASSu pro definici nové location . . . . . . . . . . 16
4.3 Okno pro výběr kódu EPSG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.4 Zobrazení zemského tělesa do roviny mapy . . . . . . . . . . . . . . . . . . . . . 19
4.5 Různá kartografická zobrazení . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.6 Zadání hraničních souřadnic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
6.1 Proces souřadnicového připojení dat v GRASSu . . . . . . . . . . . . . . . . . . 37
6.2 Volba vlícovacích bodů naskenované topografické mapy v modulu i.points . . 40
8.1 Grafické uživatelské rozhraní TclTkGRASS 4.0 . . . . . . . . . . . . . . . . . . 45
8.2 d.m – GIS Manager GRASSu 6.0 s daty FRIDA . . . . . . . . . . . . . . . . . . 46
9.1 Několik profilů digitálního modelu terénu – modul d.profile . . . . . . . . . . 54
9.2 Vytvoření vyrovnávací (buffer) zóny pomocí modulu r.buffer . . . . . . . . . 56
10.1 Popis vektorové architektury GRASSu 6.0 . . . . . . . . . . . . . . . . . . . . . 65
11.1 Data VMAP0 Německa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
vii
11.2 Grafický panel modulu v.digit . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
11.3 Topografická mapa regionu Spearfish s informacemi o využití půdy . . . . . . . 80
11.4 Vytvoření atributové tabulky při manuální vektorizaci . . . . . . . . . . . . . . 81
11.5 Udání atributů při vektorizaci . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
11.6 Nastavení hodnoty okolí („snapping thresholdÿ) pro navázání linií . . . . . . . 83
12.1 Síť silnic a klinik města Osnabrück . . . . . . . . . . . . . . . . . . . . . . . . . 86
12.2 Přiřazení ulic k nejbližší klinice . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
13.1 Moduly pro automatickou vektorizaci rastrových map . . . . . . . . . . . . . . 91
13.2 Vyhlazování vektorizovaných linií . . . . . . . . . . . . . . . . . . . . . . . . . . 92
13.3 Moduly pro rasterizaci vektorových dat . . . . . . . . . . . . . . . . . . . . . . 93
16.1 Ovládací panel NVIZu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
16.2 Panel „Volumeÿ a zobrazení 3D rastrových dat . . . . . . . . . . . . . . . . . . 105
16.3 Rozdílné úrovně srážek na území Slovenska . . . . . . . . . . . . . . . . . . . . 106
16.4 Tvorba animací v NVIZu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
17.1 Jednoduchý výstup modulu ps.map . . . . . . . . . . . . . . . . . . . . . . . . . 111
17.2 Zobrazení stínovaného reliéfu pomocí modulu d.his . . . . . . . . . . . . . . . 113
17.3 Jednoduché rozvržení mapy v programu Xfig . . . . . . . . . . . . . . . . . . . 114
17.4 Výběr důležitých funkcí pro kreslení a editaci v programu Xfig . . . . . . . . . 115
17.5 Grafický editor Skencil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
17.6 Grafický editor Xfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
18.1 QGIS s datasetem FRIDA (město Osnabrück) . . . . . . . . . . . . . . . . . . . 117
18.2 Vlastnosti vektorové vrstvy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
18.3 Editační režim zásuvného modulu QGISu pro GRASS . . . . . . . . . . . . . . 119
18.4 Zahájení a ukončení editace vrstvy ShapeFile . . . . . . . . . . . . . . . . . . . 121
18.5 Průhlednost („alpha-blendingÿ) vrstev v QGISu . . . . . . . . . . . . . . . . . 121
18.6 QGIS-GPS plugin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
18.7 Map Composer pro tvorbu analogových map v QGISu . . . . . . . . . . . . . 124
Seznam tabulek
2.1 Struktura modulů GRASSu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
4.1 Parametry vybraných mezinárodně používaných elipsoidů . . . . . . . . . . . . 20
4.2 Vybrané geodetické datumy a jejich lokace . . . . . . . . . . . . . . . . . . . . . 20
4.3 Příklady azimutálních zobrazení . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.4 Příklady kuželových zobrazení . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.5 Příklady válcových zobrazení . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
5.1 Moduly GRASSu pro import rastrových dat . . . . . . . . . . . . . . . . . . . . 32
5.2 Moduly GRASSu pro import vektorových dat . . . . . . . . . . . . . . . . . . . 33
6.1 Stupeň polynomu transformace . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
7.1 Výběr modulů pro export rastrových dat . . . . . . . . . . . . . . . . . . . . . . 43
7.2 Výběr modulů pro export vektorových dat . . . . . . . . . . . . . . . . . . . . . 44
15.1 Definované operátory modulu r.mapcalc . . . . . . . . . . . . . . . . . . . . . 99
15.2 Definované funkce modulu r.mapcalc . . . . . . . . . . . . . . . . . . . . . . . 100
15.3 Proměnné modulu r.mapcalc . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
18.1 Nástroje GRASSu pro vektorizaci dat . . . . . . . . . . . . . . . . . . . . . . . 120
ix
Předmluva
GDF Hannover bR [1] nabízí v rámci svých školení velké množství doprovodného materiálu.
Ten je určen mimo jiné k tomu, aby si účastníci těchto kurzů mohli i po nich jednotlivé příklady
samostatně zopakovat.
Obsah tohoto textu se orientuje na kurz GDF Hannover bR s tématem:
Úvod k praktickým dovednostem se svobodným geografickým informačním
systémem GRASS 6.0
Jednotlivé části jsou popsány na základě letitých zkušeností našich spolupracovníků, vně i uvnitř
naší podnikatelské činnosti, výuky na univerzitě v Hannoveru a spolupracovníků, členů vývo-
jářského týmu GRASSu. Souvisí s naší filosofií, snažit se aktivně přispět k prosazování, rozšiřo-
vání a vývoji svobodného (GIS) softwaru. Z toho důvodu jsou všechny kapitoly knihy uvolněny
pod GNU Free Documentation License a lze je stáhnout z internetových stránek GDF Hanno-
ver bR [1].
Jelikož jsou okruhy témat našich kurzů závislé jak na jejich délce, tak na specifických nárocích
jejich účastníků, jsou jednotlivé kapitoly v tomto textu koncipovány jako přehled základních
funkcí systému GRASS. Kapitoly nejsou žádným způsobem propojeny se speciálními cvičeními
na kurzech GDF Hannover bR GISu GRASS.
Tento text chápejte jako kompaktní přehledný úvod k tématu GRASS 6.0, se kterým je možné
se během krátké doby seznámit a osvojit si jeho základní funkční nástroje. Jedná se zejména
o text ve verzi 1.1, ve kterém jsou obsaženy všechny důležité změny týkající se GRASSu 6.0.
Pro komplexní přehled odkazujeme na jednotlivé publikace uvedené v seznamu literatury.
Společnost pro analýzu dat a dálkový průzkum Země bR
(Gesellschaft für Datenanalyse und Fernerkundung bR)
Hannover, březen 2005
xi
Předmluva k českému překladu
Toto je již druhý počin překladatelského tandemu Jáchym Čepický1 – Martin Landa2 (s laska-
vou pomocí Aleny Novotné, Záboje Hrázského3 a především Jarmily Landové). Tímto textem
navazujeme na publikaci „GIS GRASS – Praktická rukověť ke geografickému informačnímu
systému GRASSÿ (GRASS Handbuch) Markuse Netelera.
Ačkoliv je tato příručka myšlena především pro GRASS 6.0 a GRASS Handbuch je zaměřena
na řadu GRASSu 5.0.x, resp. 5.4, nemohou být tyto texty chápány jako ekvivalenty. Hlavní
změnou v GRASSu 6.0 je zcela nová vektorová architektura. Způsob práce s rastrovými daty
a daty dálkového průzkumu Země zůstal bez výraznějších změn.
Tato publikace se zaměřuje především na práci s vektorovými daty a na další nové vlastnosti
tohoto oblíbeného GISu. Po GRASS Handbuch vztáhne ruku určitě každý, kdo se chce poněkud
hlouběji zabývat rastrovými daty a především zpracováním dat dálkového průzkumu Země.
Tato témata jsou v této publikaci probrána jen zběžně (v případě DPZ vůbec).
V každém případě je více než doporučeníhodné, nahlédnout také do publikace „Open Source
GIS: The GRASS GIS Approachÿ [NM04] autorů Mitášové a Netelera, kde jsou zmíněná témata
probrána velmi podrobně. Jelikož je ale tato publikace psána pro verzi GRASSu 5.4, musí se
zájemce o práci s vektorovými daty s potřebnými informacemi seznámit buď prostřednictvím
tohoto textu a nebo na síti Internet – dokumentace je více než dost.
I když se snažíme podrobit překlad důkladné kontrole, je možné, že nám některé chyby utekly.
Překladatelé budou rádi, budou-li na tyto chyby upozorněni.
Text si lze stáhnout z domovské stránky „Českého sdružení uživatelů GISu GRASSÿ
http://gama.fsv.cvut.cz/~grass/ ve formátu PDF, PostScript a jako archiv zdrojových
textů (LATEX) a obrázků. Doufáme, že vám překlad usnadní počáteční orientaci v tomto skvě-
lém softwaru.
Jáchym Čepický & Martin Landa
jaro 2005
1Kapitoly 1–4, 7–17.2Kapitoly 5, 6.3Kapitola 18.
xiii
1 Úvod
Svobodný software se stává synonymem pro inovaci a pokrok, jelikož umožňuje volnou výměnu
myšlenek mezi uživateli a vývojáři a zaručuje tak svobodu spuštění, modifikace a šíření pro-
gramů včetně volně dostupného zdrojového kódu. Pro geografický informační systém GRASS
GIS to znamená neustálý, celosvětově organizovaný a uživatelsky orientovaný vývoj.
Tento dokument nabízí krátký úvod do geografického informačního systému GRASS. Rozšiřuje
známou německy a anglicky psanou literaturu [Net00; NM04] o aspekty používání a instalace
GRASSu 6.0. Poskytuje tak aktuální materiál popisující jeho nejnovější vlastnosti.
Na úplný úvod si ozřejmíme mapu vývoje systému GRASS (obr. 1.1) s ohledem na jeho další
předpokládaný vývoj. Z obrázku je patrné, jakým směrem se od roku 2001 ubírá vývoj GRASSu
a kam dále směřuje.
major code
merge
5.7
5.0.x
5.0.x
CVS HEAD
CVS release branch
5.1.xCVS
CVS HEAD6+
5.0.2 5.0.3
mergemerge
5.0/5.1 code mix 2005
2004
Mapa vývoje GRASSu
5.3.x
2003
5.4.x
5.1.x2001
5.4.0
6.0
CVS release branch
2003
Obrázek 1.1: Mapa vývoje GRASSu od roku 2001 (stav 1/2005)
1
2
2 Výstavba a struktura
GRASS je hybridní, modulárně postavený GIS, jenž je orientován jak na zpracování rastrových,
tak vektorových dat. Každá vlastnost – funkční prvek – je reprezentována zvláštním modulem.
Tím je dána jasná struktura GRASSu a program tak působí značně transparentně. Další před-
nost této modularity spočívá v tom, že v paměti počítače jsou nahrány vždy pouze aktuálně
používané moduly. Zdroje jsou tak využívány poměrně efektivně.
2.1 Geografická data
GIS obsahuje několik hlavních složek [BF91]:
• vstup
• správa
• analýza
• prezentace
Datové typy jsou na základě svých vlastností dále děleny na geometrická, popisná a grafická
data:
Geometrická data popisují prostorovou polohu objektů s ohledem na jejich formu a relativní
polohu v prostoru. Zpravidla se předpokládá vztah jednotlivých bodů, linií a ploch k danému
souřadnicovému systému, čímž jsou tyto objekty vztaženy k reálnému světu a jeho metrice. Geo-
metrická data mohou být uložena v rastrové (pixelové) nebo vektorové (polygony/plochy/areas,
linie/lines, body/sites) podobě (viz obr. 2.1).
Rastrová data reprezentují data v prostoru kontinuálně rozložená. Jsou uložena v pravi-
delné maticové, zpravidla čtvercové, struktuře dané buňkami o stejném rozměru. Každé
buňce je přiřazen atribut (vlastnost), reprezentující určitý fenomén (např. hodnotu teploty
nebo barvu). Uložení buněk je dáno jejich souřadnicemi. Jsou tak uspořádány do řádků
a sloupců. Geometricky orientovaný přístup k datům se děje na základě souřadnic nebo
3
4 2.1. GEOGRAFICKÁ DATA
zadáním řádku a sloupce matice. Práce s rastrovými daty umožňuje nasazení a analýzu
dat dálkového průzkumu Země, jako jsou barevné infračervené letecké snímky, satelitní
snímky a další. Nevýhodou rastrových dat jsou poměrně vysoké nároky na paměť a vý-
početní výkon procesoru, které exponenciálně stoupají s jejich rozlišením. Tato nevýhoda
se ale postupně ztrácí se stoupajícími výkony CPU a velikostí pevných kotoučů. Kromě
toho nejsou rastrovým datům přiřazeny žádné relativní vztahy sousedů: každý pixel je
definován v souřadnicovém systému sám o sobě.
10 23 23 35 35 44 67 88 88
52 4 25 18 −5
xx
xx
x xxx xxx
x
x
x
x
x x
x
y
y y
y 3595555 5774906 Lts
3595249 5774455 Lts
3595009 5774123 Ls
3595867 5774983 Su
3595889 5774101 Lts
3595339 5774445 Ls
bodová data
vektorová data
popisná data
rastrová data
Obrázek 2.1: Geometrická a popisná data v rámci geografických informačních systémů
Vektorová data umožňují uložení liniových informací a jedná-li se o uzavřené linie (polygony)
tak informací o plochách. Linie spojuje vždy dva body (uzly) o pevně daných souřadni-
cích. K jejich správě používá GRASS ve výchozím nastavení formát dBase. K dispozici
ovšem máme i rozhraní umožňující přípojení externího DBMS (Database Management
System), např.databázových systému jako PostgreSQL, MySQL, Oracle a další. V porov-
nání s rastrovými daty vykazují vektorová data výrazně nižší nároky na paměť počítače
a odpovídající výpočetní čas při provádění analýz. Na rozdíl od rastrových dat nesou
vektorová data informaci o tzv. topologii. To znamená, že linie a plochy „vědíÿ, které
uzly obsahují, příp. které plochy s nimi sousedí.
Bodová data (sites) můžeme zpracovat jako zvláštní formu vektorových dat. Používána bý-
vají při skladování bodových informací rozmístěných v prostoru. V GRASSu 6.0 je tento
typ dat, na rozdíl od verzí 5.0.x a 5.4 uložen ve formě vektorových bodů a má tedy
vlastnosti odpovídající vektorové mapě.
2.1. GEOGRAFICKÁ DATA 5
Popisná data jsou atributy (categories), se kterými jsou výše zmíněné datové typy spojeny.
Jejich uložení je ve většině GISů realizováno pomocí DBMI (Database Management Interface)
v databázovém systému připojeném ke GISu.
Grafická data popisují způsob, jakým bude prostorový objekt znázorněn na určitém výstup-
ním zařízení (monitor, plotter).
V GISu dochází ke kvalitativním a kvantitativním vztahům výše zmíněných datových typů
v rámci tzv. objektových modelů. V GISu uložené fenomény a objekty (entity) vystupují ve dvou
základních strukturách:
• kontinuální → plošné a ohraničené v prostoru
• diskrétní → ohraničitelné plošné a liniové objekty
Výběr „správnéÿ reprezentace datových struktur při výstavbě GISu je vždy závislý na měřítku,
prostorovém rozlišení, množství, zdroji dat, plánovaných analýzách atd.
V rámci GRASSu je možná konverze mezi různými datovými strukturami, např. vrstevnice,
uložené v podobě plošné modelu reliéfu (rastrový formát), mohou být převedeny na vektorové
linie. A naopak interpolací je možné z vrstevnic (ve vektorovém formátu) vygenerovat spojitý
povrch v rastrovém formátu. V závislosti na rozlišení dochází při převodu k relevantnímu stupni
generalizaci výchozích dat (viz obr. 2.2).
1 1 1 1 1 1 2 2 2
1 1 1 1 1 2 2 2 2
1 1 1 1 1 2 2 2 2
3 3 3 3 1 2 2 2 2
1 1 1 3 3 2 2 2 2
1 1 1 1 3 3 3 2 2
1
1
3
2
1 = louka 2 = vodstvo 3 = zástavba
Znázornění identického prvku v rastrovém a vektorovém formátu
Obrázek 2.2: Srovnání rastrového a vektorového datového formátu na identickém prvku
6 2.2. DIMENZE DAT V GISU
2.2 Dimenze dat v GISu
Prostorová data jsou převážně plošného charakteru, ve formě 2D nebo 2.5D. Jakmile je defino-
vána třetí informace (např. u výškových dat), začínáme hovořit o dvou a půlté dimenzi. Teprve
u pravých 3D–systémů jsou uloženy informace popisující vlastnosti povrchů těles (např. povrchy
budov nebo půdní profily) (viz obr. 2.3).
0DBod
1DLinie Plocha
2D 2.5D
Relief 3D
Těleso
Obrázek 2.3: Dimenze dat v GISu
2.3 Databanka GRASSu
Geodata jsou v GRASSu uložena v interní adresářové struktuře. Ve většině případů bývá k to-
muto účelu založen adresář (např. grassdata) v domovském adresáři uživatele. Tento adresář
bývá označován jako databanka GRASSu a musí být těsně po instalaci systému uživatelem
založen:
$ cd (přepnutí do domovského adresáře uživatele)
$ mkdir grassdata (vytvoření podadresáře pro databanku GRASSu)
Pro každou oblast projektu v GRASSu je automaticky založen podadresář v adresářovém
stromu databanky GRASSu tzv. location, ve kterém budou uložena všechna data dotýkající
se daného projektu. Location se dále dělí na mapové adresáře (mapsety). Tím je organizován
přístup k datům (viz kapitola 2.3.1 a 2.3.2).
Správa dat na této interní úrovni musí být přenechána GRASSu, což znamená, že všechny
operace (kopírování, mazání, přejmenování) musí být provedeny patřičnými příkazy GRASSu
(g.copy, g.remove, g.rename), aby se promítly do všech částí (geometrie, popisná a grafická
data) jednotlivých vrstev v různých podadresářích.
2.3.1 Mapset PERMANENT
Souhrnné informace o mapové projekci, rozlišení a zájmové oblasti projektu jsou uloženy v lo-
cation GRASSem automaticky založeném mapsetu PERMANENT. Na tomto místě lze sklado-
2.3. DATABANKA GRASSU 7
/home/user/grassdata
/europa
/hannover
/world
histdblncoor
sidxtopo
MapsetLocation
/kronsberg
GRASS Database
/prov_bz /meran
/huber
strassen
gruenflaechen
gewaesser
poi
strassen.dbf
gruenflaechen.dbf
poi.dbf
gewaesser.dbf
/europe
Geometrická a popisná data
fcell
hist
colr
cell_misc
cellhd
cell
cats
vector
dbf
Obrázek 2.4: Struktura databanky GRASSu 6.0
vat základní data (výchozí mapy) projektu, protože právo zápisu má zde pouze uživatel, který
projekt založil. Tím je zajištěno, že tato data nemůže modifikovat nikdo třetí.
Další uživatelé GRASSu, obyčejně se tím rozumí i uživatel, který vlastní mapset PERMA-
NENT, by měli založit další mapsety, ve kterých budou uložena vlastní data, vzniklá na zá-
kladě map z mapsetu PERMANENT a dalších zdrojů. V těchto mapsetech také probíhá vlastní
zpracování dat.
Soubory v mapsetu PERMANENT
Přístup ke každému projektu location je řízen individuálně. Za předpokladu, že v mapsetu
PERMANENT nejsou uloženy žádné mapy, obsahuje tento pouze informace o území projektu:
DEFAULT WIND údaje o okrajových souřadnicích, rozsah a rozlišení oblasti
PERMANENT
MYNAME název projektu, např. hannover
PROJ INFO údaje o kartografickém zobrazení, např. tmerc (Transverse Mercator),
bessel (elipsoid), postdam (geodetické datum)
PROJ UNITS údaje o použitých jednotkách, např. meter
WIND údaje aktuálního REGIONu a projekce mapsetu
8 2.4. STRUKTURA PŘÍKAZŮ V GRASSU
VAR údaje pro ovladač databanky a cesty k databázovému souboru,
resp. databázi
2.3.2 Struktura dalších mapsetů
Každý uživatel GRASSu může založit hned několik mapsetů, ve kterých jsou skladována jeho
vlastní data dotýkající se daného projektu. Ty mohou pokrývat celé či pouze část zájmového
území.
Tato vlastnost struktury databanky GRASSu umožňuje více uživatelům, spojených např. sítí,
pracovat současně na jednom projektu, aniž by hrozilo, že jeden uživatel zničí nebo změní data
jinému. Mapsety uživatelů mohou být nastavením práv pro čtení dalším uživatelům cíleně za-
členěny do „vlastního projektuÿ. Výsledky analýz a další data jsou uložena v těchto mapsetech,
ve kterých se uživatel nachází během svého sezení.
Struktura souborů v dalších mapsetech
cats/ hodnoty kategorií (např. barvy nebo teplota) a atributů (třídy s legendou)
jednotlivých rastrových dat
cell/ vlastní rastrové mapy
cellhd/ hlavičkové soubory jednotlivých rastrových map
cell misc/ statistická data jednotlivých rastrových map
colr/ tabulky barev jednotlivých rastrových map
dbf/ obsahuje vnitřní vektorové atributy ve formátu dBase
fcell/ rastrové mapy s plovoucí desetinnou čárkou (f: floating point)
hist/ historie vzniku jednotlivých rastrových map
vector/ obsahuje jednotlivá vektorová data (geometrie, topologie atd.)
WIND údaje k aktuálnímu regionu a mapové projekci mapsetu.
GRASS 6.0 umožňuje jedinému uživateli souběžně více sezení, tj. více aktivních mapsetů.
2.4 Struktura příkazů v GRASSu
Příkazy GRASSu mají jasnou strukturu. Typ příkazu se pozná podle jeho prvního písmene
(předpony). Po této zkratce následuje jméno příkazu, které představuje program, v GRASSu
označený jako modul. Např. modul sloužící pro digitalizaci rastru se jmenuje r.digit. Pro au-
tomatickou vektorizaci rastrových dat slouží modul v.to.rast. Tabulka 2.1 ukazuje jednotlivé
skupiny těchto modulů.
2.5. NÁPOVĚDA K MODULŮM GRASSU 9
Moduly a programy v GRASSu
Vedle modulů GRASSu máme během práce k dispozici veškeré Unix/Linuxové programy, které
mohou být vyvolány pomocí shellu – příkazového interpretu. To je mimo jiné důležité při psaní
programů, jejich aplikaci v GRASSu nebo jejich modifikaci. I když se to může zdát začáteční-
kovi obtížné, představuje programování pro GRASS v podstatě neomezenou možnost realizovat
vlastní požadavky a představy v rámci GISu. Kromě toho se lze poměrně rychle naučit jedno-
duché vytváření Unix/Linux shellových skriptů.
Tabulka 2.1: Struktura modulů GRASSupředpona třída funkčnosti význam příkazu
d.* display grafické výstupy a vizuální dotazy
r.* raster zpracování rastrových dat
i.* imagery zpracování obrazových dat
v.* vector zpracování vektorových dat
g.* general obecné příkazy pro manipulaci s daty
p.* paint příkazy sloužící pro vytváření map
ps.* postscript příkazy pro vytvoření map ve formátu PostScript
db.* database modul pro správu databází
r3.* voxel raster pro práci s 3D rastrovými daty
2.5 Nápověda k modulům GRASSu
Ke všem téměř čtyřem stům modulům existuje soubor s nápovědou (help), ve kterém jsou
vysvětleny jednotlivé příkazy a jejich syntaxe. Rychlou nápovědu k použití modulu obdržíme
pomocí parametru -help.
GRASS:~ > d.rast -help
Vyčerpávající návod s popisem modulu a příklady nasazení, který odpovídá manuálovým strán-
kám z domovské stránky GRASSu, vyvoláme příkazem g.manual jmeno modulu.
GRASS:~ > g.manual d.rast
Automaticky se spustí webový prohlížeč, ve které se manuálová stránka zobrazí. V nápovědě
je rovněž začleněn index příkazů.
10 2.6. PROMĚNNÉ PROSTŘEDÍ GRASSU
2.6 Proměnné prostředí GRASSu
Během sezení v GRASSu jsou používány různé proměnné prostředí. Ty mohou být vypsány
a modifikovány modulem g.gisenv.
Spustíte-li tento modul bez parametrů, vypíše aktuální hodnoty proměnných:
GRASS:~ > g.gisenv
GISDBASE=/home/holl/grassdata
GRASS DB ENCODING=utf-8
MAPSET=PERMANENT
LOCATION NAME=spearfish
GRASS GUI=tcltk
Chceme-li získat pouze název právě spuštěného mapsetu, zadáme příkaz s parametrem MAPSET:
GRASS:~ > g.gisenv MAPSET
Pro změnu proměnných je syntaxe následující: g.gisenv set=’OVERWRITE=0’. Dojde k nasta-
vení hodnoty proměnné OVERWRITE na přepisování, které je standardně vypnuto.
Seznam všech proměnných prostředí GRASSu nabízí manuálová stránka g.gisenv variables.
Poznámka: Nezávisle na popsané proměnné OVERWRITE nabízí GRASS pro rastrové a vek-
torové moduly přepínač -o nebo --overwrite (se dvěma pomlčkami). Tak lze přepsání map
některými moduly vynutit, standardně jsou ale mapy proti zápisu chráněny.
3 Instalace GRASSu
Při instalaci GRASS GIS máme k dispozici dvě varianty. Ačkoliv jsou tato skripta úvodem
do GRASSu verze 6.0, zmíníme se na tomto místě také o instalaci verze 5.4. Volba verze se
řídí podle potřeb uživatele a podle úloh, řešených v rámci daného projektu.Tyto dvě verze lze
charakterizovat následujícím způsobem:
• GRASS 5.4: Tato verze uzavírá vývoj oficiální řady GRASS 5.x., která je již mnoho letúspěšně používána v praxi a lze ji označit za krajně stabilní. Obsahuje rastrové funkční
nástroje verze 6.0.0, rozdíl leží právě v nástrojích pro správu dat vektorových. Pro uži-
vatele orientované na rastrové úlohy je tak verze 5.4 spolehlivou volbou.
• GRASS 6.0.0: Jedná se o nejaktuálnější verzi, vydanou počátkem roku 2005 jako [tes-ting]. Další vývoj GRASSu tak staví právě na této verzi. Rádi bychom uživatele povzbudili
v používání a testování verze 6.0, neboť právě to je hnacím motorem další vývoj aplikace.
GDF Hannover bR používá pro veškerou práci pouze tuto verzi.
GRASS 5.4 GRASS 6.0.0
rastrová analýza a zpracování obrazových dat
2D a 3D vizualizace
d.dm /tcltkgrass d.m / grafická rozhraní modulů
podpora bodových dat (sites) body (sites) jako vektorová mapa
podpora 2D vektorových dat (starý formát) 2D/3D vektorová data
transformace mapové projekce
síťové analýzy vektorových dat
podpora DBMS
prostorový index
Obrázek 3.1: Porovnání verzí GRASSu 5.4 a 6.0
Následující popis se vztahuje na systém GNU/Linux, lze jej však podobně použít také na jiných
operačních systémech.
11
12 3.1. INSTALACE Z BINÁRNÍHO SOUBORU
3.1 Instalace z binárního souboru
GRASS verze 5.4 a 6.0 lze nalézt na oficiálních internetových stránkách projektu1 [4]. GDF
Hannover bR nabízí aktuální GNU/Linux distribuci GRASSu také jako balíček RPM.
3.1.1 GRASS 5.4 [stable]
Jak již bylo zmíněno, GRASS 5.4.0 je od 5.11.2004 oficiální stabilní verzí. Obsahuje v porovnání
s předchozí verzí 5.0 důležité rastrové funkční nástroje. Nové funkční nástroje pro vektorová
data však byly integrovány až ve verzi 6.0.
Binární soubor založený na oficiálním zdrojovém kódu GRASSu verze 5.4.0 byl předkompilován
pro různé platformy. Pro instalaci z toho vyplývá, že GRASS lze na počítač nainstalovat, aniž by
jej musel uživatel opět kompilovat. A to v případě, že je tedy binární soubor pro požadovaný
systém k dispozici a jsou na něm nainstalovány také důležité knihovny, se kterými GRASS
spolupracuje2.
Pro názornost si na tomto místě popíšeme instalaci z binární souboru. Pro systémy GNU/Linux
existuje momentálně binární soubor GRASSu 5.4.0. Kompilace na systému GNU/Linux se
řídila pevně definovanými kritérii a soubor by tak měl být instalovatelný na většině platforem
x86/Intel.
K tomu je potřeba program a příslušný skript stáhnout do zvoleného adresáře a následně jej
spustit s právy roota3:
$ su
Password:
$ sh grass5.4.0 i686-pc-linux-gnu install.sh \grass5.4.0 i686-pc-linux-gnu bin.tar.gz
Pokud máte nějaké individuální požadavky, překompilujte si raději aktuální zdrojový kód verze
5.4 sami. V některých případech je kompilace zdrojového kódu nutná, distribuce předkompilo-
vaného programu totiž neobsahuje všechna rozšíření (např. podporu externích databází).
Zdrojový kód GRASSu 5.4.0 a příslušný binární soubor je možné stáhnout přímo z domovské
stránky GRASSu [4].
1Pozn. překl.: Na tomto místě si dovolím upozornit uživatele systému Debian GNU/Linux na projekt Debian-
GIS, který obsahuje velké množství balíčků ve formátu deb právě z oblasti GIS, tedy včetně GRASSu 6.0. Navíc
je právě tato verze GRASSu součástí výše zmiňované distribuce (větev „testingÿ a „unstableÿ).2Pozn. překl.: Zároveň to také znamená, že GRASS může být zkompilován na míru daného systému.3Pozn. překl.: GRASS lze nainstalovat také bez práv uživatele root. Stačí jako cílovou cestu zadat adre-
sář, do kterého máte právo zapisovat, např. /home/uzivatel. Jedná se o nouzové, ale funkční řešení. Více
viz sh grass5.4.0 i686-pc-linux-gnu install --help.
3.2. KOMPILACE ZDROJOVÉHO KÓDU 13
3.1.2 GRASS 6.0 [testing]
Postup instalace je identický s verzí 5.4, pouze si ho rámcově připomeneme (viz kapitola 3.1.1).
Nejdříve musí být binární soubor a patřičný skript uložen do zvoleného adresáře a následně
spuštěn pod uživatelem root:
$ su
Password:
$ sh grass6.0.0beta2 i686-pc-linux-gnu install.sh
grass6.0.0beta2 i686-pc-linux-gnu bin.tar.gz
V případě komplikací je řešením stáhnout aktuální zdrojový kód verze 6.0.0 a zkompilovat
jej vlastními silami. Samotné kompilaci se v některých případech jednoduše nevyhnete, distri-
buovaný binární soubor totiž neobsahuje všechny funkční nástroje a moduly (např. podporu
externích databází).
Po úspěšné instalaci můžeme GRASS 6.0 spustit z konzole příkazem grass60.
3.2 Kompilace zdrojového kódu
Na tomto místě si popíšeme krátký postup kompilace a to pro případ, kdy je nezbytné zdrojový
kód GRASSu verze 5.4 a 6.0 překompilovat. Je třeba si uvědomit, že s kompilací programů je
potřeba mít určité zkušenosti a je vhodné prostudovat si návod k instalaci, tak aby vše proběhlo
bez problémů.
Nejprve zdrojový kód stáhneme a rozbalíme jej. Poté provedeme kompilaci a posléze instalaci,
která je se v Unixových systémech řídí tzv. „svatou trojicíÿ:
$ ./configure [...]
$ make
$ make install
Skript ./configure je třeba spustit s dodatečnými parametry (cesty ke knihovnám a progra-
mům). Ukážeme příklad, kdy zahrneme podporu pro GDAL a PostgreSQL:
$ ./configure --with-gdal=/usr/local/bin/gdal-config \--with-postgres-includes=’/usr/include/pgsql usr/include/pgsql/server’ \--with-postgres-libs=/usr/lib
$ make
$ make install
Výpis konfiguračních parametrů získáme příkazem ./configure --help.
Různé příklady konfigurace lze získat z internetové stránky GDF Hannover bR [1] z adresy
14 3.3. INSTALACE Z CVS
http://gdf-hannover.de/gis.php?id=2 nebo z domovské stránky GRASSu [4].
3.3 Instalace z CVS
Poslední varianta, o které se krátce zmíníme, spočívá ve stažení zdrojového kódu GRASSu 5.4
resp. 6.0 jako „CVS-Snapshotÿ z domovské stránky GRASSu [4] nebo přímo ze systému CVS.
Nejdříve musíme nastavit proměnou prostředí CVSROOT. Následně se přihlásíme k serveru CVS
a po zadání hesla stáhneme zdrojový kód a zkompilujeme postupem z kapitoly 3.2.
Následující příklad platí pro interpret BASH:
$ export CVSROOT=:pserver:grass-guest@invation.de:\/home/grass/grassrepository
$ cvs login
Password: grass
Samotný zdrojový kód stáhneme následující posloupností příkazů:
$ cvs -z3 co grass pro GRASS 5.4 CVS
$ cvs -z3 co grass51 pro GRASS 6.0 CVS (z historických důvodů GRASS 5.1)
A nakonec tento zdrojový kód zkompilujeme (viz kapitola 3.2).
$ ./configure [...]
$ make
$ make install
Aktualizaci zdrojového kódu lze v rámci adresáře grass příp. grass51 provést příkazy:
$ make distclean vyčištění zdrojového kódu od již kompilovaných částí
$ cvs up -dP aktualizace zdrojového kódu ze systému CVS
4 Databanka GRASSu
V databance GRASSu jsou spravována souřadnicově připojená prostorová data. Proto je třeba
na začátku práce definovat souřadnicový systém (např. Gauß-Krüger, UTM, atd.) zájmového
území tzv. location. Před vlastním spuštěním GRASSu je potřeba si položit několik základních
otázek. To je ostatně potřeba při práci v jakémkoli GISu. Se strukturou a organizací databanky
stojí a padá pozdější práce.
Velikost zájmového území projektu: všechna data importovaná během pozdější práce musí
zapadnout do zájmového území location. Mimo jiné je důležité zamyslet se nad použi-
tým kartografickým zobrazením. Mapová projekce je často dána vstupními daty (ta by
měla obsahovat informaci o použitém kartografickém zobrazení, elipsoidu a geodetickém
datumu).
Rozlišení rastrových dat: obecně lze říci, že se zvyšujícím se rozlišením stoupá exponen-
ciálně potřebný výpočetní čas počítače a požadavky na paměť. Pokud je na druhou
stranu rozlišení příliš nízké, dostaneme jen těžko uspokojivé výsledky. Smysl má zvolit
výchozí („defaultÿ) rozlišení takové, které odpovídá základním datovým zdrojům. Roz-
lišení rastrových map lze v podstatě kdykoliv změnit nastavením regionu. Při importu
zůstává mapa v originálním rozlišení.
Poté, co jsou tyto základní otázky objasněny, můžete založit adresář (např. grassdata), ve kte-
rém se bude nacházet databanka GRASSu.
4.1 Spuštění GRASSu
Pokud se startovací skript GRASSu 6.0 nachází v cestě systémové proměnné ($PATH), může
být GRASS spuštěn příkazem grass60 v okně příkazového interpretu („X-terminalÿ). Více je
k tomuto tématu uvedeno v kapitole 3.
Následně se objeví uvítací obrazovka, ve které je nutno vyplnit několik údajů. Parametrem
-text a -gui lze zvolit textovou či grafickou podobu uvítací obrazovky (viz obrázky 4.1 a 4.2).
$ grass60 -text textová uvítací obrazovka
15
16 4.1. SPUŠTĚNÍ GRASSU
$ grass60 -gui grafická uvítací obrazovka
Obrázek 4.1: Grafická Tcl/Tk uvítací obrazovka GRASSu
Na tomto místě můžete zvolit již existující location a mapset nebo založit nové.
Obrázek 4.2: Textová uvítací obrazovka GRASSu pro definici nové location
4.1. SPUŠTĚNÍ GRASSU 17
Pokud chcete založit nový mapset v již existující location, vyberete požadovanou location
a zadáte jméno nového mapsetu do pole Create New mapset a poté kliknete na tlačítko Create. . .
(viz obrázek 4.1).
Vytvořit novou location můžeme třemi způsoby. Údaje potřebné pro založení location mohou
být zadány manuálně (1) či pomocí kódu EPSG (viz http://www.epsg.org), kde jsou zahr-
nuty nejrozšířenější mapové projekce a souřadnicové systémy. Tento kód můžete nalézt v menu
(obr. 4.3) případně může být součástí metadat (2). Při poslední variantě je location založena
automaticky na základě importovaných dat (moduly r.in.gdal a v.in.ogr) (3).
1. Pokud budete zadávat definiční údaje (např. mapovou projekci) ručně, klikněte na tlačítko
Create New Location. GRASS se přepne zpět do textového režimu (obr. 4.2). Samotné
zadání údajů je popsáno v kapitole 4.5.1.
2. Kód EPSG lze použít pro automatické založení nové location. Klikněte myší na tlačítko
Create Location from EPSG a zadejte odpovídající kód (obr. 4.3). Pomocí EPSG Codes lze
vypsat dostupné kódy včetně jejich definice1.
Obrázek 4.3: Okno pro výběr kódu EPSG
3. Data již mohou potřebné údaje obsahovat v podobě příslušných metadat. V tomto pří-
padě je možné vytvořit novou location přímo z aktuální lokace a použít k tomu právě
metainformace dat.
Příkladem mohou být data ve formátu SHAPEFILE, pokud disponují souborem obsahu-
jícím metainformace (.prj) (což nebývá příliš často), nebo formát GeoTIFF.
Příklad: Obsah souboru ve formátu SHAPEFILE (.prj)
PROJCS["Transverse Mercator",GEOGCS["bessel",
DATUM["Deutsches_Hauptdreiecksnetz",
SPHEROID["bessel",6377397.155,299.1528128],
TOWGS84[590.5,69.5,411.6,-0.796,-0.052,-3.601,8.30]],
PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]],
1Pozn. překl.: Souřadnicový systém S-JTSK (Křovákovo zobrazení) má kód 2065. Daný kód lze zjistit přímo
v souboru /usr/local/share/proj/epsg příkazem: cat ‘locate proj/epsg‘ | grep krov.
18 4.2. MAPOVÁ PROJEKCE
PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],
PARAMETER["central_meridian",9],PARAMETER["scale_factor",1],
PARAMETER["false_easting",3500000],PARAMETER["false_northing",0],
UNIT["meter",1]]
Příklad: Metainformace jako součást rastrové mapy (GeoTIFF)
Driver: GTiff/GeoTIFF
Size is 3570, 3753
Coordinate System is:
PROJCS["Transverse Mercator",
GEOGCS["Deutsches_Hauptdreiecksnetz",
DATUM["Deutsches_Hauptdreiecksnetz",
SPHEROID["bessel",6377397.155,299.1528128000033],
TOWGS84[590.5,69.5,411.6,-0.796,-0.052,-3.601,8.3]],
PRIMEM["Greenwich",0],
UNIT["degree",0.0174532925199433]],
PROJECTION["Transverse_Mercator"],
PARAMETER["latitude_of_origin",0],
PARAMETER["central_meridian",9],
PARAMETER["scale_factor",1],
PARAMETER["false_easting",3500000],
PARAMETER["false_northing",0],
UNIT["meters",1]]
Origin = (3368561.280000,5928333.120000)
Pixel Size = (0.32000000,-0.32000000)
Corner Coordinates:
Upper Left ( 3368561.280, 5928333.120) ( 7d 1’12.86"E, 53d28’18.24"N)
Lower Left ( 3368561.280, 5927132.160) ( 7d 1’14.67"E, 53d27’39.41"N)
Upper Right ( 3369703.680, 5928333.120) ( 7d 2’14.77"E, 53d28’19.26"N)
Lower Right ( 3369703.680, 5927132.160) ( 7d 2’16.56"E, 53d27’40.43"N)
Center ( 3369132.480, 5927732.640) ( 7d 1’44.71"E, 53d27’59.33"N)
Je důležité tyto informace zkontrolovat a zajistit, aby byly pokud možno kompaktní.
Položky jako geodetické datum (DATUM) či referenční elipsoid (SPHEROID) mohou vést
k chybnému souřadnicovému připojení dat.
4.2 Mapová projekce
Než založíme location (definujeme tak zájmové území projektu), musíme uvážit, jakou použi-
jeme mapovou projekci a nastavit její parametry. Této problematiky se dotkneme v následujícím
textu.
4.2. MAPOVÁ PROJEKCE 19
Obrázek 4.4: Zobrazení zemského tělesa do roviny mapy podle [NM04]
4.2.1 Geoid
Geoid představuje snahu matematicky popsat tvar zemského tělesa. Jedná se tak o komplexní
fyzikální model popisující gravitační pole Země2 jehož matematické vyjádření je značně složité.
Geiod je ve značně zjednodušené formě znázorněn na obrázku 4.4. Pro potřeby praktické geo-
dézie, mapování, kartografie i celé geoinformatiky je proto nahrazován referenčním elipsoidem,
referenční koulí nebo i referenční rovinou.
4.2.2 Referenční elipsoid
Zjednodušený model Země jako referenční koule je pro mapy malých měřítek (1:2 mil.) příliš
nepřesný3. Komplexní tvar zemského tělesa se snaží exaktně – matematicky pokud možno co
nejpřesněji popsat právě rotační elipsoid. Elipsoid je zploštělý – vzdálenost mezi póly je menší
než průměr v oblasti rovníku (viz obr. 4.4).
Existuje celá řada referenčních elipsoidů, které jsou navrženy tak aby v maximální míře nahra-
zovaly geoid v zájmové části Země nebo aby nahrazovaly celý geoid4. Obecně lze konstatovat,
že elipsoid jako matematická abstrakce zemského tělesa pro potřeby GIS postačuje.
4.2.3 Geodetické datum
Geodetické datum určuje model zemského tělesa (koule, elipsoid, geoid) jeho tvarem, velikostí,
umístěním a orientací vůči zemskému tělesu. K určení datumu bylo třeba znát v minulosti jeden
(v současnosti více) základních bodů, kde byly astronomickými, geofyzikální i terestrickými
metodami měřeny údaje potřebné k určení parametrů datumu. V čase se geodetické datum
mění!
2Pozn. překl.: Geoid je definován jako plocha, na které všechny body mají stejný geopotenciál a která nejlépe
odpovídá nerušené střední hladině světových moří, protažené i pod kontinenty. Tato plocha je ve všech bodech
kolmá na směr tíže.3Pozn. překl.: Rovinu jako referenční plochu lze použít pouze pro malá území s nízkou požadovanou přesností.4Pozn. překl.: Rozlišujeme tak elipsoidy lokální (referenční) a globální (zemské).
20 4.2. MAPOVÁ PROJEKCE
Tabulka 4.1: Parametry (zaokrouhlené) vybraných mezinárodně používaných referenčních elip-
soidů a příklady regionu podle [NM04].
elipsoid hlavní poloosa (a) vedlejší poloosa (b) lokace
Bessel 1841 6377397 6356079 Německo, Chile, Nizozemí, Švéd-
sko, . . .
Clarke 1880 6378249 6356515 Afrika, Francie
Hayford 1909 6378388 6356912 Belgie, Finsko, Itálie, Španělsko,
. . .
WGS 1984 6378137 6356752 Sev. Amerika, světově
Několik příkladů globálních a regionálních datumů je uvedeno v tabulce 4.2. Verze GRASSu 5.4
a 6.0 transformaci geodetického datumu podporují (viz obr. 3.1).
Tabulka 4.2: Vybrané geodetické datumy s obecným údajem o jejich použití
datum oblast výchozí bod elipsoid
WGS 84 globální střed Země WGS 84
NAD 1983 Sev. Amerika, Karibik střed Země GRS 80
European 1950 Evropa, Sev. Afrika Potsdam mezinárodní
4.2.4 Typy kartografických zobrazení
Kartografické zobrazení slouží k přenosu trojrozměrné (3D) informace ze zemského tělesa
na dvourozměrnou (2D) rovinu mapy. V závislosti na regionu existují různá zobrazení (obr. 4.5),
snažící se o co nejmenší možné zkreslení.
Válcové (cylindrické) zobrazení: Toto zobrazení je poměrně triviální. Plocha zobrazení je
„obtočenaÿ okolo referenční plochy v oblasti rovníku. Rovnoběžky a poledníky jsou pak
na tuto rovinu promítnuty tak, že vzniká pravoúhlá síť. Toto zobrazení je používáno
především v rovníkových oblastech.
Kuželové (kónické) zobrazení: Pokud bychom vzali kužel a „nasadiliÿ jej na zemské těleso,
dostaneme kuželové zobrazení. V nejjednodušším a také nejčastěji používaném případě
špičku kužele protíná zemská osa. Poledníky směřují k pólu pod stejným úhlem a rovno-
běžky tvoří koncentrické kružnice se středem v místě dotyku kuželu se zemským tělesem.
Kužel se referenční plochy dotýká v jednom nebo dvou místech – standardních rovnoběž-
kách. Toto zobrazení je používáno především v oblastech se středními zem. šířkami.
4.2. MAPOVÁ PROJEKCE 21
�������������������������������������������������������
�������������������������������������������������������
����������������������������������������������������������������������������������������������������
����������������������������������������������������������������������������������������������������
��������������������������������������������������������������������������������
��������������������������������������������������������������������������������
kuželovévalcové azimutální
Obrázek 4.5: Různá kartografická zobrazení (válcové, kuželové, azimutální)
Azimutální zobrazení: Rovina mapy je tečnou rovinou referenční plochy. Toto zobrazení si
lze představit asi tak, jako bychom globus „prosvítiliÿ z nekonečně vzdáleného bodu.
Poledníky a rovnoběžky by tak na mapě vytvořily odpovídající obraz.
Základní typy zobrazení zde představené existují v různých modifikacích – v poloze normální
(0◦ k zemské ose), obecné (šikmé) (45◦ k ose) a nebo příčné (transversální, rovníkové) (90◦
k ose).
4.2.5 Výběr typu kartografického zobrazení
Výběr kartografického zobrazení je dán jeho požadovanými vlastnostmi. Kartografické zobra-
zení je vždy ovlivněno jistým stupněm zkreslení jednoho nebo více prvků. Proto se musíme
rozhodnout, které vlastnosti jsou pro náš účel primární.
Úhlová věrnost (konformní, stejnoúhlá zobrazení): Délkové zkreslení není nijak závislé
na směru uvažovaného délkové elementu a je tedy tedy konstantní. Poledníky a rovno-
běžky se kříží v pravém úhlu. Jelikož je měřítko ve všech místech stejné, zůstává zachován
tvar ploch. Kromě toho nedochází ke zkreslení úhlů mezi liniemi. Toto zobrazení se pou-
žívá převážně v navigaci a zeměměřičství.
Plošná věrnost (ekvivalentní, stejnoplochá zobrazení): Nedochází ke zkreslení ploch, zato
zkreslení úhlová jsou značná. Poledníky a rovnoběžky se neprotínají v pravém úhlu, což
ale u malých ploch tolik nevadí. Toto zobrazení bývá používáno pro mapy využití půdy,
zalidnění a dalších faktorů závislých na ploše.
Délková věrnost (ekvidistantní, stejnodélná zobrazení): V tomto případě zůstává za-
chována vzdálenost mezi body na mapě, nedochází tak ke zkreslení délky elementů. Bývá
využíváno např. pro mapy silničních sítí.
22 4.3. PŘÍKLADY KARTOGRAFICKÝCH ZOBRAZENÍ
4.3 Příklady kartografických zobrazení
V tabulkách 4.3, 4.4 a 4.5 jsou uvedeny příklady typů jednotlivých kartografických zobrazení
a jejich hlavní znaky. Další informace lze najít např. v [HG94] a [Kam86].
4.3.1 Azimutální zobrazení
Tabulka 4.3: Příklady azimutálních kartografických zobrazenítyp gnomické stereografické ortografické
střed promí-
tání
střed Země na povrchu Země v nekonečnu, paprsky jsou
paralelní
vlastnosti není ani ekvidistatní ani
konformní, kružnice se
zobrazuje jako přímka,
konstrukce geografické
sítě závisí na poloze
jde o konformní zobra-
zení, poledníky a rovno-
běžky tvoří ortogonální
síť
není ekvivalentní ani kon-
formní, zkreslení v rovno-
běžkách je rovno jedné
použití námořní, lesnické mapy oblasti s kruhovým tva-
rem
při zobrazení z vesmíru
4.3.2 Kuželová zobrazení
Tabulka 4.4: Příklady kuželových kartografických zobrazenítyp Lambert Conformal Conic Albers Equal-Area Conic
vlastnosti konformní ekvivalentní
použití pro mapy velkých a středních měří-
tek středních zem. šířek
rovnoběžky jsou v okolí pólů blíže k sobě,
než na rovníku. Používá se často v USA.
4.4. SOUŘADNICOVÉ SYSTÉMY 23
4.3.3 Válcová zobrazení
Tabulka 4.5: Příklady válcových kartografických zobrazenítyp Merkatorovo transverzální Merkatorovo
zobrazení normální poloha transverzální poloha
vlastnosti konformní, odstupy rovnoběžek se
od rovníku zvětšují
konformní
použití při navigaci a zobrazení blízko rov-
níku
doporučeno pro oblasti s protáhlým severo-
jižním tvarem (základ pro Gauß-Krüger
a UTM)
4.4 Souřadnicové systémy
Poté, co jsou objekty na referenční ploše zobrazeny do roviny zobrazení, je nutné ještě defino-
ván souřadnicový systém, tak aby bylo možné přesně určit pozici bodů na mapě. Rozlišujeme
globální, 2D a 3D souřadnicové systémy.
4.4.1 Globální souřadnicové systémy
Longitude-Latitude: Nejčastěji používaný globální systém je definován zem. šířkou a dél-
kou, příp. nadmořskou výškou. Referenčními hladinami jsou nultý poledník a rovník. Země je
rozdělena na 180◦ od Greenwiche na východ a na západ do délkových stupňů a od rovníku na
90◦ severní a jižní šířky. Výška je měřena od středu Země, který je ovšem definován několika růz-
nými způsoby. Jednotky systému mohou být udávány v sexadecimálním (stupně:minuty:vteřiny,
písmena k určení kvadrantu) nebo decimálním (kladné/záporné stupeň s plovoucí desetinnou
čárkou) systému.
4.4.2 Dvou a tří dimenzionální souřadnicové systémy
Pro přesné numerické určené pozice bodů se v rovině zobrazení definuje kartézský souřadni-
cový systém. Většinou je osa y orientována k východu a osy x na sever. Počátek systému je
pro každý systém jiný, pro vizualizaci v GRASS monitoru je umístěn ve spodním levém rohu
okna. Na rozdíl od geografických a geocentrických souřadnic, jsou tyto systémy požívány pouze
pro definovanou oblast (např. rovníkový pás). Ve světe je využívána celá řada souřadnicových
systémů. Jsou definovány rozdílným počátkem, jednotkami, referenčním elipsoidem a kartogra-
fickým zobrazením. Vzájemnou transformaci mezi nimi je nutno exaktně matematicky popsat.
GRASS disponuje pro tyto účely moduly r.proj a v.proj. Krátce se zmíníme o příkladu
v Německu používaných souřadnicových systémů Gauß-Krüger a UTM.
24 4.5. ZALOŽENÍ LOCATION V GRASSU
Souřadnicový systém Gauß-Krüger
Tento souřadnicový systém byl poprvé použit v Německu roku 1927. Referenčním elipsoidem je
Besselův elipsoid, kartografické zobrazení transverzální Merkatorovo zobrazení. Území Německa
bylo rozděleno hlavními poledníky 6◦, 9◦, 12◦ a 15◦ (oddělené osy). Délkové zkreslení tak
dosahuje pouhých 12 cm na jeden kilometr a to na okrajích pásů. Šířka těchto pásů odpovídá
v obou směrech od hlavního poledníku cca. 100 km, čímž dochází k překryvu jednotlivých pásů
asi 23 km. Hodnoty zem. šířky se odečítají na poledníku jako vzdálenost od rovníku. Aby se
zamezilo vzniku záporných hodnot, přičítá se k hlavnímu poledníku vždy hodnota 500 000m.
Pro hodnotu zem. délky je tedy souřadnice rovna 500 000 minus (západní) nebo plus (východní
směr) vzdálenost od poledníku (v metrech). Před tuto hodnotu je ještě přidáno číslo stupně
poledníku, dělené třemi.
Tak například Lüneburg leží v systému 9. poledníku o souřadnicích 3593000, 5902000 a v sys-
tému 12. poledníku na 4392753, 5902298.
Souřadnicový systém UTM
Souřadnicový systém UTM (Universal Transversal Mercator) je často používán v kombinaci
s referenčním elipsoidem WGS84. Oblast mezi 84◦ severní a 80◦ jižní šířky je rozdělena na 60
poledníkových pásů, širokých vždy 6◦. Z důvodu minimalizace délkového zkreslení na okrajích
pásů je použit válec, který referenční plochu protíná ve dvou místech.
Střední (hlavní) poledník má délkové zkreslení 0.9996. Zem. šířka je podobně jako v případě
systému Gauß-Krüger odečítána od rovníku v kilometrech, na jižní polokouli je nutné přičíst
10 000 km, tak aby se předešlo vzniku záporných hodnot. Hodnota na ose x je dána vzdáleností
od středního poledníku, a stejně jako v případě souř. systému Gauß-Krüger je přičtena kon-
stanta 500 km. Souřadnice jsou označovány jako východní E (East) a severní N (North). Střední
poledníky jsou 3◦, 9◦, 15◦ atd. Tento systém je používán pro armádní mapy USA a NATO.
Díky mezinárodnímu rozšíření tohoto souřadnicového systému existují snahy zavést jej také
v Německu příp. Evropě.
4.5 Založení location v GRASSu
Po tomto letmém výletu do světa kartografie bychom měli získat základ pro práci s geografickým
informačním systémem a můžeme se tak pustit do definice různých oblastí projektu (locations)
v GRASSu (viz kapitola 4.1).
Pro založení location potřebujeme znát následující parametry:
• souřadnicový systém (matematický systém xy nebo mapová projekce, referenční elip-
soid a geodetické datum)
4.5. ZALOŽENÍ LOCATION V GRASSU 25
• zájmová oblast (minimální a maximální hraniční souřadnice území projektu)
• rozlišení rastrových dat (výchozí rozlišení rastrových map)
4.5.1 Příklady pro založení nové location
Po startu GRASSu (kapitola 4.1) založíme novou location kliknutím na tlačítko Create New Lo-
cation. Poté bude vyvoláno textové rozhraní (obr. 4.2). Toto prostředí lze přímo při startu
GRASSu vyvolat příkazem grass60 -text. Po každém startu se uloží aktivní mód, ve kte-
rém byl GRASS spuštěn. Pokud si tedy přejete vyvolat opět grafické rozhraní, spusťte GRASS
napříště příkazem grass60 -gui.
Pro vytvoření nové location musíte v okně vyplnit následující údaje:
Location: Zde zadejte jméno této nové location (např. Hannover).
Mapset: Zadejte jméno nového pracovního území (mapsetu), nacházejícího se v rámci území
location (např. Kronsberg).
Database: Nakonec doplňte cestu k adresáři grassdata, založeném předtím příkazem
mkdir grassdata. Na tomto místě se tedy bude nacházet databanka GRASSu, kde budou
posléze skladována všechna data (např. /home/martin/grassdata).
Zapamatujte si: Mapset PERMANENT, ve kterém jsou uloženy základní informace o zá-
jmovém území projektu vytvoří GRASS automaticky (viz kapitola 4).
Následně pokračujeme pro GRASS typickou kombinací kláves Esc – Enter . Nyní nás čeká
zadání dalších potřebných údajů. V kapitole 4.5.2 si ukážeme vše potřebné na příkladu location
se systémem Gauß-Krüger. Postup je u jiných souřadnicových systémů podobný.
Poznámka: Rozsah území (výřezu) lze kdykoliv pomocí modulu g.region -d nastavit na vý-
chozí hodnotu. Aktuální hodnotu lze vytisknout příkazem g.region -p.
4.5.2 Založení location se souřadnicovým systémem Gauß-Krüger
Souřadnicový systém Gauß-Krüger používá transverzální Merkatorovo zobrazení, při kterém je
zobrazovací plocha (válec) umístěna v transverzální poloze – tedy pootočena o 90◦ vůči zemské
ose, a je otáčena okolo Besselova elipsoidu. Délkové zkreslení dosahuje maximálních hodnot
na krajích pásů (12 cm/km na délku 2◦). To v podstatě znamená, že se topografické mapy
na okrajích pásů nekryjí.
První otázka směřuje na mapovou projekci. Systém Gauß-Krüger není uveden přímo v nabíze-
ném seznamu, musí se tedy zadat volba other. Následující kroky jsou:
26 4.5. ZALOŽENÍ LOCATION V GRASSU
Pro souřadnicový systém Gauß-Krüger zadáme:
- coordinate system for location: other (D)
Následuje krátký popis nové location:
- one line description for location: např. Hannover
A další údaje o mapové projekci:
- specify projection name: tmerc (Transverse Mercator)
- specify ellipsoid name: bessel (Bessel Ellipsoid)
- Do you want to specify a map datum for this location? potsdam
- Enter Central Parallel [lat 0] (23N): 0N (Vztažná rovnoběžka)
- Enter Central Meridian [lon] (96W): 9E (Vztažný poledník)
- Enter Scale Factor at the Central Meridian: 1
- Enter False Easting: 3500000 (3 protože 9E je centrální poledník)
- Enter plural form of units: meters (jednotky jsou metry)
Během jednotlivých otázek lze definované hodnoty vypsat pomocí příkazu list.
Poté, co jsou zadány základní parametry použité mapové projekce, musí se definovat i okrajové
souřadnice zájmové oblasti projektu se zadanou přesností. Při větší přesnosti musí být desetinná
čísla oddělena tečkou (obr. 4.6).
V tom samém formuláři zadáme rozlišení (velikost rastrové buňky v mapových jednotkách)
ve směru východ-západ a sever-jih. Jedná se o standardní rozlišení (default) založené location.
Na vektorová a bodová data nemá tento údaj žádný vliv. Tuto hodnotu je možné kdykoliv
změnit. Nesmíme zapomenout na to, že velké rozlišení zvyšuje (exponenciálně) nároky na paměť
a výpočetní čas procesoru.
Po zadání všech potřebných údajů stiskneme kombinaci kláves Esc – Enter . Ocitneme se opět
v uvítací obrazovce. Jelikož bylo spolu s location zadáno i jméno nového mapsetu, musíme
jeho vytvoření potvrdit. Uvítací obrazovku tedy opustíme dalším Esc – Enter a vytvoření
nového mapsetu potvrdíme zadáním yes. Tím jsme založili území projektu a spustili GRASS.
To poznáme mimo jiné podle příkazového řádku GRASSu („GRASS promptÿ). Zadané údaje
lze pro kontrolu vypsat příkazem g.region -p.
Ukázkový výpis pro systém Gauß-Krüger by mohl vypadat např. takto:
projection: 99 (Transverse Mercator)
zone: 0
datum: potsdam
ellipsoid: bessel
north: 5801000
south: 5787000
4.5. ZALOŽENÍ LOCATION V GRASSU 27
Obrázek 4.6: Zadání hraničních souřadnic a rozlišení rastrových dat projektu
west: 3427000
east: 3445000
nsres: 2.5
ewres: 2.5
rows: 5600
cols: 7200
4.5.3 Založení location se souřadnicovým systémem XY
Vytvoření tzv. location xy, která bývá často potřebná jako mezikrok při souřadnicovém při-
pojení nereferencovaných naskenovaných map, je o poznání jednodušší. Nezadáváme zde totiž
žádné parametry mapové projekce. Po zadaní volby A při otázce na souřadnicový systém
- coordinate system for location: x,y (A)
pokračujeme rovnou do formuláře pro zadání okrajových souřadnic (columns nebo width, rows
nebo height) zájmové oblasti projektu. Okrajové souřadnice jsou určeny velikostí nereferenco-
vané mapy v pixelech. Tuto velikost lze mimo jiné zjistit např. pomocí programu xv (v menu
Windows→Image Info)5. Za předpokladu, že počátek má nulové souřadnice, stačí zadat pouzevýšku a šířku obrázku v pixelech. Výchozí rozlišení rastrových dat musí být logicky 1.
5Pozn. překl.: Textově lze informace o obrázku zjistit např. pomocí ImageMagicku: identify obrazek.png
28 4.5. ZALOŽENÍ LOCATION V GRASSU
V souvislosti s importem naskenovaných map určených k souřadnicovému připojení se o tomto
tématu zmíníme ještě v kapitole 6.
Příkladový region (g.region -p) by mohl vypadat např. takto:
projection: 0 (x,y)
zone: 0
north: 8000
south: 0
west: 0
east: 8000
nsres: 1
ewres: 1
rows: 8000
cols: 8000
4.5.4 Založení location s UTM
Založení location UTM (Universal Transverse Mercator) je podobné založení location Gauß-
Krüger (kromě menšího válce). Jak již bylo zmíněno zobrazovací rovinou není tečnový válec
na Besselově elipsoidu, ale sečný válec na elipsoidu WGS84. Rozdílené údaje oproti systému
Gauß-Krüger:
- coordinate system for location: UTM (C)
- specify ellipsoid name: z.B.: wgs84 (world geodetic system 1984)
- do you want to specify a map datum for this location? např: wgs84
- Enter Zone 32 (UTM zóna pro západní Německo)
- Is this South Hemisphere? n (severní nebo jižní polokoule)
Následně se definují hraniční souřadnice zájmové oblasti projektu. Hodnoty jsou v mapových
jednotkách (např. v metrech), což znamená sedmimístné číslo pro severní a šestimístné číslo
pro východní souřadnici.
Příklad (g.region -p) může vypadat např. takto:
projection: 1 (UTM)
zone: 32
datum: potsdam
ellipsoid: wgs84
north: 6100000
south: 5880000
4.6. MAZÁNÍ MAP 29
west: 500000
east: 630000
nsres: 12.5
ewres: 12.5
rows: 17600
cols: 10400
4.5.5 Založení location se systémem Latitude-Longitude
Souřadnice location Latitude-Longitude jsou v šedesátinných stupních (0–90◦ severní příp. jižní
šířky, 0–180◦ východní příp. západní délky), vyjádřené sexadecimálně (stupně:minuty:vteřiny,
písmenko kvadrantu) nebo decimálně (kladné/záporné stupeň jako reálné číslo). Vstup okra-
jových souřadnic a rozlišení lze uvést jak v decimálním tak sexadecimálním tvaru.
- coordinate system for location: latitude - longitude (B)
Příkladový region (g.region -p) by mohl vypadat např. takto:
projection: 3 (Latitude-Longitude)
zone: 0
datum: unknown (default: WGS84)
ellipsoid: unknown (default: WGS84)
north: 90N
south: 90S
west: 180W
east: 180E
nsres: 0:04:48
ewres: 0:04:48
rows: 2250
cols: 4500
4.6 Mazání map
Abychom nepoškodili interní strukturu databanky GRASSu, musíme při mazání map z mapsetu
vždy použít příkaz g.remove! Pokud nevíte co děláte, nikdy nemažte soubory ručně, tedy
mimo GRASS UNIXovými příkazy nebo v grafickém rozhraní. Pokud chcete smazat více map
najednou, použijte příkaz g.mrenove.
30 4.6. MAZÁNÍ MAP
Jedinou výjimkou je vymazání kompletního mapsetu nebo location. Nejdříve opusťte GRASS
příkazem exit a následně příkazem rm -r nebo pomocí správce souborů (např. Konquerorem6)
smažte požadovaný mapset nebo location.
Upozornění: Při tomto postupu budou všechna data (mapy, soubory) v adresáři (location,
mapsetu) smazána7!
Např. příkaz rm -rf ~/grassdata/Hannover odstraní celou location Hannover se všemi obsa-
ženými mapsety nevratně a bez dalších otázek.
6Pozn. překl.: Či lépe Midnight Commander – mc.7Pozn. překl.: UNIXové systémy neví, co je koš a není cesty zpět.
5 Import dat
Dříve než se dotkneme problematiky importu dat, je nutno ještě jednou poukázat na model
datové struktury GRASSu, který je blíže popsán v kapitole 4.
Interoperabilita je důležitým předpokladem pro práci v GISu, například pro import nezpra-
covaných dat nebo dat ve výměnných formátech ostatních produktů. GRASS poskytuje velký
počet modulů určených pro import vektorových, rastrových a bodových dat. Syntaxi daného
příkazu lze zjistit pomocí parametru --help nebo pomocí modulu g.manual.
GRASS:~ > v.in.ogr -help
GRASS:~ > g.manual v.in.ogr &
GRASS:~ > r.in.gdal -help
5.1 Import rastrových dat
GIS GRASS podporuje řadu rastrových formátů. Všeobecně lze rozlišit tři typy formátů.
obrazové formáty: Dobře známé obrazové formáty jako PPM, PNG, JPEG, GIF. Pixely
mohou nést pouze kladné, celočíselné hodnoty.
formát ASCII: Rastrová data ve formátu ASCII mohou obsahovat jak kladné tak záporné
hodnoty, celočíselné hodnoty i hodnoty s plovoucí desetinnou čárkou. Příkladem tohoto
formátu je ASCII-GRID.
binární formát: V binárním rastrovém formátu mohou jednotlivé pixely obsahovat kladné
i záporné hodnoty, hodnoty celočíselné i hodnoty s plovoucí desetinnou čárkou. Mimo to
mohou nést různé kanály s rozdílným rozlišením. Příkladem pro tento formát je GeoTIFF
nebo ERDAS/IMG.
Na tomto místě je třeba poukázat na vlastnost GRASSu při práci s rastrovými daty: Rastrové
mapy jsou vždy importovány v originálním rozlišení a s původními okrajovými souřadnicemi.
Exportovány jsou naopak v aktuálně nastaveném rozlišení a aktivním výřezu (viz kapitola 7.1).
Při importu souřadnicově nepřipojených dat je avšak třeba rozlišovat dva případy.
31
32 5.1. IMPORT RASTROVÝCH DAT
1. Location je definována s daným rozlišením a mapa musí do ní „zapadnoutÿ. Potom se
rozlišení při skenování řídí právě podle tohoto požadovaného rozlišení (GRID RESOLU-
TION).
2. Parametry location – zejména rozlišení – se mají řídit podle importované mapy. Potom
by měla být tato location vytvořena tak, aby mapa bez problému do tohoto prostoru
zapadla.
V tabulce 5.1 je uvedena řada modulů, které jsou určeny pro import rastrových dat rozdílných
formátů. Vedle formátů ostatních GISů zde naleznete i speciální formáty z oblasti dálkového
průzkumu Země.
Tabulka 5.1: Moduly GRASSu pro import rastrových datmodul rastrový formát
r.in.ascii GRASS ASCII
r.in.bin BIL, GMT binary files, LANDSAT TM5
r.in.gdal ARC/INFO ASCII/Binary GRID, BIL, ERDAS (LAN, IMG), USGS DOQ,
JPEG, SAR CEOS, EOSAT, GeoTIFF, PPM/PNM, SDTS DEM, GIF, PNG
(viz http://www.gdal.org/formats_list.html)
Import dat ve formátu GeoTIFF
Nejčastěji používaný importní modul GRASSu se jmenuje r.in.gdal. Jak je uvedeno v tabulce,
tento modul podporuje velké množství různých formátů a to jak pro režim čtení tak zápisu
(r.out.gdal). Jako příklad na tomto místě uvedeme import jedné již referencované mapy
ve formátu ERDAS Imagine. Analogicky k vektorovým datům města Osnabrück je k dispozici
na interních stránkách GDF Hannover bR ASTERDEM v rozlišení 30m
(viz http://www.gdf-hannover.de/gis.php?id=2).
GRASS:~ > r.in.gdal in=asterdem30m.img out=asterdem30m
Projection of input dataset and current location appear to match.
Proceeding with import...
100%
CREATING SUPPORT FILES FOR asterdem30m
COPYING COLOR TABLE FOR asterdem30m
Přepínač -e má za následek eventuální rozšíření výchozího regionu location na základě vstup-
ních dat.
# přizpůsobení aktuálního regionu podle vstupní mapy
GRASS:~ > g.region rast=asterdem30m -p
5.2. IMPORT VEKTOROVÝCH DAT 33
Výsledek importu lze vizualizovat např. pomocí d.m (Display Manager) nebo jednoduše pomocí
příkazu d.rast. Předtím musíte otevřít pomocí d.mon x0 příslušný GRASS monitor.
# start Display Manageru
GRASS:~ > d.m&
# vizualizace mapy přes příkazový interpret
GRASS:~ > d.mon x0
GRASS:~ > d.rast asterdem30m
5.2 Import vektorových dat
V aktuální verzi GRASSu 6.0 byla kompletně přepracována vektorová knihovna. Tento krok
byl v podstatě nutný, GRASS ve verzi 5.4 byl totiž velmi silně zaměřen pouze na analýzu
rastrových a bodových dat. V rámci této příručky se tak zaměříme především na nové funkční
nástroje GRASSu verze 6.0 určených pro zpracovaní právě vektorových dat. Změny ve struktuře
vektorového formátu jsou blíže popsány v kapitole 10.
Při importu vektorových dat narazíte na velké množství rozličných formátů různých standardů.
Struktura vektorových dat je navíc v porovnaní s rastrovými formáty komplexnější. Výměna se
tak ukazuje často jako komplikovaná. Nejrozšířenějším formátem je ESRI ShapeFile. Seznam
všech GRASSem podporovaných formátů naleznete v tabulce 5.2.
Po importu vektorových dat vznikne v normálním případě mapa v nativním binárním vektoro-
vém formátu GRASSu. To znamená, že geometrie, topologie a všechny charakteristické znaky
jsou uloženy v interní databance GRASSu. Pro každou mapu se tedy vytváří během importu
její topologie. Aktuální informace o topologii dat lze vypsat pomocí příkazu v.info. Další
informace na toto téma jsou uvedeny v kapitole 10.
Tabulka 5.2: Moduly GRASSu pro import vektorových datmodul vektorový formát
v.in.ogr SHAPE file, UK.NTF, SDTS, TIGER, S57, MapInfo-File, DGN, VRT,
AVCBin, REC, Memory, GML, ODBC
(viz také: http://www.gdal.org/ogr/ogr_formats.html)
v.in.ascii GRASS ASCII
v.in.e00 ArcInfo E00
v.in.db databázová tabulka obsahující souřadnice
34 5.2. IMPORT VEKTOROVÝCH DAT
Import dat ve formátu ShapeFile
Modul určený mimo jiné pro import dat ve formátu ShapeFile se jmenuje v.in.ogr. Důle-
žité je přitom si uvědomit, že ShapeFile není topologickým formátem; neuchovává informace
o vzájemných vztazích mezi jednotlivými objekty. Hraniční linie mezi plochami (polygony) tak
mohou být duplicitní, což může vést k dalším komplikacím. Proto je nutné po importu tato
data v GRASSu vyčistit.
Data použitelná v dalším textu pocházejí z projektu FRIDA [9], který obsahuje řadu detailních
vektorových map města Osnabrück a je volně k dispozici na Intevation GmbH [5].
GRASS:~ > v.in.ogr -o dsn=./frida-1.1-shp-joined/strassen-joined.shp \out=ulice
12323 primitives registered
0 areas built
0 isles built
Number of nodes : 8937
Number of primitives: 12323
Number of points : 0
Number of lines : 12323
Number of boundaries: 0
Number of centroids : 0
Number of areas : 0
Number of isles : 0
Pokud obsahují vektorová data informace o mapové projekci, lze na jejich základě automaticky
vytvořit novou location z právě probíhajícího sezení. V případě formátu ShapeFile jsou tyto
informace uloženy v souboru s příponou .prj. Syntaxe pro vytvoření nové location na základě
importovaných dat je:
GRASS:~ > v.in.ogr dsn=./frida-1.1-shp-joined/strassen-joined.shp out=ulice \location=osnabrueck
V interní databance GRASSu ($GISDBASE/$LOCATION/$MAPSET) je během importu vytvořen
v adresáři vector podadresář obsahující mapu ulic. V tomto podadresáři jsou uložena data
topologie (topo), hlavičky (head) , vektorové geometrie (coor), historie (hist), prostorový index
(sidx), hodnoty kategorie (cidx) a odkaz na související atributová data (dbln).
Atributová data byla uložena podle nastavení, tedy taktéž během importu dat. Výchozím
nastavením je formát DBASE v adresáři dbf. V případě potřeby lze prohlédnout obsah právě
importované atributové tabulky (ulice.dbf) odpovídajícím editorem. Pod operačním systémem
GNU/Linux to může být OpenOffice.org, Gnumeric nebo KOffice.
5.3. IMPORT BODOVÝCH DAT 35
5.3 Import bodových dat
Speciální bodový formát již není podporován. Tato data jsou ukládána v podobě vektorových
bodů a jsou analyzovatelná vektorovými moduly. Vektorové body, které jsou k dispozici ve for-
mátu ShapeFile se importují podobně jako ve výše uvedeném příkladu modulem v.in.ogr:
GRASS:~ > v.in.ogr -o dsn=./frida-1.1-shp-joined/poi-joined.shp out=body
268 primitives registered
0 areas built
0 isles built
Number of nodes : 268
Number of primitives: 268
Number of points : 268
Number of lines : 0
Number of boundaries: 0
Number of centroids : 0
Number of areas : 0
Number of isles : 0
Import bodů (X|Y)
Bodová data jsou velmi často uložena v prostém textovém formátu (ASCII). GRASS poskytuje
pro tento případ modul v.in.ascii, který si na tomto místě krátce přiblížíme.
Souřadnice bodových dat by měly být v pořadí y (EW) x (NS). Oddělovač přitom nehraje
žádnou zvláštní roli. Jako příklad importujeme datový soubor (coord.txt), jednotlivé sloupce
jsou od sebe odděleny svislým lomítkem:
1664619|5103481
1664473|5095782
1664273|5101919
GRASS:~ > cat coords.txt | v.in.ascii out=body
Chybějící hodnoty kategorií (IDs) lze doplnit modulem v.category, a tak lze zajistit připojení
dalších atributů, které jsou uloženy v databance:
GRASS:~ > v.category in=body out=body2 op=add GRASS:~ > v.category body2 op=report
Výsledek importu je potom uložen ve vektorovém formátu GRASSu v aktuální location v ad-
resáři vector databanky GRASSu.
36 5.3. IMPORT BODOVÝCH DAT
Import výškových dat (X|Y|Z)
Pro případ, že třetí sloupec nese jako atribut výškový údaj, musí být použit během importu
přepínač -z.
1664619|5103481|101.2
1664473|5095782|102.2
1664273|5101919|101.7
GRASS:~ > cat coords3d.txt | v.in.ascii -z out=vysky
GRASS:~ > v.category in=vysky out=vysky2 op=add
GRASS:~ > v.category vysky2 op=report
Další příklady vytvoření bodové mapy z již existujících dat uložených v databance jsou uvedeny
v kapitole 10.
6 Georeferencování dat
Tuto kapitolu můžete přeskočit, jestliže nepotřebujete žádná data georeferencovat, tj. souřad-
nicově připojit.
V souvislosti s importem naskenovaných rastrových map s dostupnými údaji nutnými pro poz-
dější souřadnicové připojení je třeba definovat celkem dvě locations. Naskenovaná mapa se
importuje nejprve do location xy (bez definované mapové projekce) a poté se transformuje
do druhé location s definovaným souřadnicovým systémem.
geokódovanáGRASS cílová location
bez geokódováníGRASS location xy
i.points/i.vpointsi.targeti.group
i.rectifynaskenovaná mapa výsledná mapa
transformacegeoreferencování
Obrázek 6.1: Proces souřadnicového připojení dat v GRASSu
6.1 Příprava před georeferencováním dat
Nejdříve je nutno založit cílovou location s definovaným souřadnicovým systémem (mapovou
projekcí a rozlišením). Obecně lze použít libovolnou mapovou projekci podporovanou GRAS-
Sem.
Rozlišení cílové location nesmí být zvoleno příliš nízké. Pokud je totiž toto rozlišení v poměru
k rozlišení souřadnicově nepřipojených dat příliš malé, vzniká georeferencováním výsledek, který
je velmi špatně čitelný. Dochází tak k přílišné informační ztratě (vlivem tzv. „resamplingÿ).
V opačném případě (příliš vysoké relativní rozlišení cílové location) je výsledná mapa sice dobře
čitelná, ale zabírá zbytečně velký diskový prostor.
37
38 6.1. PŘÍPRAVA PŘED GEOREFERENCOVÁNÍM DAT
6.1.1 Volba optimálního rozlišení při skenování
Při importu analogové („papírovéÿ) mapy určuje rozlišení při skenování podkladu také nasta-
vené rozlišení location. Na první pohled to zní velmi jednoduše. Nalezení vhodného rozlišení
při skenování mapy však často vyžaduje experimentování, tak aby nebyla informační ztráta
vzniklá při procesu skenování a importu do GRASSu neúnosná.
Na následujícím ukázkovém výpočtu si demonstrujeme, jak správně postupovat, abychom mohli
nastavit parametry location optimálně právě na základě importovaných dat (nebo naopak):
(a) výpočet pro rozlišení 300 dpi
300 dpi = 300 buněk/2, 54 cm = 118, 11 buněk/cm
(b) výpočet rozlišení rastrové mapy při měřítku 1 : 25 000
velikost ve skutečnosti (cm) = 25 000 cm/118, 11 buněk = 2, 12m/buněk
Pokud je location již definována včetně výchozího rozlišení, potom je zapotřebí provést výpočet
opačný – na základě geografického rozlišení určit vhodné rozlišení pro skenování podkladu. Výše
uvedené vztahy se tedy pouze otočí [Net00].
6.1.2 Definice zájmové oblasti projektu
Prvním krokem je vytvoření location xy určené pro import naskenovaných nezpracovaných
dat. Zájmové území location by mělo odpovídat rozměru mapy v pixelech X (rows, height)
a Y (columns, width). Tyto hodnoty lze zjistit např. pomocí programu xv1.
Výchozí region location xy je tedy nutno zvolit dostatečně veliký, tak aby do něj importovaná
data bez problému zapadla. Obecně lze doporučit nastavit výchozí region o něco větší než je ne-
zbytně nutné, tento „luxusÿ nic nestojí – ani místo na disku. Výchozí rozlišení se v této location
zvolí přirozeně 1. Velikost pixelu importovaných dat tak odpovídá velikosti pixelu výsledné
rastrové mapy v databance GRASSu. Definujete sice geografické rozlišení (např. v metrech),
v této souvislosti (location xy bez mapové projekce) jsou však mapové jednotky irelevatní. Te-
prve později, při transformaci do jiného souřadnicového systému se přiřazuje „pravéÿ rozlišení,
které je dáno rozlišením při skenování předlohy a měřítkem mapy.
Druhý krok spočívá v založení cílové location, která bude později obsahovat již georeferencova-
nou mapu. Je tedy třeba, pokud ještě není k dispozici, tuto location založit a to s požadovanými
parametry jako mapovou projekcí, výchozím regionem a rozlišením. V nejjednodušším případě
máme již cílovou location k dispozici. Ta může obsahovat již georeferencovaná data a my tedy
chceme doplnit další souřadnicově připojenou mapu. Postup vytvoření cílové location je po-
drobně popsán v kapitole 4.5.1.1Pozn. překl.: Na tomto místě lze doporučit konzolový nástroj identify z balíčku ImageMagick.
6.2. PROCES GEOREFERENCOVÁNÍ DAT 39
Postup při importu jednotlivých částí mapy
Části mapy, které tvoří celek, je nutno importovat do location xy jednotlivě a to tak, aby
nevznikly při pozdějším georeferencování těchto částí nežádoucí chyby. Alternativně, pokud
jednotlivé části mapy (nelze např. mapu naskenovat najednou) na sebe navazují, lze je před
importem do GRASSu spojit v dostupném grafickém editoru. Potom můžete importovat mapu
v celku.
Jestliže se naopak importují data, která se souřadnicově překrývají (např. obrazová data), nabízí
se postup souřadnicového připojení právě s mezistupněm v location xy. Může jít např. o im-
port nereferencovaných satelitních snímků, které pokrývají stejné území v různých spektrálních
intervalech.
6.2 Proces georeferencování dat
V této fázi byste měli mít tedy k dispozici location xy určenou pro nezpracovanou mapu a cílo-
vou location s definovaným souřadnicovým systémem, do které se má tato mapa transformovat,
tj. georeferencovat. Pokud tedy location xy obsahuje souřadnicově nepřipojenou mapu, můžeme
započít s procesem georefencování. V dalším textu si krátce tuto činnost popíšeme.
1. Vytvoříme skupinu map/obrazových dat a zadáme název transformované mapy.
GRASS:~ > i.group
• Zadáme název pro tuto skupinu dat: např. „mapaÿ.• Označíme („xÿ) importovanou mapu (resp. importované mapy).
2. Následuje volba cílové location (target) a mapsetu (např. location Gauß-Krüger), která
ve výsledku bude obsahovat souřadnicově připojenou mapu, resp. mapy.
GRASS:~ > i.target
• Aktuální region cílové location by se neměl lišit od výchozího. V opačném případě setransformují pouze data zapadající do tohoto menšího regionu. GRASS totiž pracuje
vždy s aktuálním nastavením location. Nastavení výchozího rozlišení v cílové location
lze obnovit pomocí g.region -dp.
3. Nastartujeme GRASS monitor:
GRASS:~ > d.mon start=x0
4. Přiřadíme souřadnice cílového souřadnicového systému (např. Gauß-Krüger) ke čtyřem
rohovým bodům, nebo k jiným zvoleným vlícovacím bodům (viz kapitola 6.2.1)
GRASS:~ > i.points (pro rastrovou mapu)
GRASS:~ > i.vpoints (pro vektorovou mapu)
40 6.2. PROCES GEOREFERENCOVÁNÍ DAT
• Zadáme skupinu dat určenou pro transformaci (v našem případě mapa).
6.2.1 Volba vlícovacích bodů
Grafický monitor GRASSu se rozdělí na dvě části. Po vybrání importované mapy se tato zobrazí
v levé části monitoru. Na výběr máme dva postupy georeferencování: buď na základě známých
bodů v cílovém souřadnicovém systému (a), nebo na základě vhodné referenční mapy (b),
která je již k dispozici v cílové location.
Obrázek 6.2: Volba vlícovacích bodů naskenované topografické mapy v modulu i.points
(a) Jako vlícovací body se volí dobře identifikovatelné body, jako např. Gaußovy křížky nebo
rohové body (lze využít „papírovouÿ mapu, pokud je k dispozici). Tyto body se v GRASS
monitoru označí myší a poté se do okna X-termu (příkazového interpretu) zadají odpo-
vídající souřadnice (oddělené mezerou).
(b) V tomto případě máme k dispozici v cílové location souřadnicově připojenou mapu, která
obsahuje snadno identifikovatelné body (např. křižovatky silnic či budovy). Tyto body
6.2. PROCES GEOREFERENCOVÁNÍ DAT 41
tak můžeme využít pro georeferencování importované mapy. Pomocí funkce „PLOT RAS-
TERÿ zobrazíme v pravé části GRASS monitoru tuto georeferencovanou mapu. Máme
tak možnost vyhledat korespondující referenční body na obou mapách současně. Při této
činnosti je nanejvýš vhodné využít funkce „ZOOMÿ (viz obrázek 6.2)2.
Vlícovací body by měly být bezpodmínečně voleny tak, aby stejnoměrně pokrývaly plochu
mapy. Funkce „ANALYSEÿ umožňuje posléze určit střední kvadratickou chybu (RMS), jejíž
hodnota by neměla přesáhnout polovinu hodnoty rozlišení nastaveného v cílové location. Cel-
ková RMS chyba je určena z jednotlivých složek (středních kvadratických chyb jednotlivých
vlícovacích bodů). Snížení její hodnoty či přerozdělení vlícovacích bodů je možné provést de-
aktivací vybraného vlícovacího bodu. To se provede poklikáním na zvolený bod v okně funkce
„ANALYSEÿ.
Rovnoměrné rozložení vlícovacích bodů v kombinaci s „rozumnouÿ hodnotou střední kvadra-
tické chyby (RMS) vede k lepším výsledkům, než jednosměrně nahromaděný shluk vlícovacích
bodů s minimální hodnotou RMS chyby.
Po úspěšném výběru vlícovacích bodů můžeme modul i.points již opustit. Konfigurace těchto
bodů se automaticky uloží. Toto platí také pro deaktivované vlícovací body3. Při dalším spuštění
modulu tak lze pokračovat v dříve zvolené konfiguraci.
Po označení všech potřebných vlícovacích bodů, jejichž počet je závislý na stupni polynomu
transformace, můžete spustit modul i.rectify. Následuje dotaz na to, zda se má provést
transformace v rámci
1. „current regionÿ cílové location, který odpovídá aktuálnímu regionu nastaveného v této
location,
2. nebo „minimal regionÿ, který GRASS automaticky nastaví v cílové location v závislosti
na transformovaných datech.
Pokud na tomto místě zvolíte bod 1 „current regionÿ, je důležité se ještě jednou před samotnou
transformací ujistit, zda je správně nastaven aktuální region cílové location (rozlišení a vý-
řez). Není problém transformaci přerušit, zkontrolovat (resp. změnit) nastavení cílové location
a opětovně spustit modul i.rectify.
2Pozn. překl.: Jako referenční mapu lze kromě rastrové využít i mapu vektorovou. V tomto případě místo
modulu i.points použijeme modul i.vpoints.3Pozn. překl.: Konfigurace vlícovacích bodů je uložena v prostém textovém souboru umístěném v aktuální
location a mapsetu a to v adresáři group/<nazev skupiny>/POINTS. Přičemž deaktivované vlícovací body jsou
označeny hodnotou „0ÿ.
42 6.2. PROCES GEOREFERENCOVÁNÍ DAT
6.2.2 Transformace map
Nejprve je nutno určit stupeň polynomu transformace. Jeho volba je podmíněna stupněm zkres-
lení obrazu (v případě leteckých snímků, středové promítání) a počtem dostupných vlícovacích
bodů. Čím silnější toto zkreslení je, tím vyšší je třeba zvolit stupeň polynomu. To má však
za následek zvýšení minimálního nutného počtu vlícovacích bodů (viz tabulka 6.1). Příliš vy-
soký stupeň polynomu však není z matematického hlediska vhodný.
Obecně platí toto pravidlo: v případě nezkreslené geometrie obrazu (např. naskenovaná to-
pografická mapa, tedy ortogonální promítání) stačí minimální počet vlícovacích bodů a s tím
související nízký stupeň polynomu. Naopak mapy s deformovanou geometrií obrazu (např. his-
torické mapy) vyžadují vyšší počet vlícovacích bodů.
Tabulka 6.1: Stupeň polynomu transformacestupeň polynomu minimální nutný počet modul
vlícovacích bodů
1 3
2 6 i.rectify
3 10
4 15
Proces georeferencování GRASS započne pouze v případě, že je zadán minimálně nutný počet
vlícovacích bodů. Přehled nutného počtu vlícovacích bodů pro různé stupně polynomu je uveden
v tabulce 6.1. V praxi se nejvíce používají polynomy prvního až třetího řádu. V případě stupně
polynomu 3 je nutné určit nejméně 10 vlícovacích bodů.
7 Export dat
Stejně jako import dat, popsaný v kapitole 5, je pro práci s GISy důležitý i jejich export.
Data můžete exportovat do výměnných formátů zpracovatelných širokou škálou GISů nebo
do formátů obrázků pro profesionální vizualizaci externími grafickými programy, jakými jsou
Xfig nebo Skencil. GRASS nabízí řadu modulů pro export rastrových, vektorových a bodových
dat. Rychlou nápovědu k jednotlivým modulům lze získat parametrem -help, uvedeným za
příkazem.
7.1 Export rastrových dat
V tabulce 7.1 je uveden seznam modulů, sloužících k exportu rastrových map GRASSu do jed-
notlivých externích formátů. Vedle nativních formátů ostatních GISů jsou dostupné také vý-
měnné formáty využívané např. při dálkovém průzkumu Země.
Tabulka 7.1: Výběr modulů pro export rastrových datmodul GRASSu formát exportu
r.out.arc ARC/INFO ASCII GRID1
r.out.mpeg MPEG
r.out.png PNG (viz také d.mon/PNG DRIVER s podporou True
Color)
r.out.pov POV
r.out.ppm PPM/PNM
r.out.tiff TIF/TFW
r.out.bin binární datové pole
r.out.gridtb GRIDATB.FOR (TOPMODEL)
r.out.gdal knihovna GDAL podporuje přes 20 důležitých formátů
(viz část 7.1.1)
1Poznámka: Nástroj Arc v ArcGIS podporuje import ASCII gridů: Import to raster→ASCII to GRID. Výsledek
může být zobrazen pomocí nástroje ArcCatalog. Pro tuto operaci je potřeba mít nainstalované rozšíření Spatial
Analyst.
43
44 7.2. EXPORT VEKTOROVÝCH DAT
Jak již bylo zmíněno v části 5.1, nesmíme při exportu rastrových dat zapomenout na důležitou
vlastnost GRASSu – rastrové mapy jsou exportovány pouze v aktuálně nastaveném rozlišení
a výřezu (current region). Stejně jako u rastrových analýz, je před exportem důležité přesvědčit
se nejprve příkazem g.region -p, zda je aktuální region nastaven správně.
7.1.1 Export pomocí knihovny GDAL
Prostřednictvím modulu r.out.gdal probíhá export rastrových map GRASSu do různých
externích formátů. Jejich seznam získáme pomocí příkazu r.out.gdal -l.
Abychom byli schopni tento modul používat, musíme nainstalovat knihovnu GDAL s podporou
GRASSu. Tuto podporu lze doinstalovat buď jako binární balíček, nebo musí být knihovna
překompilována manuálně. Případnou pomoc může poskytnout2 např. GDF Hannover bR.
7.2 Export vektorových dat
V tabulce 7.2 je uveden seznam modulů, určených pro export vektorových dat dostupných
v nativním formátu GRASSu.
Tabulka 7.2: Výběr modulů pro export vektorových datmodul GRASSu formát exportu
v.out.ascii GRASS ASCII
v.out.ogr SHAPE, TIGE, S57, MapInfo, DGN, Memory, CSV,
GML, ODBC a PostgreSQL
v.out.pov Povray
7.3 Export bodových dat
Pro export např. výškových dat z rastrové mapy do formátu xyz je důležité nastavit rozlišení
location podle rozlišení dané rastrové mapy. Data mohou být ve formátu xyz vypsána po řádcích
do ASCII souboru následujícím způsobem:
GRASS:~ > g.region rast=elevation.dem -p
GRASS:~ > r.stats -i -g input=elevation.dem > spearfish vysky.txt
2Pozn. překl.: České uživatele lze odkázat na Československou e-mailovou konferenci GRASSu,
viz http://gama.fsv.cvut.cz/~grass/ekonf/.
8 Grafická uživatelská rozhraní
Uživatelská přívětivost začíná hrát i v oblasti GISů, programů tradičně spíše textově orientova-
ných, stále větší roli. Na tomto místě se tedy dotkneme vývoje grafického uživatelského rozhraní
GRASSu, jelikož došlo v této oblasti v posledních letech a měsících ke značným změnám.
8.1 TclTkGRASS
Od roku 1999 nabízí GRASS pro obsluhu většiny modulů grafické uživatelské rozhraní (GUI)
TclTkGRASS. Během let se mnoho modulů změnilo, další přibyly, jiné byly odstraněny. Bylo
načase tak obměnit i toto GUI.
Za tímto účelem byla zcela změněna jeho koncepce. Vývojáři stáli před úkolem vytvořit co
možná nejpřehlednější obsluhu GRASSu a integrovat do GUI přes 400 modulů.
Obrázek 8.1: Grafické uživatelské rozhraní TclTkGRASS 4.0
Výsledkem je TclTkGRASS verze 4.0 (obr. 8.1). Celkový vzhled byl převzat z předchozí verze,
obsah menu je však zcela nově strukturován. Toto GUI můžete automaticky vyvolat, spustíte-li
GRASS s parametrem -tcltk. Později ho lze spustit přímo v sezení příkazem tcltkgrass&1.
1Pozn. překl.: TclTkGRASS je součástí GRASSu <5.4. Ve verzi 6.0 byl plně nahrazen „GIS Manageremÿ.
45
46 8.2. GIS MANAGER
8.2 GIS Manager
V GRASSu 6.0 byl implementován zcela nový koncept GUI. K němuž patří především grafická
okna skupin modulů, automaticky se otevírající pokud zadáte jméno libovolného modulu bez
dalších parametrů. Navíc byl GRASS vybaven novým správcem – GIS Managerem. GIS Ma-
nager obsahuje řadu běžně používaných funkcí, které by měly usnadnit a zpřehlednit práci
v GRASSu (viz obr. 8.2). Navíc obsahuje také všechny funkce TclTkGRASS 4.0.
Obrázek 8.2: d.m – GIS Manager GRASSu 6.0 s daty FRIDA
GIS Manager můžete spustit příkazem d.m&2. Vedle modulů, podobně jako u TclTkGRASS
seřazených v rolovacích menu, nabízí navíc grafická tlačítka. Za těmi se skrývají funkce z oblasti
vizualizace, správy atributů, digitalizace a tisku.
8.2.1 Menu s moduly analýzy dat (TclTkGRASS)
V tomto menu naleznete asi 200 z celkových 400 modulů GRASSu. Díky tomu jsou nejčastěji
používané moduly obsloužitelné i pomocí myši. Struktura menu je přibližně následující:
File: Obsahuje moduly pro import a export dat a nastavení projektu.
GIS: Umožňuje nastavení mapové projekce, pracovního prostředí a správu dat.
2Pozn. překl.: Pokud spustíte GRASS s parametrem -gui spustí se GIS Manager automaticky.
8.2. GIS MANAGER 47
Display: Obsahuje moduly pro vizualizaci rastrových, vektorových a bodových dat.
Raster: Obsahuje moduly pro analýzu rastrových dat.
Vector: Obsahuje moduly pro analýzu vektorových dat.
Image: Obsahuje moduly pro analýzu obrazových dat.
Grid3D: Obsahuje moduly pro analýzu 3D-rastrových (voxel) dat.
Databases: Obsahuje moduly pro správu databází.
Help: Moduly s nápovědou.
8.2.2 Grafická tlačítka pro jednoduchou vizualizaci (Display Manager)
Pod lištou s menu jsou umístěna grafická tlačítka, umožňující rychlou intuitivní vizualizaci,
dotazy a správu dat. Funkce tlačítek jsou:
Display selected layers (current region) se používá, pokud chceme zobrazit všechny vy-
brané mapy (označené červeným čtverečkem, obr. 8.2) v aktuálním regionu a rozlišení.
Display selected layers (default region) použijeme, pokud chceme všechny vybrané mapy
zobrazit ve výchozím regionu a rozlišení (viz g.region -d).
Display from saved region settings použijeme, pokud chceme vybraná data zobrazit v ně-
jakém předem vytvořeném a uloženém regionu (viz g.region save=[nazev regionu]).
Erase to white bývá používán, pokud chceme vymazat obsah aktivního GRASS monitoru,
abychom mohli zobrazit novou mapu (viz d.erase -help).
Zoom umožňuje zvětšování nebo zmenšování mapových výřezů. Je důležité sledovat funkci
jednotlivých tlačítkem myši, která je vypsána do okna příkazového interpretu.
Return to previous zoom se vrátí na předchozí zvětšení.
Pan and recenter použijeme, pokud se chceme v aktuálním zvětšení přesunout na jiné místo.
Funkce tlačítek myši jsou vypsány v příkazovém interpretu.
Query map umožňuje dotazovat se na rastrová a vektorová data pomocí myši. Výsledky do-
tazu na rastrovou mapu jsou vypsány do okna příkazového interpretu, v případě vekto-
rových dat jsou zobrazeny ve zvláštním grafickém okně (alternativně lze nastavit výstup
do okna příkazového interpretu)3. Před vlastním spuštěním modulu je potřeba vybrat
mapu, resp. mapy, které mají sloužit jako podklad pro dotaz.
3Pozn. překl.: Spustí-li se příkaz d.what.vect s parametrem -x, jsou výsledky dotazů na vektorová data také
zobrazena v okně příkazového interpretu.
48 8.2. GIS MANAGER
Add group se použije pro definici skupiny map pro vizualizaci. Tato skupina je něco na způsob
„projektuÿ, uložená na libovolném místě ve vašem domovském adresáři. Nejlepším místem
je však adresář vašeho mapsetu.
Add raster umožňuje přidání nové rastrové mapy do GIS Manageru.
Add vector umožňuje přidání nové vektorové mapy do GIS Manageru.
Add paint label umožňuje integraci obrázků z adresáře paint/labels do mapy (viz v.label).
Create new command umožňuje vytvořit skupinu příkazů a následně je vyvolávat pomocí
myši.
Digitize vector map použijeme, chceme-li změnit geometrii vektorových map. Tímto tlačít-
kem se spustí modul v.digit. Mapa, která má být změněna musí být nejprve vybrána
myší.
Cut selection umožňuje odebrat mapy nebo příkazy z GISManageru. Mapy zůstávají v dané lo-
cation i nadále. Pro odstranění map z datasetu se používá modul g.remove.
Create new workspace file vytvoří soubor projektu, ve kterém jsou uloženy mapy, jejich
barevné nastavení atd.
Open an existing workspace file otevře existující soubor s projektem a načte všechny mapy
s jejich tabulkou barev, a dalšími prvky.
Save workspace file uloží vytvořený soubor s projektem se všemi atributy pro zobrazení
map.
Print map umožní uložit mapy do různých externích formátů, např. PostScript, PDF a PNG.
Mapa je exportována v aktuálním regionu a jeho rozlišení.
9 Práce s rastrovými daty
Počínaje jednoduchými dotazy přes komplexní algebraické funkce a logické podmínky jsou
v GRASSu obsaženy snad všechny běžné funkční nástroje pro zpracování rastrových dat.
Vzhledem k šíři dané problematiky (v současné době existuje více než 100 modulů pro práci
s rastrovými mapami) se budeme v této kapitole zabývat pouze úvodem do jejich zpracování.
Oblast dálkového průzkumu Země, tedy analýza satelitních a leteckých snímků, není součástí
tohoto textu a zmíníme se o ní pouze okrajově. Na konci této příručky najdete v seznamu
literatury odkazy na publikace, zabývající právě se tématikou DPZ.
Jak již bylo zmíněno v kapitole 8, u většiny analýz je možné použít grafické uživatelské prostředí
TclTkGRASS či GIS Manager. V této příručce se snažíme ukázat postup práce v grafickém
rozhraní souběžně s postupem v příkazové řádce. Naučit se ovládat jednotlivé moduly pomocí
příkazové řádky je dobré především v tom, že se s jednotlivými moduly a jejich parametry
rychleji a blíže seznámíte1.
Obecně k rastrovým datům
Poloha buňky rastrové mapy je dána souřadnicemi jejího středu (x, y). Hodnota buňky z,
která odpovídá naměřené hodnotě nebo vlastnosti objektu a které je přiřazena příslušná barva
(např. z oboru škály šedi). V případě analýz rastrových dat, sloužících k vytvoření tématických
map, rozlišujeme dva základní typy operací:
1. přístup bodově, buňkově či pixelově orientovaný (analýza sousedů)
2. přístup maticově orientovaný nebo-li metoda „pohyblivého oknaÿ (filtrování obrazu)
Použít můžeme buď specializované moduly GRASSu, kde každý z nich provádí danou operaci
a nebo modul r.mapcalc, ve kterém lze navrhnout operace obou typů zcela individuálně podle
potřeb uživatele (viz kapitola 15).
1Pozn. překl.: A nejen to, tuto znalost oceníte při automatizaci jednotlivých úloh – „skriptováníÿ.
49
50 9.1. VIZUALIZACE RASTROVÝCH MAP
Správa rastrových dat
Základní správa rastrových map, jako je nastavení prostorového rozšíření map, údržba atributů,
přiřazení barevné škály atd., je ošetřena řadou specializovaných modulů. Ve verzích GRASSu 5.0
a 5.4 bylo potřeba vytvářet interní statistiku mapy pomocí příkazu r.support -r, který ovšem
pracoval pouze v aktuálním výřezu což většinou vedlo k nechtěným efektům2.
Nápověda k modulům GRASSu
Ke všem z více než 400 modulů GRASSu existuje soubor s nápovědou, ve kterém je vysvětlena
jejich syntaxe. Krátký popis příkazu se také vypíše, pokud za názvem modulu uvedete parametr
-help:
GRASS:~ > d.rast -help
Vyčerpávající nápovědu s popisem modulu a příklady použití získáme příkazem
GRASS:~ > g.manual [jméno modulu] Spustí se webový prohlížeč s danou manuálovou strán-
kou3. Tato nápověda je dostupná také na domovské stránce GRASSu:
GRASS:~ > g.manual d.rast &
9.1 Vizualizace rastrových map
Rastrová data se vizualizují v tzv. GRASS monitoru pomocí modulu d.rast. V GRASSu lze
spustit najednou až 7 různých grafických monitorů (x0 až x6):
GRASS:~ > d.mon x0
GRASS:~ > d.rast
Pokud si chceme nějaké území zvětšit, použijeme modul
GRASS:~ > d.zoom
Zpětné nastavení původního výřezu dosáhneme pomocí modulu g.region. Nastavení výcho-
zího regionu na rozlišení 10m lze provést např. příkazem
GRASS:~ > g.region -dpa res=10.0
GRASS:~ > d.erase
GRASS:~ > d.rast rastrova mapa
Po nastavení regionu modulem g.region se automaticky obsah monitoru nepřekreslí. Je po-
třeba jej tedy „vyčistitÿ manuálně (d.erase) a následně opět zobrazit požadovaná rastrová
data (d.rast)4. Nastavení regionu a rozlišení lze přímo nastavit podle zvolené rastrové mapy:
GRASS:~ > g.region rast=rastrova mapa -p
2Pozn. překl.: Tento modul tak není součástí GRASSu 6.0.3Pozn. překl.: Nápovědu lze zobrazit také v podobě tradiční manuálové stránky, jedná se o přepínač -m.4Pozn. překl.: Nebo lze místo vymazání obsahu monitoru použít modul d.redraw pro jeho překreslení.
9.2. DOTAZOVÁNÍ SE NA RASTROVÉ MAPY A JEJICH METADATA 51
GRASS:~ > d.erase
GRASS:~ > d.rast rastrova mapa
Alternativně
GRASS:~ > g.region rast=rastrova mapa -p
GRASS:~ > d.redraw
Překrytí dvou různých rastrových map
GRASS:~ > d.rast rastr1
GRASS:~ > d.rast rastr2 -o
V tomto případě bude viditelná pouze ta část mapy rastr1 která se kryje s oblastmi mapy
rastr2 obsahující hodnotu NULL (tzv. „žádná dataÿ). Další možnost jak překrýt dvě rastrové
mapy, například za účelem vizuální kontroly správnosti souřadnicového připojení nabízí modul
d.his5:
GRASS:~ > d.his h map=roads i map=tk24
Zobrazení rastrové mapy s legendou
Zjednodušeně lze rastrovou mapu zobrazit spolu s patřičnou legendou v GRASS monitoru
pomocí příkazu6
GRASS:~ > d.rast.leg rastrova mapa
9.2 Dotazování se na rastrové mapy a jejich metadata
Abychom získali relevantní popisná data vázaná na daný prvek rastrové mapy, použijeme mo-
dul (který se taktéž postará o zobrazení výsledku našeho dotazu)
GRASS:~ > d.what.rast
Po kliknutí na dané místo (pixel) na mapě bude vypsána příslušná hodnota společně se sou-
řadnicemi do okna příkazového interpretu. Pokud je v GRASS monitoru zobrazeno více (pře-
krývajících se) map, budou jejich hodnoty zobrazeny souběžně. Příkazem
GRASS:~ > d.what.rast map=elevation.dem,geology,soils
5Pozn. překl.: Tento modul můžeme využít, chceme-li např. zobrazit mapu na stínovaném reliéfu, který
vytvoříme pomocí modulu r.shaded.relief:
GRASS:~ > r.shaded.relief in=elevation.dem
GRASS:~ > d.his h map=geology i map=elevation.dem shade
6Pozn. překl.: Pro zobrazení pouze legendy mapy použijeme modul d.legend.
52 9.2. DOTAZOVÁNÍ SE NA RASTROVÉ MAPY A JEJICH METADATA
se můžeme dotazovat na hodnoty jednotlivých map bez nutnosti jejich předchozího zobrazení
v GRASS monitoru.
Modul po jeho spuštěn očekává stisknutí levého tlačítka myši v okně GRASS monitoru7.
Modul r.info
Zobrazení metadat rastrové mapy obstarává modul r.info. Vedle popisu dat výpis obsahuje
také jejich typ, informace o mapové projekci a rozsah hodnot jednotlivých kategorií.
GRASS:~ > r.info landuse
GRASS:~ > r.info -r landuse
Modul r.cats
Tento modul umožňuje zobrazení kategorií a příslušných textových atributů ve formě přehledné
tabulky:
GRASS:~ > r.cats map=landuse
1 residential
2 commercial and services
3 industrial
4 other urban
5 reservoirs
6 bare exposed rock
7 quarries, strip mines and gravel pits
8 transportation and utilities
Modul r.report
Další podrobnější informace, jako jsou např. velikosti ploch jednotlivých kategorií geologických
typů na území „Spearfishÿ v hektarech, poskytne modul r.report (viz také r.stats). Tento
modul nejprve vypočte interní statistiku, podobně jako v podstatě všechny rastrové moduly
zohledňující nastavení aktuálního výřezu a rozlišení. Proto může být vhodné nejprve nastavit
region na požadované území:
GRASS:~ > g.region rast=geology -p
GRASS:~ > r.report -h geology units=h
7Pozn. překl.: Funkce jednotlivých tlačítek jsou vysvětleny v okně terminálu.
9.3. VYBRANÉ APLIKACE RASTROVÝCH MAP 53
+---------------------------------------------------------------------+
| Category Information | |
|#|description | hectares|
|---------------------------------------------------------------------|
|1|metamorphic. . . . . . . . . . . . . . . . . . . . . . .| 1051.000|
|2|transition . . . . . . . . . . . . . . . . . . . . . . .| 13.000|
|3|igneous. . . . . . . . . . . . . . . . . . . . . . . . .| 3285.000|
|4|sandstone. . . . . . . . . . . . . . . . . . . . . . . .| 6755.000|
|5|limestone. . . . . . . . . . . . . . . . . . . . . . . .| 5537.000|
|6|shale. . . . . . . . . . . . . . . . . . . . . . . . . .| 4170.000|
|7|sandy shale. . . . . . . . . . . . . . . . . . . . . . .| 1019.000|
|8|claysand . . . . . . . . . . . . . . . . . . . . . . . .| 1307.000|
|9|sand . . . . . . . . . . . . . . . . . . . . . . . . . .| 3295.000|
|*|no data. . . . . . . . . . . . . . . . . . . . . . . . .| 168.000|
|---------------------------------------------------------------------|
|TOTAL |26,600.000|
+---------------------------------------------------------------------+
Modul r.timestamp
Při zpracovávání časových řad je často důležité opatřit data „časovým otiskemÿ (čas vytvoření,
datum pořízení, atd.)
GRASS:~ > r.timestamp landuse date="27 Sep 2003"
GRASS:~ > r.timestamp landuse date="27 Sep 2003/20 Feb 2004"
Bližší popis použitého formátu získáte na manuálové stránce modulu g.manual r.timestamp.
9.3 Vybrané aplikace rastrových map
V tomto oddíle si představíme často používané moduly pro analýzu rastrových dat. Silná
stránka GRASSu představuje již tradičně právě zpracování dat rastrových. Zde představené
moduly jsou tak pouhým výběrem.
9.3.1 Výpočet profilů
Pro zobrazení profilů rastrové (výškové) mapy použijeme modul d.profile, ovládaný pomocí
myši v GRASS monitoru (obr. 9.1).
GRASS:~ > d.profile rastrova mapa
Modul r.profile naopak umožňuje vypsání hodnot jednotlivých bodů profilu do textového
(ASCII) souboru. Souřadnice bodů profilu máme buď připravené (v externím textovém sou-
boru), nebo lze spustit přepínačem -i interaktivní mód a trasu profilu „naklikatÿ manuálně
54 9.3. VYBRANÉ APLIKACE RASTROVÝCH MAP
Obrázek 9.1: Několik profilů digitálního modelu terénu – modul d.profile
myší. Podobnou funkci plní modul r.transect, který vyžaduje pouze počáteční bod profilu
a množinu parametrů azimut a vzdálenost.
GRASS:~ > r.profile
GRASS:~ > r.transect
9.3.2 Analýza viditelnosti
Modul r.los nabízí možnost analýzy viditelnosti na základě mapy reliéfu. Vstupem jsou sou-
řadnice stanoviska pozorovatele, příslušná výška pohledu nad zemí a dohlednost z tohoto bodu.
Například použijeme elevation.10m z datasetu „Spearfishÿ. Výchozí souřadnice lze zadat
ručně či je zjistit pomocí modulu d.where:
# nastavíme rozlišení na 20 m
GRASS:~ > g.region res=20 rast=elevation.10m -pa
# spočítáme viditelnost z věže 15 m nad zemí
GRASS:~ > r.los in=elevation.10m out=viditelnost coord=593670,4926877 \
9.3. VYBRANÉ APLIKACE RASTROVÝCH MAP 55
obs=15 max=3000
# kontrola
GRASS:~ > d.erase
GRASS:~ > r.shaded.relief elevation.10m units=meters
GRASS:~ > d.rast elevation.10m shade
GRASS:~ > d.rast -o roads
GRASS:~ > d.rast -o viditelnost
9.3.3 Překryv jednotlivých rastrových map
Již jsme se zmínili o tom, že rastrové mapy lze vizuálně překrývat. Pokud bychom chtěli uložit
výsledek do nové mapy, použijeme modul r.patch. Tímto modulem tak lze vytvořit z několika
vstupních map jednu výstupní mapu vzniklou jejich překrytím:
GRASS:~ > r.patch in=mapa1,mapa2,mapa3,mapa4 out=spolecna mapa
První mapa leží nejvýše, další mapy vyplňují místa, kde mapy nad nimi obsahují hodnotu
NULL (no data). Modul si ukážeme na příkladu překrytí rastrové mapy cest (roads) a geologie
(geology) v datasetu „Spearfishÿ. Důležité je před prací nastavit potřebný region, protože
GRASS pracuje vždy pouze s aktuálním výřezem a rozlišením:
GRASS:~ > g.region rast=geology,roads -p
GRASS:~ > r.patch in=roads,geology out=roads.on.geol
Pokud bychom změnili pořadí vstupních map, budou informace o cestách překryty informací
o geologii. Taková mapa bude v podstatě identická s mapou geology.
9.3.4 Rastrové buffery
Modulem r.buffer lze na základně rastrových dat vytvářet vyrovnávací (přechodové, nárazní-
kové) zóny (buffery). Tuto funkci můžeme využít například při vytvoření mapy zón okolo cest
v datasetu „Spearfishÿ:
# Jaké jsou přítomny kategorie silnic?
GRASS:~ > g.region rast=roads -p
GRASS:~ > r.report -h roads
|1|interstate
|2|primary highway, hard surface
|3|secondary highway, hard surface
|4|light-duty road, improved surface
|5|unimproved road
|*|no data
56 9.4. ZMĚNA TABULKY BAREV RASTROVÉ MAPY
Příklad: Chceme vytvořit vyrovnávací zónu pouze okolo mezistátních silnic s odstupy 10, 250
a 500m. Vstupní mapa má rozlišení 30m. Tuto hodnotu nastavíme jako rozlišení pro výstupní
mapy:
# extrakce kategorie ’interstates’ pomocí r.reclass
GRASS:~ > echo 1 = 1 interstates | r.reclass in=roads out=interstates
# nebo lze využít r.mapcalc
GRASS:~ > r.mapcalc "interstates=if(roads==1,roads,null())"
# vytvoření vyrovnávací zóny
GRASS:~ > r.buffer in=interstates out=interstates.buf dist=100,250,500
# kontrola
GRASS:~ > d.rast.leg interstates.buf
Obrázek 9.2: Vytvoření vyrovnávací (buffer) zóny pomocí modulu r.buffer
Výsledná mapa obsahuje tři zóny okolo mezistátních silnic. Šířka zón je vždy vztažena ke středu
silnice a je dána definovanou mapovou jednotku (např. metry). Nastavené jednotky lze zjistit
pomocí modulu:
GRASS:~ > g.proj -p
...
-PROJ_UNITS------------------------------------------------
unit : meter
units : meters
meters : 1.0
Vektorizace rastrové mapy je popsána v kapitole 13.1.
9.4 Změna tabulky barev rastrové mapy
Rastrová mapa je zobrazena v barevné škále, která je dána tabulkou barev. Každá nově vy-
tvořená rastrová mapa dostane (až na několik výjimek) přiřazenu výchozí paletu „rainbowÿ.
Vytvořit specifickou tabulku barev můžete hned několika způsoby.
9.5. STATISTICKÉ CHARAKTERISTIKY MAP 57
Přiřazení standardních barevných palet umožňuje modul r.colors:
GRASS:~ > r.colors map=rastr color=standardni tabulka
GRASS:~ > r.colors map=rastr color=zvlastni tabulka
color options: aspect, grey, grey.eq, grey.log, byg, byr, gyr, rainbow, ramp, random, ryg,
wave, rules
rules options: aspect, bcyr, byg, byr, elevation, evi, grey, gyr, rainbow, ramp, ryg, slope,
srtm, terrain, wave
Parametr rules umožňuje definování vlastní tabulky barev:
GRASS:~ > r.colors map=geology color=rules << EOF
4 100 200 0
5 255 130 7
6 100 129 187
7 222 180 39
9 43 18 200
EOF
Pro přenos tabulky barev z jedné rastrové mapy na druhou a nebo pro přiřazení existující dříve
vytvořené barevné tabulky použijeme modul r.colors s parametrem rast:
GRASS:~ > r.colors rastr rast=originální rastr
Přiřazená tabulka barev může být zobrazena modulem:
GRASS:~ > d.colortable rastrova mapa
9.5 Statistické charakteristiky map
Interní moduly GRASSu lze také použít pro výpočet základních statistických charakteristik
map. Pro komplexní geostatistické analýzy je k dispozici rozhraní mezi GRASSem a programem
pro statistické analýzy R (viz literatura).
Histogram a rozložení hodnot
Histogram snímku a jeho statistika jsou potřebné pro operace vedoucí k modifikaci obrazu
(zvýraznění kontrastu, roztažení histogramu) a pro operace analytické. Modul d.histogram
umožňuje zobrazení histogramu:
GRASS:~ > d.histogram rastrova mapa
Rozdělení hodnot je vizualizováno ve formě sloupcového histogramu. Dalším možným výstupem
je koláčový graf.
58 9.5. STATISTICKÉ CHARAKTERISTIKY MAP
Numerický výstup rozdělení hodnot ve formě tabulky nabízí modul r.stats. Tento modul
disponuje řadou parametrů ovlivňujících jeho činnost. Bližší informace naleznete na příslušné
manuálové stránce. Výše zmiňovaný modul dokáže pracovat i s více rastrovými mapami najed-
nou:
GRASS:~ > r.stats rastrova mapa
Modul r.report navazuje na modul r.stats, nabízí ovšem komplexnější výstup. A to tabulku
elementů s jeho délku a či výměrou plochy v definovaných jednotkách. Jako příklad si ukážeme
rozdělení mapy využití půdy v závislosti na geologických ukazatelích:
GRASS:~ > g.region rast=landuse -p
GRASS:~ > r.report -hen landuse,geology units=h
+---------------------------------------------------------------------+
| Category Information | |
|#|description | hectares|
|---------------------------------------------------------------------|
|1|residential | 676.00000|
| |--------------------------------------------------------|----------|
| |1|metamorphic. . . . . . . . . . . . . . . . . . . . . .| 23.00000|
| |3|igneous. . . . . . . . . . . . . . . . . . . . . . . .| 18.00000|
| |4|sandstone. . . . . . . . . . . . . . . . . . . . . . .| 125.00000|
| |5|limestone. . . . . . . . . . . . . . . . . . . . . . .| 70.00000|
| |6|shale. . . . . . . . . . . . . . . . . . . . . . . . .| 125.00000|
| |7|sandy shale. . . . . . . . . . . . . . . . . . . . . .| 29.00000|
| |8|claysand . . . . . . . . . . . . . . . . . . . . . . .| 14.00000|
| |9|sand . . . . . . . . . . . . . . . . . . . . . . . . .| 272.00000|
|----------------------------------------------------------|----------|
|2|commercial and services | 115.00000|
| |--------------------------------------------------------|----------|
| |1|metamorphic. . . . . . . . . . . . . . . . . . . . . .| 16.00000|
| |4|sandstone. . . . . . . . . . . . . . . . . . . . . . .| 19.00000|
[...]
|----------------------------------------------------------|----------|
|8|transportation and utilities | 400.00000|
| |--------------------------------------------------------|----------|
| |4|sandstone. . . . . . . . . . . . . . . . . . . . . . .| 34.00000|
| |5|limestone. . . . . . . . . . . . . . . . . . . . . . .| 8.00000|
| |6|shale. . . . . . . . . . . . . . . . . . . . . . . . .| 104.00000|
| |7|sandy shale. . . . . . . . . . . . . . . . . . . . . .| 26.00000|
| |8|claysand . . . . . . . . . . . . . . . . . . . . . . .| 4.00000|
| |9|sand . . . . . . . . . . . . . . . . . . . . . . . . .| 224.00000|
|---------------------------------------------------------------------|
|TOTAL |1519.00000|
+---------------------------------------------------------------------+
Základní statistické charakteristiky mapy vypisuje modul r.univar. Výstup obsahuje statis-
9.6. METODY PRO MANIPULACI S RASTROVÝMI MAPAMI 59
tické hodnoty závislé na aktuálním regionu – počet pixelů, minimální a maximální hodnotu,
rozsahu hodnot, aritmetický průměr, medián, rozptyl, směrodatnou odchylku a koeficient va-
riance:
GRASS:~ > g.region rast=elevation.10m -p
GRASS:~ > r.univar -g elevation.10m
n=2654802
min=1061.06
max=1846.74
range=785.679
mean=1348.37
stddev=175.494
variance=30798.3
coeff_var=13.0153
9.6 Metody pro manipulaci s rastrovými mapami
9.6.1 Reklasifikace
Při reklasifikaci je vytvořena nová tabulka atributů pro již existující rastrovou mapu. Vlastní
mapa není modifikována. Jelikož vzniká pouze nová tabulka a nikoliv rastrová mapa, dochází
tak k velké úspoře místa na pevném kotouči. Původní mapa tvoří základ pro nově klasifikovanou
mapu.
Modul r.reclass lze řídit interaktivně nebo pomocí příkazové řádky; reklasifikační tabulka je
v optimálním případě uložena ve zvláštním souboru, který bude zadán při volání modulu.
Před spuštěním modulu je vhodné prostudovat syntaxi reklasifikační tabulky uvedenou na ma-
nuálové stránce modulu: g.manual r.reclass. Průběh reklasifikace si ukážeme na příkladu
rastrové mapy roads na území „Spearfishÿ. Místo pěti tříd chceme definovat pouze třídy dvě
– silnice s dobrou nebo špatnou kvalitou vozovky:
# Jaký je stav:
GRASS:~ > r.report roads
|1|interstate
|2|primary highway, hard surface
|3|secondary highway, hard surface
|4|light-duty road, improved surface
|5|unimproved road
|*|no data
# reklasifikace
GRASS:~ > r.reclass in=roads out=roads.rcl
60 9.6. METODY PRO MANIPULACI S RASTROVÝMI MAPAMI
Enter rule(s), "end" when done, "help" if you need it
Data range is 1 to 5
> 1 2 3 = 1 dobra kvalita
> 4 5 = 2 spatna kvalita
> end
# Stav po reklasifikaci
GRASS:~ > r.report roads.rcl
|1|dobra kvalita
|2|spatna kvalita
|*|no data
Možnost vytvoření „plnohodnotnéÿ rastrové mapy nabízí např. modul r.mapcalc:
GRASS:~ > g.region rast=reclass mapa -p
GRASS:~ > r.mapcalc "nova mapa=reclass mapa"
9.6.2 Maskování
Maskování daných oblastí na mapě může být před provedením některých výpočtů či analýz
velmi užitečné. Nastavená maska působí – stejně jako aktuální region a rozlišení – na všechny
následující rastrové analýzy.
Moduly zohledňují jako masku v patřičném mapsetu rastrovou mapu MASK (veliká písmena).
Pro všechny rastrové analýzy platí, že budou provedeny pouze na části mapy, které nejsou
pokryty maskou.
Vytvořit masku lze několika způsoby. Pokud už máme k dispozici mapu, která odpovídá tvaru
požadované masky, stačí ji zkopírovat či přejmenovat:
GRASS:~ > g.copy rast=rastr,MASK
GRASS:~ > g.rename rast=rastr,MASK
Další možnost nabízí modul r.mapcalc. Umožňuje totiž vytvoření masky extrakcí pixelů, které
mají sloužit jako daná maska (viz kapitola 15).
Příklad na datasetu Spearfish
Předpokládejme, že chceme analyzovat mapu využití půdy landuse pouze pro oblasti s nad-
mořskou výškou nad 1 200m. Tuto hranici definujeme právě pomocí masky, kterou vytvoříme
modulem r.mapcalc s mapou elevation.10m. Maska může být vytvořena následujícím způ-
sobem:
GRASS:~ > g.region rast=elevation.10m -p
GRASS:~ > r.mapcalc "maska1200=if(elevation.10m > 1200, 1,null())"
9.7. VEKTORIZACE RASTROVÝCH DAT 61
GRASS:~ > g.copy rast=maska1200,MASK
Analyzovány tak budou pouze ty pixely, které jsou překryty maskou. A to dokud je maska
v mapsetu přítomna. Maska je definována tam, kde má rastrová mapa maska1200 hodnotu „1ÿ.
Pro vizuální kontrolu:
GRASS:~ > d.rast elevation.10m
GRASS:~ > d.rast -o roads
Během práce si můžete všimnout, že každý příkaz (modul) vypisuje upozornění [Raster MASK
present] indikující přítomnost masky.
Odstranit masku můžete standardním postupem – pomocí modulu g.remove. Po odstranění
masky vstupuje do případných analýz opět celý aktuální region.
GRASS:~ > g.remove rast=MASK
Pokud má být maska odstraněna pouze dočasně, stačí ji pouze přejmenovat a tím ji jaksi
„deaktivovatÿ:
GRASS:~ > g.rename rast=MASK,maska
9.7 Vektorizace rastrových dat
Modulem r.digit lze manuálně vektorizovat rastrové body, linie a plochy. Každému prvku lze
přiřadit hodnotu kategorie (cat) a štítek (label):
GRASS:~ > r.digit
Please choose one of the following
A define an area
C define a circle
L define a line
Q quit (and create map)
Tímto způsobem lze také vytvářet masky (i když ne příliš přesné).
62 9.7. VEKTORIZACE RASTROVÝCH DAT
10 Nová struktura funkčních nástrojů
pro zpracování vektorových dat
V GRASSu 6.0 byla zcela přepracována sada funkčních nástrojů pro správu vektorových dat.
Kromě jiného se jedná o nový formát vektorových dat, který překonává známá omezení formátu
řady 5.x. Uživateli se nabízí množství zajímavých novinek a změn, které se pokusíme v této
části představit.
10.1 Nové vlastnosti GRASSu 6.0
Vektorová geometrie:
• Podpora externích „Simple Featureÿ datových formátů, jako je SHAPE a PostGIS beznutnosti předchozího importu (přístup pro čtení zajišťuje modul v.external, který umož-
ňuje vytvoření „virtuální mapyÿ v databance GRASSu.
• Import a export dat ve formátu podporovaného knihovnou OGR.
• Implementace prostorového indexu („spatial indexÿ) snižuje potřebný výpočetní čas pro-cesoru, např. při spuštění modulu v.build a sestavení topologie vektorových dat
(ve verzi 5.4 se jednalo o modul v.support).
Správa popisných dat:
• Atributy jsou uloženy v DBMS1 (existují rozhraní na bázi SQL k souborům dBase, čiexterním databázovým systémům PostgreSQL, MySQL a ovladači ODBC).
• Atributy tak mohou být uloženy v souborech dBase (výchozí nastavení) a nebo v externímDBMS.
• Lze vytvářet 3D vektorová data (např. TINs, soubory ze systémů CAD), která lze zobrazitmodulem NVIZ.
1Pozn. překl.: DataBase Managment System – Systém řízení báze dat.
63
64 10.2. SPRÁVA GEOMETRIE VEKTOROVÝCH DAT
Moduly:
• Podpora výběrů a dotazů pomocí SQL např. moduly d.vect, v.extract.
• Aktualizace atributů je možná přímo dotazem (např. pomocí d.what.vect lze přímomodifikovat záznamy v databázi).
• Síťové analýzy založené na DGLIB („Directed Graph Libraryÿ)
• Nový modul pro vektorizaci v.digit s grafickým uživatelským rozhraním.
• Export souborů SHAPE, DGN, TIGER, MapInfo a GML2 pomocí knihovny OGR.
• Grafické rozhraní pro všechny moduly (aplikace „forms libraryÿ).
• Nový GIS-Manager (d.m).
• Vylepšené grafické uživatelské rozhraní TclTkGRASS 4.0 se všemi potřebnými moduly2.
V následující části se detailněji seznámíme s těmito novými funkcemi, kterými GRASS 6.0
disponuje. Jedná se především o správu geometrie a atributů.
10.2 Správa geometrie vektorových dat
Správa vektorové geometrie se v GRASSu 6.0 od základů změnila. Ve standardním nastavení je
geometrie uložena v novém pro GRASS specifického formátu – nativním formátu („native for-
matÿ). Toto základní nastavení lze ovšem bez problémů změnit. Nic vám tedy nebrání pracovat
s daty ve formátech PostGIS, SHAPE, stejně jako s dalšími formáty podporovanými knihovnou
OGR.
Jako názornou demonstraci si ukážeme příklady práce s různými toho času podporovanými
vektorovými formáty. Příklady budou demonstrovány na datasetu projektu FRIDA, který si
lze stáhnout z Internetu (viz [9]).
10.2.1 Práce s formáty podporovanými knihovnou OGR
Díky implementaci knihovny OGR máme možnost pracovat s mnoha vektorovými formáty. De-
tailní seznam všech formátů podporovaných touto knihovnou je uveden v kapitole 8 na straně 45,
stejně jako na webové stránce OGR-Software-Suite [7].
Takto lze přímo v GRASSu pracovat s daty např. ve formátu ESRI-SHAPE. K tomu slouží nový
modul v.external, který zprostředkuje potřebné propojení mezi GRASSem a zdroji podporo-
vaných knihovnou OGR. GRASS vybuduje pro netopologická data interní pseudotopologii, tak
2Pozn. překl.: Jak již bylo dříve zmíněno TclTkGRASS 4.0 je součástí GRASSu 5.4, nikoliv 6.0.
10.2. SPRÁVA GEOMETRIE VEKTOROVÝCH DAT 65
Obrázek 10.1: Popis vektorové architektury GRASSu 6.0
aby byly umožněny např. síťové analýzy. Správa hesel zatím není pro externí data podporována.
Poznamenejme, že jsou v současné době tato data přístupná pouze pro čtení, nikoliv pro zápis.
Správa externích dat je v porovnání s přímo importovanými daty také o něco pomalejší:
# vytvoření SHAPE-linku
GRASS:~ > v.external dns=./gdf/shapes layer=frida stras out=frida cesty ext
# zobrazení mapy
GRASS:~ > d.vect frida cesty ext
# dotazování se na elementy mapy
GRASS:~ > d.what.vect frida cesty ext
V případě editace dat je nutné mapu převést do nativního formátu GRASSu:
GRASS:~ > g.copy vect=frida cesty ext,frida cesty int
GRASS:~ > v.digit frida cesty int
Tuto konverzi lze uskutečnit buď prostým zkopírováním připojené mapy a nebo importem
pomocí modulu v.in.ogr (viz část 5.2).
Podobně jako v tomto příkladu lze pracovat se všechny datovými formáty podporovanými
knihovnou OGR.
Výměna dat např. s UMN MapServerem je možná přes databázi PostGIS. Výsledky práce tak
mohou být snadno pomocí UMN MapServeru publikovány přímo na Internetu.
66 10.2. SPRÁVA GEOMETRIE VEKTOROVÝCH DAT
10.2.2 Geometrie vytvořená z DBMS
Pokud jsou data uložena jako páry souřadnic (X/Y) a atributy v souborech DBF, CSV, MS Ex-
cel či databázovém systému PostgreSQL atd., je možné z těchto souborů vygenerovat v GRASSu
mapu. Ukážeme si to na příkladu jednoduché tabulky „staniceÿ v databázi „mydbÿ:
GRASS:~ > v.in.db driver=pg database="host=localhost, dbname=mydb, \user=postgres" table=stanice x=vychod y=sever z=kvota key=ID output=stanice
V případě, že nemá tabulka např. ve formátu dBase žádný sloupec „IDÿ, musí být tento sloupec
přidán a manuálně zaplněn vhodnými hodnotami. Pro tuto činnost se hodí např. program
OpenOffice.org.
10.2.3 Geometrie uložená v textovém souboru
Odpovídající 2D či 3D mapu lze vytvořit i na základě textového souboru obsahujícího souřad-
nice XY nebo XYZ; mějme k dispozici např. coors.txt.
1. Příklad pro 2D mapu
1664619|5103481
1664473|5095782
1664273|5101919
1663427|5105234
1663709|5102614
# import do GRASSu
GRASS:~ > cat coords.txt | v.in.ascii out=my2dmap
# přidání chybějících hodnot kategorií, tak aby mohly být později
# přiřazeny atributy:
GRASS:~ > v.category in=my2dmap out=my2dmap final op=add
GRASS:~ > v.category my2dmap final op=report
2. Příklad pro 3D mapu:
1664619|5103481|445.1
1664473|5095782|534.2
1664273|5101919|532.9
1663427|5105234|454.4
1663709|5102614|525.7
10.3. SPRÁVA ATRIBUTŮ VEKTOROVÝCH MAP 67
# import do GRASSu:
GRASS:~ > cat coords.txt | v.in.ascii -z out=my3dmap
# přidání chybějících hodnot kategorií, abychom mohli později
# doplnit atributy
GRASS:~ > v.category in=my3dmapt out=my3dmap final op=add
GRASS:~ > v.category my3dmap final op=report
Pokud máme připravenou tabulku atributů, můžeme ji připojit modulem v.db.connect.
10.3 Správa atributů vektorových map
Správa atributů je v GRASSu 6.0 zcela nově zpracována. Například lze připojit externí atribu-
tové tabulky. Struktura dig cats/ přítomná ještě v GRASSu 5.4 již není používána. Všechny
atributy jsou uloženy v databázových tabulkách, spojených pomocí DBMI (DataBase Manage-
ment Interface) s geometrií vektorové mapy. Momentálně lze využít následující ovladače:
• DBF (výchozí)
• databáze PosgreSQL
• databáze MySQL
• ODBC – jakákoliv podporovaná databáze (např. Oracle, MySQL, PostgreSQL, atd.)
Spojení geometrie vektorové mapy s popisnými daty umístěnými v atributové tabulce zajiš-
ťuje interní soubor dbln. Jedná se o textový (ASCII) soubor uložený v adresáři obsahující
danou vektorovou mapu. Soubor je automaticky vygenerován při importu mapy do GRASSu.
Tento soubor lze modifikovat pomocí modulu v.db.connect, chcete-li připojit k mapě doda-
tečně tabulku atributů. Aktuální spojení mapy s databázovou tabulkou lze zjistit příkazem
v.db.connect -p vektorova mapa.
Modul v.db.connect umožňuje připojení hned několika atributových tabulek k jedné vektorové
mapě, každé tabulce je pak přiřazeno číslo vrstvy (layer):
GRASS:~ > v.db.connect map=mapa table=atributy1 layer=2
GRASS:~ > v.db.connect map=mapa table=atributy2 layer=3
GRASS:~ > v.db.connect -p map=mapa
Příklad použití je uveden v kapitole 11.2.2.
Poznámka: Smazáním vektorové mapy jsou odstraněny také všechny atributové tabulky při-
pojené k mapě (viz soubor dbln). Je proto rozumné vytvořit pro další práci kopii originální
atributové tabulky.
68 10.3. SPRÁVA ATRIBUTŮ VEKTOROVÝCH MAP
GRASS:~ > db.copy from driver=dbf from table=originalni tabulka to driver=dbf \to table=kopirovana tabulka
Změnu aktuálního nastavení databanky může provést aplikací následujících parametrů:
• DBF: driver=dbf database=’$GISBASE/$LOCATION/$MAPSET/dbf’
• ODBC: driver=odbc database=grass60test
• PostgreSQL:driver=pg database=’host=pgserver.itc.it, dbname=grass60test, user=name’
• MySQL: driver=mysql database=grass60test
Moduly s předponou db.* jsou zcela nezávislé na modulech z rodiny v.*. Umožňují pouze
změny obecného nastavení připojení k databázi. Ve výchozím nastavení je použit ovladač dbf.
Výchozí nastavení lze obnovit příkazem:
GRASS:~ > db.connect driver=dbf database=’$GISBASE/$LOCATION/$MAPSET/dbf’
10.3.1 Správa uživatelů a hesel u externích databází
Externí databáze jako PostgreSQL nabízejí správu uživatelských účtů. Modul db.login řídí pří-
stup do odpovídacích databází a příslušné informace ukládá do souboru $HOME/.grasslogin6.
To umožňuje skupinovou práci na projektu. Ukázkový scénář pro správu práv jednotlivých
skupin by mohl vypadat např. takto:
Location -> Databáze
Mapset -> Databázové schéma
UNIXový uživatel -> Uživatel v databázi
UNIXová skupina -> Skupina v databázi
Tak lze zajistit vybraným skupinám zvláštní práva. V rámci GRASSu toto zajišťuje modul
g.access.
Neměli bychom zapomenout na to, že uživatel databáze musí být synchronizován s uživatelem
UNIXu. Zvláště pak v případech, kdy uživatel UNIXu je odstraněn, nesmíme zapomenout
odstranit tohoto uživatele také z databáze.
10.3.2 Výpis atributů
Modul v.db.select umožňuje jednoduchý výstup atributových dat vektorových map do okna
příkazového interpretu. Sloupce lze oddělit zvoleným znakem.
10.3. SPRÁVA ATRIBUTŮ VEKTOROVÝCH MAP 69
# výstup atributů mapy roads
GRASS:~ > v.db.select map=roads fs="|"
cat|label
0|no data
1|interstate
2|primary highway, hard surface
3|secondary highway, hard surface
4|light-duty road, improved surface
5|unimproved road
10.3.3 Přiřazení atributů
Modul v.to.db umožňuje přiřazení mnoha důležitých a užitečných atributů k vektorovým
elementům. Jsou to zejména:
• jednoznačné hodnoty kategorií, pokud nejsou již přítomny (sloupec cat odpovídá unikát-nímu identifikátoru ID).
• páry souřadnic („coordsÿ)
• velikosti ploch, polygonů opatřených centroidem („areaÿ)
• délku vektorových linií („lengthÿ)
• počet prvků na kategorii („countÿ)
• kategorie ploch nalevo a napravo od hranice ploch („sidesÿ)
• výsledek dotazu („queryÿ)
Před aplikací modulu je nutné přidat do atributové tabulky odpovídající sloupec (v případě
souřadnic dva sloupce). Tuto operaci lze provést např. v programu OpenOffice.org nebo přímo
v GRASSu.
# přidání sloupce typu ’celé číslo’ (integer):
GRASS:~ > echo "ALTER TABLE <vektorova mapa> ADD COLUMN <sloupec> INTEGER" | \db.execute # přiřazení délky vektorových linií
GRASS:~ > v.to.db map=<vektorova mapa> option=length units=meters \col=<sloupec> # kontrolní dotaz
GRASS:~ > echo "SELECT * FROM <vektorova mapa>" | db.select
70 10.3. SPRÁVA ATRIBUTŮ VEKTOROVÝCH MAP
10.3.4 Manipulace s atributovými daty
GRASS nabízí také moduly pro manipulaci s atributy. Pomocí SQL dotazu UPDATE lze atributy
aktualizovat na základě různých kritérií:
# aktualizovat všechny záznamy kde hodnota ’area’ je větší než 200
GRASS:~ > echo "UPDATE <tabulka> SET area = area*1000 WHERE area > 200" | \db.execute
Existuje také možnost editovat atributy interaktivně a to pomocí modulu d.what.vect. Atri-
buty zobrazené ve zvláštním okně lze přímo modifikovat3.
Další možnost jak změnit atributy vektorové map nabízí nově vyvinutý zásuvný modul pro
prohlížečku geodat QGIS [11]. Krátký popis tohoto programu naleznete v kapitole 18.
3Pozn. překl.: Jedná se o přepínač -e.
11 Práce s vektorovými daty
Jak je patrno z obrázku 2.1 v kapitole 2.1, adresářová struktura určená pro skladování vek-
torových dat v GRASSu verze 5.4 a 6.0 se liší. To umožňuje současné uložení vektorový dat
obou formátů ve stejné location a mapsetu. Vektorová data ve formátu GRASSu 5.4 lze snadno
převést do nového formátu (6.0). Pro tuto operaci slouží modul v.convert:
GRASS:~ > v.convert in=grass5stary vektor out=grass60 vektor
GRASS:~ > g.region -p vect=grass60 vektor
GRASS:~ > v.info grass60 vektor
GRASS:~ > v.db.connect -o grass60 vektor
GRASS:~ > d.vect grass60 vektor
Pokud je to nutné, můžete provést i zpětnou konverzi data (data v novém formátu do starého
formátu) a to přes formát ASCII nebo ShapeFile (vhodnější). Nesmíme ovšem zapomentou na
to, že GRASS 5.4 umožňuje přiřadit vektorovému elementu pouze jeden atribut. Jména sloupců
atributové tabulky formátu ShapeFile lze vypsat s použitím parametru -d modulu v.in.shape
(GRASS 5.4):
# exportování mapy ve formátu ShapeFile z GRASSu 6.0
GRASS:~ > v.out.ogr in=grass novy vektor dsn=. olayer=vektor plochy type=area
# data ve formátu ShapeFile importujeme do GRASSu verze 5.0/5.4
GRASS:~ > v.in.shape -d in=vektor plochy.shp
Attribute layers available in vector_areas.shp:
1: ShapeID [int4:4]
2: TypID [int4:2]
3: Name [text:50]
4: TypName [text:50]
GRASS:~ > v.in.shape in=vektor plochy.shp out=vektor attr=TypID label=TypName
71
72 11.1. SÍŤOVÉ ANALÝZY
11.1 Síťové analýzy
Síťové analýzy jsou založeny na topologii dat. Jelikož GRASS je topologický GIS, jehož vlast-
nosti jsou rozšířeny knihovnou DGLib (Direct Graph Library), máme k dispozici následující
moduly určené pro analýzy sítí:
• analýza nejkratší cesty (d.path a v.net.path)
• podsítě v rámci vektorové sítě (v.net.alloc)
• úloha minimálního Steinerova stromu (v.net.steiner)
• úloha obchodního cestujícího (v.net.selesman)
• analýza nákladů (v.net.iso)
V kapitole 12 si na příkladu ukážeme proces optimalizace spádových území v okolí nemocnic.
11.1.1 Analýza nejkratší cesty
Nejkratší cestu mezi dvěmi zadanými body lze zprostředkovat dvěmi způsoby. Standardně
se jako váha bere pouze potřebná vzdálenost. Využít lze ovšem také atributy z databázové
tabulky, např. informaci o nejvyšší povolené rychlosti nebo o stavu vozovky. Tuto váhu lze
definovat pro oba směry zvlášť. Zohlednit lze také atributy uzlů (např. časový cyklus semaforů
na křižovatkách komunikací).
Modul d.path
Modul d.path pracuje přímo s monitorem GRASSu. Modul je řízen pomocí myši a výsledek
zobrazuje ihned v monitoru na zobrazené podkladové mapě.
Modul umožňuje určení pouze dvou bodů, počátečního a koncového. Pokud chceme analyzovat
složitější cestu (složenou z více uzlových bodů) nebo výsledek uložit do nové mapy, použijeme
raději modul v.net.path.
Modul v.net.path
Modul v.neth.path se chová podobně jako d.path, nabízí však širší spektrum parametrů.
Dalším rozdílem je, že tímto modulem lze vytvořit novou vektorovou mapu. Vygenerované
mapy lze tedy uložit do zláštních vrstev.
Možné použití tohoto modulu by mohlo být např. určení nejkratší cesty v síti silnic. Použijeme
např. modelová data z datasetu FRIDA [9] (město Osnabrück). V rámci následujícího příkladu
11.2. FUNKCE PRŮNIKU, PŘEKRYVU A SPOJENÍ 73
tedy nalezneme nejkratší cestu z bodu 40 do bodu 71 (viz kapitola 12).
GRASS:~ > echo "1 40 71" | v.net.path in=nemocnice net out=ma posledni cesta
Pro zohlednění směru cesty, lze při výpočtu nasadit sloupce „forwardÿ a „backwardÿ. Nová
mapa ma posledni cesta tak obsahuje nejkratší (nejvýhodnější) cestu mezi zadanými body.
11.1.2 Podsítě sítí
V rámci zadané vektorové sítě lze pomocí modulu v.net.alloc vytvořit zvolené podsítě. Toho
lze využít např. při určování okrsků pro několik policejních stanic v rámci města. Detailnější
popis si ukážeme v kapitole 12.
11.1.3 Úloha minimálního Steinerova stromu
Minimální Steinerův strom popisuje optimální spojení uzlů v rámci sítě. Pro snazší pochopení
uvedeme jeden příklad:
Představme si, že několik nemocnic ve městě potřebuje nové síťové propojení (telemedicína).
Cílem úlohy je vést kabely ideálně po stávající síti komunikací tak, že bude spotřebováno co
možná nejmenší nutné množství materiálu. Požadavkem je zapojení všech nemocnice do této
sítě. Právě modul v.net.steiner umožňuje řešení této detailně formulované úlohy.
11.1.4 Úloha obchodního cestujícího
Tento typ úlohy spočívá v určení ideální cesty mezi různými body. Jako příklad opět použijeme
nemocnice rozmístěné různě po městě, které má navštívit zaměstnancem jakési farmaceutické
firmy. Modul GRASSu v.net.selesman určí pro tohoto „cestujícíhoÿ ideální cestu, ať už v zá-
vislosti na čase nebo na délce trasy. A to opět na základě atributů silnic.
GRASS:~ > v.net.salesman in=nemocnice sit out=lekarnik ccats=40-215
11.1.5 Analýza nákladů
Modul v.net.iso počítá analýzu nákladů ve vektorové síti. Tím se rozumí výpočet iso-vzdáleností,
tedy určení koncentrických vzdáleností okolo bodu. V závislosti na délce vektorového elementu
nebo daných atributů lze získat potřebné údaje (např. odtok z kanalizační sítě).
11.2 Funkce průniku, překryvu a spojení
Všechny tyto analytické funkce pokrývá jediný modul – v.overlay.
74 11.2. FUNKCE PRŮNIKU, PŘEKRYVU A SPOJENÍ
Obrázek 11.1: Data VMAP0 Německa
Jednotlivé kroky si vysvětlíme na příladech. Jako ukázková data použijeme dataset VMAP0 Ně-
mecka. K dispozici máme administrativní hranice, hlavní vodní toky, silnice, železnice, výšková
data. Dataset byl připraven pro tato skripta na GDF Hannover bR (lze ho stáhnout z adresy
www.gdf-hannover.de/gis.php?id=2).
Nejdříve tedy importujeme potřebné mapy ve formátu ShapeFile. Novou location založíme
automaticky na základě metadat těchto dat.
GRASS:~ > v.in.ogr polgrenzen.shp out=pol hranice location=nemecko
GRASS:~ > exit
# opět spustit GRASS s location nemecko:
$ grass60 /home/user/grassdata/nemecko/PERMANENT
GRASS:~ > v.in.ogr -e dsn=./binnseen.shp out=jezera
GRASS:~ > v.in.ogr -e dsn=./strassen.shp out=cesty
GRASS:~ > v.in.ogr -e dsn=./schienen.shp out=zeleznice
GRASS:~ > v.in.ogr -e dsn=./hoehenpunkte.shp out=vyskove body
11.2.1 Funkce spojení (union)
Tento funkční nástroj lze v GRASSu použít pouze za předpokladu, že vstupní mapa (parametr
ainput) obsahuje polygony. Jako příklad spojíme mapu politické hranice a jezer:
GRASS:~ > v.overlay ainput=pol hranice binput=jezera output=jezera v nemecku \operator=or
Při kontrole výsledné mapy je vidět, že atributy vstupních map jsou uloženy do nově vytvořené
atributové tabulky. Jména sloupců obdržely předponu a resp. b , v závislosti na tom, k jaké
11.2. FUNKCE PRŮNIKU, PŘEKRYVU A SPOJENÍ 75
mapě původně patřily.
11.2.2 Funkce průniku (intersection)
Při intersekci (průnik, intersection) obsahuje výsledná mapa pouze plochy obsažené v obou
vstupních mapách. Všechny další oblasti jsou odstraněny:
GRASS:~ > v.overlay ainput=pol hranice binput=jezera \output=hranice kde jezera operator=and
Atributy vstupních map jsou opět spojeny do nově vytvořené atributové tabulky výstupní
mapy. Jména sloupců jsou opatřeny příslušnou předponou (a resp. b ), v závislosti na tom, k
jaké mapě původně patřily.
11.2.3 Funkce vyříznutí (cutout)
V tomto případě je princip přesně obrácený, než při spojování vektorových dat (union). Ze vstup-
ních vektorových map se do výsledné mapy uloží pouze ty plochy, které v mapě binput nejsou
přítomny:
GRASS:~ > v.overlay ainput=pol hranice binput=jezera \output=hranice kde nejsou jezera operator=not
Ve výsledné mapě jsou tedy uloženy pouze ty spolkové země, ve kterých nejsou žádná jezera.
Obzvláště dobře je to vidět na oblasti Bodamského jezera1. Atributy vstupních map jsou opět
spojeny a uloženy do nově vznikající atributové tabulky výstupní mapy. Jména sloupců jsou
opatřeny příslušnou předponou – a , resp. b , v závislosti na příslušnosti ke vstupní mapě.
11.2.4 Funkce překrytí (overlay)
V rámci funkce překrytí (overlay) jsou převzaty prvky z ainput a binput, pouze pokud ainput
není překryta binput. V následujícím příkladu bude mapa hranice pres jezera obsahovat
hranice, které jsou překryty jezery:
GRASS:~ > v.overlay ainput=jezera binput=pol hranice \output=hranice pres jezera operator=xor
Atributy vstupních map jsou spojeny a uloženy do nové atributové tabulky. Jména sloupců
jsou opatřeny předponou a , resp. b , v závislosti na tom, k jaké mapě původně patřily.
1Pozn. překl.: Jiho-východní cíp, na hranicích s Rakouskem a Švýcarskem.
76 11.3. EXTRAKCE DAT
11.3 Extrakce dat
Modul v.extract umožňuje extrahovat (vybrat) vektorové elementy a příslušné atributy ze vstupní
mapy a uložit výsledek do mapy nové. Z mapy pol hranice vytvoříme novou mapu s hranicemi
Dolního Saska:
GRASS:~ > v.extract in=pol hranice out=dolni sasko type=area new=-1 \where="nam=’NIEDERSACHSEN’"
11.4 Správa topologie
Pro tvorbu topologie, její analýzu a opravu, máme k dispozici moduly v.build a v.clean.
Modul v.build
Modul v.build je následovníkem modulu v.support z GRASSu 5.4. Slouží pro sestavení to-
pologie, která je ovšem většinou vybudována automaticky. Kromě toho obsahuje tzv. „dump
funkceÿ, které na standardní výstup vypisují informace o topologii nebo o „prostorovém in-
dexuÿ.
Modul v.clean
Modul v.clean umožňuje modifikovat topologii vektorových dat a případně data modifikovat
tak aby byla topologicky strávná. Momentálně máme k dispozici celkem dvanáct topologických
operací, které si nyní představíme:
break : Na průsečíku linií vytvoří uzel (node).
rmdupl : Odstraní duplicitní linie, pozor na atributy.
rmdangle : Odstraňuje tzv. dangels („přestřeleníÿ). Důležité je nastavit správnou hodnotu
okolí (threshold).
chdangle : Změní datový typ tzv. dangels z hranice (boundary) na linii. Důležité je opět
nastavit správnou hodnotu okolí (threshold).
rmbridge : Odstraňuje topologicky ilegální spojení mezi plochou a ostrovem nebo mezi dvěma
ostrovy.
chbridge : Mění datový typ spojení mezi plochou a ostrovem nebo mezi dvěma ostrovy z hra-
nice (boundary) na linii.
snap : V závislosti na hodnotě „thresholdÿ jsou linie připojeny k nejbližším uzlům.
11.5. VEKTORIZACE V GRASSU 77
rmdac : Odstraňuje duplicitní centroidy ploch.
bpol : „Čištěníÿ topologie dat, která nejsou topologická (např. ShapeFile).
prune : Odstraňuje uzly v závislosti na zadané hodnotě threshold z linií a hranic, a to tak,
aby byla topologie změněna nebo poškozena.
rmarea : Odstraňuje malé plochy v závislosti na zadané hodnotě threshold a přiřazuje je
nejbližší velké ploše.
rmsa : Odstraňuje malé úhly mezi liniemi a uzly.
11.5 Vektorizace v GRASSu
Spolu s nově vyvinutými vektorovými funkčními nástroji, byl také kompletně přepsán modul
v.digit sloužicí k manuální vektorizaci dat. Tento modul je ovládán z grafického panelu,
do kterého byly integrovány nejdůležitější funkce.
Obrázek 11.2: Grafický panel modulu v.digit
Před tím, než si ukážeme práci s tímto modulem, si krátce popíšeme jednotlivá tlačítka panelu.
Digitize new point: Slouží pro vytvoření vektorových bodů. Formulář pro zadání atributů
se vztahuje pouze na vybranou vrstvu (layer) a hodnotu kategorie (cat) bodu. Modul
používá tři režimy přidělování nové hodnoty kategorie: no category, manual entry
a next not used. Pokud existuje odpovídající atributová tabulka bude automaticky
aktualizována po dokončení vektorizace prvku (obr. 11.5).
Digitize new line: Slouží pro vytvoření vektorových linií. Formulář pro zadání atributů se
vztahuje pouze na vybranou vrstvu (layer) a hodnotu kategorie (cat). Existují cel-
kem tři režimy přidělování nové hodnoty kategorie: no category, manual entry
a next not used. Pokud existuje odpovídající atributová tabulka bude automaticky
aktualizována po dokončení vektorizace prvku (obr. 11.5).
Digitize new boundary: Slouží pro vektorizaci nových uzavřených hranic (boundary). For-
mulář pro zadání atributů se opět vztahuje pouze na vybranout vrstvu (layer) a hod-
notu kategorie (cat) linie. Modul používá tři režimy přidělování nové hodnoty kategorie:
78 11.5. VEKTORIZACE V GRASSU
no category, manual entry a next not used. Pokud existuje odpovídající atribu-
tová tabulka bude automaticky aktualizována po dokončení vektorizace prvku (obr. 11.5).
Po dokončení vektorizace plochy jsou uloženy atributy a připojeny k odpovídajícímu cen-
troidu, nikoliv tedy k samotné hranici. Centroid (definiční bod plochy) je potřeba doda-
tečně vektorizovat (funkce „Digitize new centroidÿ). Při vektorizaci hranic proto zvolte
raději režim no category.
Digitize new centroid: Slouží pro vektorizaci centroidů v rámci nových ploch. Formulář
pro zadání atributů se vztahuje pouze na vybranou vrstvu (layer) a hodnotu kategorie
(cat). Modul používá tři režimy přidělování nové hodnoty kategorie : no category,
manual entry a next not used. Pokud existuje odpovídající atributová tabulka bude
automaticky aktualizována po dokončení vektorizace prvku (obr. 11.5). Centroid nese
atributy plochy.
Move vertex: Umožňuje přesunout opěrné body linií („vertexÿ). Nejedná se tedy o uzly („no-
desÿ). Vektorové body a centroidy nejsou považovány za opěrné body proto nelze tuto
funkci použít pro změnu jejich polohy.
Add vertex: Umožňuje vložení nového opěrného bodu linie. Opěrný bod není považován za
uzel a nemůže mu být přiřazen žádný atribut. Opět platí, že tato funkce nemůže být
použita na vektorové body a centroidy, jelikož ty nejsou považovány za opěrné body.
Remove vertex: Slouží pro odstranění opěrných bodů – nevztahuje se na linie nebo hranice.
Split line: Umožňuje rozdělit linii na dvě nové, spojené uzlem („nodeÿ). Modifikace zasáhne
také příslušné atributy.
Move point, line, boundary or centroid: Slouží pro změnu polohy vektorových bodů, li-
nií, hranic a centoridů. Pokud je hranice některé z ploch přeruššena uzly, je přesunuta
pouze její část.
Delete point, line, boundary or centroid: umožňuje odstranit vektorové body, linie, hra-
nice a centroidy. Pokud je hranice některé z ploch přeručena uzly, je odstraněna pouze
její část.
Zoom in by window: Slouží pro zvětšování výřezu okna výběrem pomocí myši. Funkce jed-
notlivých tlačítek se mění a je vypisována v grafickém panelu. Přičemž jejich funkce je
obdobná jako u modulu d.zoom.
Zoom out: Uživatel může pomocí této funkce zmenšit aktuální výřez.
Zoom to default region: Nastaví hranice zobrazení na výchozí hodnotu, tedy na hodnotu,
kterou bychom získali příkazem g.region -d a provede překreslení mapy.
Zoom to region: Nastavení zobrazení podle předem uloženého regionu. Ten si lze připravit
příkazem g.region s parametrem save=.
11.5. VEKTORIZACE V GRASSU 79
Redraw: Překreslí obsah monitoru. Tuto funkci můžete použít pokud např. změníte poklado-
vou mapu.
Display categories: Zobrazení hodnot kategorií (cat) a čísel vrstev (layer) objektu vybraného
pomocí myši. Dané hodnoty lze modifikovat.
Display attributes: Zobrazení atributů objektu vybraného pomocí myši. Formulář umožňuje
jednotlivé atributy také editovat. Zobrazeno bývá také číslo vrstvy (layer), hodnota ka-
tegorie (cat), údaje o databázi, sloupec s primárním klíčem (key column). Atributy lze
uložit v jednom z podporovaných kódování (utf-8, ascii, iso8859-1 a koi8-r).
Open settings: Otevře nový formulář, ve kterém lze nastavit různé základní parametry.
Funkce jsou rozděleny do skupin (záložek). Ve skupině Symbology lze měnit barevné
znázornění jednotlivých prvků. Nastavení funkce „snappingÿ (hodnotu okolí) lze provést
v záložce Settings. Atributová tabulka se vytváří (pokud ještě nebyla vytvořena) v zá-
ložce Table. Podkladové mapy se nastavují v záložce Background. Zobrazit lze několik
rastrových i vektorových map.
Exit: Ukončení práce s modulem v.digit. Veškeré změny jsou uloženy a je znovu sestavena
topologie dat.
Příklad vektorizace
Proces vektorizace si ukážeme na území Spearfish na pokladové mapě 1 : 24 000 (obrázek 11.3).
Topografická mapa je dostupná v testovacím datasetu „Spearfishÿ, uvolněném South Dacota
Geological Survey (SDGS) speciálně jako výukový dataset ke GRASSu. Dataset lze stáhnout
z adresy http://grass.itc.it/dowload/data.php.
Import topologické mapy do datasetu Spearfish
Nejdříve stáhneme location Spearfish
$ wget http://grass.itc.it/sampledata/spearfish grass60data.tar.gz
$ wget http://grass.itc.it/sampledata/spearfish toposheet.tar.gz
Rozbalíme location do adresáře grassdata a spustíme GRASS
$ tar xvzf spearfish grass60data.tar.gz /home/user/grassdata/
$ grass60 /home/user/grassdata/spearfish/PERMANENT
Nyní můžeme naimportovat topografickou mapu (formát GeoTiff), nejdříve ovšem daný soubor
rozbalíme
GRASS:~ > tar xzf spearfish toposheet.tar.gz
GRASS:~ > r.in.gdal -e in=spearfish topo24.tif out=tk24
Pro kontrolu můžeme mapu vizualizovat
80 11.5. VEKTORIZACE V GRASSU
GRASS:~ > g.region rast=tk24 -ap
GRASS:~ > d.mon x0
GRASS:~ > d.rast tk24
Obrázek 11.3: Topografická mapa regionu Spearfish s informacemi o využití půdy
Vektorizovat budeme oblast v okolí „Lookhout Peakÿ. Konkrétně bod (místo výhledu na Loo-
kout Peak), vrstevnice a oblast lesa. Jednotlivé vektorové prvky budou uloženy do tří různých
tématických map (obr. 11.3). Protože chceme, aby se mapy uložily do nového mapsetu, ukon-
číme nyní GRASS a opět jej spusťte s novým mapsetem:
GRASS:~ > exit
# Při spuštění zadat jméno nového mapsetu $ grass60
Místo výhledu „Lookout Peakÿ
Pro vektorizaci bodu „Lookout Peakÿ spustíme modul v.digit s volbou -n. Tím bude auto-
maticky vytvořena nová mapa. Jako podkladovou mapu zvolíme tk24:
GRASS:~ > d.mon x0
GRASS:~ > g.region rast=tk24
GRASS:~ > v.digit -n map=lookout bgcmd="d.rast tk24"
Spustí se grafický panel modulu v.digit (viz obr. 11.2) a na pozadí monitoru se zobrazí
mapa tk24. Stiskněte tlačítko Settings a vyberte záložku Table, kde zadejte jméno nového
sloupce (Name) v atributové tabulce. Typ sloupce nastavte na varchar (textový řetězec) –
11.5. VEKTORIZACE V GRASSU 81
viz obrázek 11.4.
Obrázek 11.4: Vytvoření atributové tabulky při manuální vektorizaci
Následně zvětšíme oblast východně od města Spearfish a vytvoříme jeden bod na místě výhledu
„Lookout Peakÿ (viz obr. 11.3): Zvolte tlačítko Digitize new point a následně klikněte
v monitoru na požadované místo.
Bezprostředně po vytvoření bodu se objeví nové okno, ve kterém můžeme doplnit potřebné
atributy. V našem případě jsou dva – kategorie (cat) a jméno (Name). Do políčka Name tedy
napíšeme „Layout Peakÿ. Úložení atributů do databázové tabulky provedete pomocí tlačítka
Submit. Úspěšná aktualizace atributů je potvrzena nápisem „Record sufcessfully updatedÿ.
Modul v.digit nyní můžeme opustit tlačítkem Exit. Mapa lookout je uložena a je vybudo-
vána její topologie.
Building topology ...
1 primitives registered
0 areas built 0%
0 isles built
Topology was built.
Number of nodes : 1
Number of primitives: 1
Number of points : 1
Number of lines : 0
Number of boundaries: 0
Number of centroids : 0
Number of areas : 0
Number of isles : 0
Vektorizace vrstevnic
Jako další budou manuálně vektorizovány vrstevnice v intervalu 100m. Modul v.digit opět
spustíme s parametrem -n, čímž vytvoříme novou mapu vrstevnice. Podkladová mapa bude
opět topografická mapa tk24:
GRASS:~ > d.mon x0
82 11.5. VEKTORIZACE V GRASSU
GRASS:~ > g.region rast=tk24
GRASS:~ > v.digit -n map=vrstevnice bgcmd="d.rast tk24"
Spustí se grafický panel modulu v.digit (viz obr. 11.2) a na pozadí monitoru se zobrazí mapa
tk24. Stiskněte tlačítko Settings a vyberte záložku Table a zadejte jméno nového sloupce
(Vyska) v atributové tabulce. Datový typ ponechte nastavený na int (celé číslo).
Vhodně zvětšte území východně od města Spearfish (obr. 11.3) a stisknutím tlačítka Digitize
new line spusťe vektorizaci linií. Celý proces vektorizace započne stisknutím levého tlačítka
myši. Funkce jednotlivých tlačítek je popsána v panelu modulu. I zde můžete nastavit vrstvu
(layer) a způsob zvolení hodnoty kategorie (cat).
Obrázek 11.5: Udání atributů při vektorizaci
Při ukončení vektorizace každé linie2 se objeví grafický formulář pro zadání atributů (obr. 11.5).
V našem případě zadáme jako atribut linie její nadmořskou výšku. Klikněte tedy myší do pole
formuláře se sloupcem Vyska a zadejte správnou hodnotu (např. 4200). Stisknutím tlačítka
Submit je atribut uložen do tabulky. Uložení je potvrzeno nápisem „Record sufcessfully
updatedÿ.
Po dokončení procesu vektorizace opusťte modul pomocí tlačítka Exit, mapa je uložena a je
vytvořena topologie dat:
Building topology ...
825 primitives registered
2Pozn. překl.: Modul v.digit disponuje jednou nepříjemnou vlastností – během vektorizace prvku nelzeměnit pohled (zoomovat, centrovat pohled).
11.5. VEKTORIZACE V GRASSU 83
0 areas built
0 isles built
Topology was built.
Number of nodes : 203
Number of primitives: 249
Number of points : 0
Number of lines : 249
Number of boundaries: 0
Number of centroids : 0
Number of areas : 0
Number of isles : 0
Lesní oblasti východně od Spearfish
Nakonec budeme vektorizovat lesní oblasti v okolí výhledového bodu. Modul v.digit opět
spustíme s parametrem -n, čímž vytvoříme novou mapu les. Podkladová mapa bude opět
tk24:
GRASS:~ > d.mon x0
GRASS:~ > g.region rast=tk24
GRASS:~ > v.digit -n map=les bgcmd="d.rast tk24"
V grafickém panelu pod Settings vytvoříme atributovou tabulku, která bude mít kromě
sloupce kategorie (cat) také sloupec Name typu varchar (obr. 11.4).
Zvětšte oblast východně od města Spearfish a stisknutí tlačítka Digitize new boundary
začněte vektorizovat hranice lesních ploch. Funkce tlačítek myši je opět popsána v grafickém
okně. Při vektorizaci ploch nastavte režim přidávání nové kategorie na hodnotu No category.
Atributy plochy totiž nejsou vztaženy k její hranici, nýbrž k centroidu plochy.
Pro vytváření uzavřených ploch je důležité nastavit Snapping threshold na vhodnou hod-
notu, tak aby linie byly automaticky navázány. Výchozí hodnota je 10 pixelů na monitoru
(obr. 11.6)3.
Obrázek 11.6: Nastavení hodnoty okolí („snapping thresholdÿ) pro navázání linií
3Pozn. překl.: GRASS 6.0 obsahuje chybu, která neumožňuje automatické navázání linií. Linie musí být
přerušena alespoň jedním uzlem, navázaní linií musíte později opravit funkcí Move vertex.
84 11.5. VEKTORIZACE V GRASSU
Do uzavřené plochy musíte vložit centroid (definiční bod plochy), ke kterému jsou poté přiřazeny
atributy plochy. Stiskněte tlačítko Digitize new centroid a nastavte režim přidávání dalších
kategorií na Next not used. Klikněte do středu plochy a vložte nový centorid. Do formuláře
pro zadávání atributů vložte do sloupce Name „lesÿ a potvrďte tlačítkem Submit.
Nakonec opusťte modul tlačítkem Exit:
Building topology ...
478 primitives registered
46 areas built
isles built
Topology was built.
Number of nodes : 357
Number of primitives: 478
Number of points : 0
Number of lines : 0
Number of boundaries: 367
Number of centroids : 46
Number of areas : 46
Number of isles : 0
12 Příklad použití: Vektorová optimalizace
spádových oblastí
Nyní si blíže představíme práci s modulem v.net.alloc.
Máme vytvořit mapu spádových oblastí vztažených k výchozím bodům (kliniky), ze kterých
dorazí nejrychleji první pomoc. V potaz lze vzít různé faktory (nejvyšší povolená rychlost, stav
silnic, jednosměrné silnice, . . . ) přiřazených v závislosti na směru vektorových linií a poloze
uzlů (silnic a křižovatek). V této kapitole se budeme zabývat aplikací analýzy silniční sítě.
12.1 Import ukázkových dat
Stejně jako u předchozích příkladů, použijeme volně dostupný dataset, tentokrát se bude jednat
o data z projektu FRIDA [9]. Jde o vektorová data města Osnabrück (Německo). Vedle aktuální
sítě silnic obsahuje dataset také informace o říční síti a o významných objektech (kliniky, školy,
atd.). Data jsou uložena ve formátu ShapeFile.
Vytvořit location v souřadnicovém systému Gauß-Krüger lze zcela automaticky. A to z aktu-
álního sezení GRASSu na základě importovaných dat (viz kapitola 5.2).
Import dat ve formátu ShapeFile provedeme modulem v.in.org (např. z location Spearfish).
$ grass60 ~/grassdata/spearfish60/user1/
Import sítě silnic a vytvoření nové location
GRASS:~ > v.in.ogr dsn=frida-1.0.-1-shp-joined/strassen-joined.shp \out=silnice loc=frida
GRASS:~ > exit
Start s novou location
$ grass60 ~/grassdata/frida/PERMANENT
Import bodových dat
GRASS:~ > v.in.ogr dsn=frida-1.0.-1-shp-joined/poi-joined.shp output=body
Případné problémy s topologií dat by měly být vyřešeny při importu modulem v.in.ogr.
Pokud se přesto při importu objeví chybové výpisy, např. u polygonových dat (FRIDA v1.0.1),
můžete tyto chyby v topologii napravit pomocí modulu v.clean (viz kapitola 11.4).
85
86 12.2. VÝBĚR KLINIK Z BODOVÉ MAPY
Nejdříve je potřeba obohatit vektorovou mapu o další interní vrstvu (layer). To nám posléze
dovolí přiřadit k mapě další atributovou tabulku:
# Přidání nové vrstvy číslo 2
GRASS:~ > v.category body out=body 2f layer=2 op=add
Pro kontrolu vypíšeme kategorie obou vrstev
GRASS:~ > v.category body 2f layer=1,2 op=print
# -> layer 1 == layer 2
Obrázek 12.1: Síť silnic a klinik města Osnabrück
12.2 Výběr klinik z bodové mapy
Po importu extrahujeme z mapy body 2f pouze body odpovídající klinikám v prostoru města
Osnabrück:
# Extrakce klinik
12.3. PŘIŘAZENÍ KLINIK SÍTI SILNIC 87
GRASS:~ > v.extract in=body 2f out=kliniky pre type=point \where="poiTypName=’Klinik/Hospital’"
GRASS:~ > v.select ainput=body 2f binput=kliniky pre out=kliniky
Pro kontrolu:
GRASS:~ > v.info kliniky
# -> one dblink
GRASS:~ > v.category kliniky layer=1,2 op=print # -> 2 layers (dblinks)
Vizualizace dat:
GRASS:~ > d.erase
GRASS:~ > d.vect silnice
GRASS:~ > d.vect kliniky disp=attr attr=poiNameID bgcolor=white bcolor=black
GRASS:~ > d.vect kliniky col=red icon=basic/diamond
12.3 Přiřazení klinik síti silnic
Na obrázku 12.1 je znázorněna výchozí situace při určování optimálních hranic oblastí. Aby
mohly být kliniky přiřazeny síti silnic, je důležité je před vlastní operací integrovat do této sítě.
Navíc je nutné přidělit jednotlivé kategorie právě ve vrstvě číslo 2, ke které se budou později
vztahovat výpočetní operace.
Toto přiřazení bude provedeno ve dvou krocích. Nejdříve spojíme mapu kliniky s mapou
silnice do nové mapy silnice kliniky. Atributové tabulky spojíme na základě čísla vrstvy
(layer):
Spojení map
GRASS:~ > v.patch in=silnice,kliniky out=silnice kliniky
Kontrola
GRASS:~ > v.info silnice kliniky
# -> dblinks = 0
GRASS:~ > d.erase
GRASS:~ > d.vect silnice kliniky
GRASS:~ > d.vect silnice kliniky type=point col=red
88 12.3. PŘIŘAZENÍ KLINIK SÍTI SILNIC
V případě, že není nastaveno připojení k databázi, musíme tak učinit nyní
GRASS:~ > db.connect dr=dbf database=’$GISDBASE/$LOCATION NAME/$MAPSET/dbf’
Zobrazíme sloupce z atributové tabulky silnice
GRASS:~ > db.describe -c silnice
ncols:7
Column 1: cat
Column 2: strShapeID
Column 3: strID
Column 4: strTypID
Column 5: strSpuren
Column 6: strEbene
Column 7: strName
Nyní přiřadíme atributy linií k vektorové mapě pod číslem vrstvy 1
GRASS:~ > v.db.connect silnice kliniky dr=dbf
data=’$GISDBASE/$LOCATION NAME/$MAPSET/dbf/’
table=silnice layer=1 key=cat
Podobně i pro druhou vrstvu (bodové informace)
GRASS:~ > v.db.connect silnice kliniky dr=dbf
data=’$GISDBASE/$LOCATION NAME/$MAPSET/dbf/’
table=kliniky layer=2 key=cat
Kontrolní výpis
GRASS:~ > v.db.connect -p silnice kliniky
Poznámka: Pokud bychom nyní mapu silnice kliniky odstranili, byly by zároveň od-
straněny i atributové tabulky (kliniky a silnice) (viz kapitola 10.3). Toto riziko lze obejít
vytvořením jejich kopií.
Nyní přistoupíme k druhému kroku, ve kterém se pokusíme zakomponovat ve vytvořené mapě
silnice kliniky referenční body klinik do silniční sítě:
Vytvoření spojení mezi silnicemi a klinikami:
GRASS:~ > v.distance -p from=kliniky to=silnice out=silnice kliniky connect
uploade=dist column=dist
Spojení vektorových map silnice kliniky a silnice kliniky connect:
GRASS:~ > v.patch in=silnice kliniky,silnice kliniky connect out=kliniky net pre
12.4. VYTVOŘENÍ OPTIMÁLNÍCH SPÁDOVÝCH OBLASTÍ 89
Na tomto místě opravíme chyby v topologii dat:
GRASS:~ > v.clean in=kliniky net pre out=kliniky net tool=break,snap
A odstraníme již nepotřebné mapy:
GRASS:~ > g.remove vect=kliniky net pre,kliniky pre
Mapa kliniky net obsahuje síť silnic, kliniky a spojovací linie mezi klinikami a silnicemi.
Atributy klinik jsou přístupné ve vrstvě číslo 2, lze je tak využít jako výchozí body při určování
spádových oblastí.
12.4 Vytvoření optimálních spádových oblastí
Po úspěšné přípravě dat přistoupíme k samotnému určení spádových oblastí příslušných klinik
na základě nejkratšího potřebného času v závislosti na délce trasy.
Obrázek 12.2: Přiřazení ulic k nejbližší klinice
Jedná se, jak již bylo zmíněno, o nejjednodušší případ bez zohlednění dalších faktorů, jako
90 12.4. VYTVOŘENÍ OPTIMÁLNÍCH SPÁDOVÝCH OBLASTÍ
je nejvyšší povolená rychlost nebo směr jízdy. Jednotlivé atributy (názvy sloupců atributové
tabulky) lze však bezproblémově přiřadit modulu v.net.alloc.
GRASS:~ > v.net.alloc in=kliniky net out=kliniky alloc ccats=40-215
Výsledkem je mapa obsahující podsítě, vytvořené na základě dostupnosti přiřazené jednotlivým
klinikám. Každá ulice je tedy přiřazena přesně jedné klinice, ze které je, na základě vzdálenosti,
nejpřístupnější. V případě potřeby lze přidat do linií další uzly tak aby bylo možné definovat
přesnější hranici oblastí.
Na obrázku 12.2 můžeme vidět výsledek naší činnosti. Vizualizaci můžete provést buď pomocí
modulu d.m, nebo příkazem d.vect:
GRASS:~ > d.vect map=kliniky alloc col=red cats=40
GRASS:~ > d.vect map=kliniky alloc col=green cats=41
GRASS:~ > d.vect map=kliniky alloc col=blue cats=69
...
GRASS:~ > d.vect map=kliniky alloc col=black cats=215
Celkem obsahuje GRASS sedm různých modulů určených pro síťové analýzy, blíže popsaných
v kapitole 11.1. Jejich použití je velmi podobné. Tento příklad tak může posloužit jako předloha
pro další vaše experimenty.
13 Konverze dat
Často je potřeba převést rastrová data (linie a plochy) na data vektorová. Či v opačném případě
např. vektorové linie do rastrového formátu, tak abychom mohli vytvořit digitální model terénu.
Jelikož je GRASS hybridní GIS, nabízí moduly pro konverzi dat z jednoho formátu do druhého.
13.1 Vektorizace rastrových dat
GRASS umožňuje automatickou vektorizaci rastrových dat. Tento převod lze aplikovat na li-
niová (isolinie), plošná i bodová data.
Plochy
Linie
Polygony
Isolinie
Linier.thin + r.to.vect feature=line
r.to.vect feature=area
r.contour
Rastrová data
v.digit (manuálně)
Vektorová data
Obrázek 13.1: Moduly pro automatickou vektorizaci rastrových map
13.1.1 Vektorizace linií a isolinií
GRASS poskytuje dva zajímavé moduly, které umožňuje převést rastrová data na liniová vek-
torová data. Jsou to r.to.vect a r.contour.
Modul r.to.vect použijeme pro vytvoření vektorových linií. Tento modul podporuje záro-
veň vektorové linie, polygony a body, jako výchozí typ jsou nastaveny linie. Pokud jsou linie
v rastrovém formátu příliš široké (více pixelů vedle sebe), musí být nejdříve ztečeny modulem
r.thin na šířku jednoho pixelu:
GRASS:~ > r.thin in=rastr out=rastr thin
GRASS:~ > r.to.vect in=rastr thin out=rastr vect feature=line
91
92 13.1. VEKTORIZACE RASTROVÝCH DAT
Pokud potřebujete vytvořit vektorové linie (vrstevnice) na základě digitálního modelu terénu,
použijte modul r.countour. Vektorové linie jsou vytvořeny po zadání potřebné velikosti kroku
(step). Velikost intervalu isolinií (vrstevnic) je závislá na sklonu svahu a měřítku mapy.
Vektorizace ploch
Pro konverzi rastrových ploch na vektorové použijeme opět modul r.to.vect s parametrem
feature=area:
GRASS:~ > r.to.vect in=rastr thin out=rastr vect feature=area
Vyhlazování linií a ploch
Jelikož při konverzi rastrové reprezentace na vektorovou dochází, v závislosti na rozlišení vstup-
ních dat, ke „schodovémuÿ efektu, nabízí GRASS možnost tento efekt minimalizovat pomocí
modulu v.clean s parametrem prune v kombinaci s vhodně zvolenou hodnotou okolí (thre-
shold).
Podoba schodového efektu ve výsledné mapě je zá-
Obrázek 13.2: Vyhlazování vektorizova-
ných linií
vislá na rozlišení vstupní rastrové mapy, protože
algoritmus tohoto modulu nepracuje se středem
buněk, ale snaží se průběh linie co nejlépe kopíro-
vat.
Na obrázku 13.2 je prezentován příklad vyhlazení
vektorizované linie. Z demostračních důvodů byla
zvolena velmi vysoká hodnota okolí (threshold).
Původní je znázorněna červeně, vyhlazená linie
modulem v.clean naopak modře.
Byl tak zmenšen počet lomových bodů, a to bez
narušení topologie dat. Kromě vizuálního efektu
tato operace zmenšuje také objem dat.
Opět zdůrazňujeme, že změna geometrie může ve
svém důsledku pozměnit vypovídací hodnotu mapy.
Používejte tedy tento modul pouze s nejvyšší opa-
trností. Nebojte se optimální hodnotu okolí (thre-
shold) vyhledat postupně po malých krocích.
Konverze bodových dat
Jak již bylo zmíněno, nová vektorová architektura již nepodporuje speciální formát „sitesÿ
GRASSu 5.4. Bodová data jsou nyní spravována vektorovými moduly. Modul r.to.vect tak
13.2. RASTERIZACE VEKTOROVÝCH DAT 93
disponuje možností automaticky vektorizovat i rastrové body (feature=point).
13.2 Rasterizace vektorových dat
Konverzi vektorových dat (plošných, liniových a bodových) na data rastrová umožňuje modul
v.to.rast. Při převodu musíme zadat atribut, který se má uložit jako hodnota rastrové buňky.
Plochy
Linie
BodyBody
Linie
Isolinie
Polygony
v.to.rast
v.to.rast
v.to.rast − r.surf.contour
v.to.rast
v.surf.rst v
.surf.idw
Vektorová data Rastrová data
Obrázek 13.3: Moduly pro rasterizaci vektorových dat podle [Net00]
Na výběr máme následující parametry:
attr → atributy z databázové tabulkycat → hodnoty kategoriíval → předdefinované hodnotyz → souřadnice z (pouze u bodů a linií)
Pokud mají být použity atributy (attr) z databázové tabulky, je důležité zadat odpovídající
sloupec této tabulky. Rozlišení výsledné rastrové mapy závisí na nastavení aktuálního regionu.
Vlastnosti regionu lze změnit modulem g.region.
GRASS také umožňuje vytvářet spojité rastrové mapy interpolací bodových dat. Dostupné
interpolační metody jsou blíže popsány v kapitole 14.1.
94 13.2. RASTERIZACE VEKTOROVÝCH DAT
14 Interpolace
Jedním z nejčastějších použití (pravidelně nebo nepravidelně rozložených) bodových dat je in-
terpolace souvislého povrchu na ohraničeném území. V GISu jsou pak tyto povrchy často vy-
užívány v různých modelech a simulacích.
Asi nejznámějším případem interpolace je generování digitálního výškového modelu (DEM)
z bodových výškových dat.
14.1 Interpolace rastrových dat
Při interpolaci rozlišujeme dvě různá použití:
• změna rozlišení rastrových dat („resamplingÿ),
• vyplnění „děravýchÿ míst (interpolace).
Pro první případ nabízí GRASS dva interpolační moduly:
1. metoda nejbližšího souseda „nearest neighborÿ (NN),
2. spline-funkce (Regularized Splines with Tension, RST)1.
Pro druhý případ nabízí GRASS následující metody:
1. metoda vážené vzdálenosti (Inverse Distance Weighted, IDW)2,
2. spline-funkce (Regularized Splines with Tension, RST).
1Pozn. překl.: Algoritmus patří do skupiny funkcí označovaných jako splines, které plochu neprokládají skrze
vstupní body, ale mezi vstupními body. Vlastnosti prokládané křivky jsou dány jejími parametry.2Pozn. překl.: Metoda IDW je interpolační metoda, u které jsou hodnoty buňek odhadovány na základě
průměru známých hodnot okolí každé buňky, přičemž hodnoty buněk bližších centrální buňce mají větší vliv
resp. váhu v průměrovém procesu.
95
96 14.1. INTERPOLACE RASTROVÝCH DAT
14.1.1 Metoda IDW
Algoritmus IDW bere v potaz následující předpoklad: určovaná (interpolovaná) hodnota bodu
je určena jako vážený průměr známých hodnot, kdy se váha přiřazená jednotlivým bodům
zmenšuje podle vzdálenosti bodů. Nejdříve je tedy vypočítána vzdálenost mezi určovaným
bodem a sousedními body o známé hodnotě. Následuje výpočet jeho hodnoty, jako váženého
průměru vzdálenosti (1/d). Často je vzdálenost v závislosti na vlastnostech povrchu umocněna
(1/d2 nebo 1/d3).
Výhodou je dobrá znalost interpolovaného povrchu, tak abyste mohli interaktivně nastavit pa-
rametry interpolace a dosáhnout tak co nejlepšího výsledku. Výsledkem této činnost je rastrová
mapa.
Moduly GRASSu pro interpolaci IDW
v.surf.idw vstup: vektorová mapa
r.surf.idw vstup: rastrová mapa
Jelikož jsou bodová data uložena v GRASSu 6.0 ve vektorové formě, byl modul s.surf.idw
z GRASSu 5.4 nahrazen modulem v.surf.idw.
14.1.2 Metota RST (spline)
Metodu RST je výhodné aplikovat na data, která obsahují větší oblasti bez hodnot. Výsledkem
této metody je plocha, která prochází mezi výchozími body. Cílem je, aby tato plocha repre-
zentovala co možná nejvěrněji vstupní bodové pole a zároveň aby vyplnila mezery v tomto poli.
Vlastnosti této plochy jsou přímo ovlivněny zadanými parametry, proto je nanejvýš vhodné se
s nimi blíže seznámit. Detaily optimalizace parametrů interpolace lze nalézt v [NM04].
Následující moduly využívají metodu RST a na základě vektorových dat vytvoří interpolovanou
rastrovou mapu.
Moduly GRASSu pro interpolaci RST
v.surf.rst
v.vol.rst G3D grid volume (3D rastrová data)
Jak jsme se již zmínili v podkapitole 14.1.1, jsou bodová data v GRASSu 6.0 spravována jako
vektorové body. Pro interpolaci RST tak vznikl odpovídající modul v.surf.rst.
14.2. INTERPOLACE DAT VE VEKTOROVÉM FORMÁTU 97
Další interpolační moduly
r.surf.area
r.surf.contour
r.surf.fractal
r.surf.gauss
r.surf.random
14.2 Interpolace dat ve vektorovém formátu
Bodové informace (např. hodnoty měření) lze plošně prezentovat také pomocí tzv. „Thiesse-
nových polygonůÿ. Po manuální vektorizaci bodových dat např. s atributem nadmořské výšky
z, nastavíme region pomocí g.region na požadované rozlišení a nakonec pomocí metody IDW
určíme plochy těchto polygonů.
GRASS:~ > v.surf.idw in=bodova mapa out=thiessen npoints=1
Použít lze různé metody triangulace. Pro podrobnější informace si prostudujte manuálovou
stránku modulu (g.manual v.surf.idw).
98 14.2. INTERPOLACE DAT VE VEKTOROVÉM FORMÁTU
15 Mapová algebra s modulem r.mapcalc
Modul r.mapcalc je používán pro analýzu, manipulaci a produkci rastrových map na základě
aritmetických a logických operací. Pracuje buď v interaktivním režimu, nebo mu lze příkaz
předat přímo jako parametr. Jako proměnné lze použít rastrové mapy, konstanty (celočíselné
i reálné) a matematické funkce. GRASS rozlišuje hodnotu „no dataÿ a „0ÿ v tomto smyslu:
NULL žádná data
0 hodnota „0ÿ (např. bod mrazu ve stupních Celsia)
Mapu vytvořenou pomocí modulu r.mapcalc přímo ovlivňují vstupní rastrové mapy, jejich
formát a nastavení aktuálního regionu. Protože se jedná o skutečně mocný nástroj, určitě si
prostudujte manuálové stránky modulu.
15.1 Modul r.mapcalc: definované operátory
Tabulka 15.1: Definované operátory modulu r.mapcalcoperátor význam typ priorita vyhodnocení
ˆ exponent aritmetický 5
% modulo (zbytek po celočíselném dělení) aritmetický 4
/ dělení aritmetický 4
∗ násobení aritmetický 4
+ sčítání aritmetický 3
− odečítání aritmetický 3
== rovnost logický 2
! = nerovnost logický 2
> větší než logický 2
< menší než logický 2
>= větší rovno než logický 2
<= menší rovno než logický 2
&& AND (a) logický 1
|| OR (nebo) logický 1
# rozděluje tabulku barev aritmetický -
99
100 15.2. MODUL R.MAPCALC: DEFINOVANÉ FUNKCE
15.2 Modul r.mapcalc: definované funkce
Tabulka 15.2: Definované funkce modulu r.mapcalcfunkce význam význam typ
abs(x) absolutní hodnota z x |x| *1
atan(x) arkustangens z x (výsledek ve stupních) arctan(x) F2
atan(x,) arkustangens z x/y (výsledek ve stupních) arctan(x) F
cos(x) kosinus z x (x ve stupních) cos(x) F
double(x) převede x na číslo s plovoucí desetinnou čárkou F
eval([x,y,...,]z) vyhodnotí výrazy x a y a výsledek uloží do z
exp(x) exponenciální funkce z x ex F
exp(x,y) mocnina y z x xy F
float(x) převede x na číslo s plovoucí desetinnou čárkou F
if operátor rozhodování
if(x) 1, když x není 0, jinak 0
if(x,a) a, když x není 0, jinak 0
if(x,a,b) a, když x není 0, jinak b
if(x,a,b,c) a, když x > 0, b když x rovno 0, c když x < 0
int(x) převede x na celé číslo, zbytek odřízne I3
isnull() 1, když x rovno NULL (no data) F
log(x) přirozený log z x ln(x) F
log(x,b) log z x při základu b logb(x) F
max(x,y[,z...]) vrátí největší ze zadaných hodnot *
median(x,y[,z...]) vrátí prostřední hodnotu (medián) ze zadaných hodnot *
min(x,y[,z...]) vrátí nejmenší ze zadaných hodnot *
mode(x,y[,z...]) vrátí nejčetnější hodnotu (modus) ze zadaných hodnot *
not(x) 1 pokud x je nula, jinak 0
rand(low,high) vrátí náhodnou číselnou hodnotu z intervalu low,high
round(x) zaokrouhlí x na nejbližší celočíselnou hodnotu I
sin(x) sinus z x (x ve stupních) sin(x) F
sqrt(x) odmocnina z x√
x F
tan(x) tangens z x (x ve stupních) tan(x) F
1Vrací reálné číslo, pokud je x reálné číslo.2Výsledek je vždy reálné číslo.3Výsledek je celé číslo.
15.3. VNITŘNÍ PROMĚNNÉ MODULU R.MAPCALC 101
15.3 Vnitřní proměnné modulu r.mapcalc
Tabulka 15.3: Proměnné modulu r.mapcalcproměnná význam
x() proměnná pro aktuální souřadnici x
y() proměnná pro aktuální souřadnici y
col() proměnná pro aktuální číslo sloupce
row() proměnná pro aktuální číslo řádku
nsres() proměnná pro aktuální rozlišení sever-jih
ewres() proměnná pro aktuální rozlišení východ-západ
Použití modulu r.mapcalc si ukážeme na dvou jednoduchých příkladech:
výsledek = rastrová mapa soils− rastrová mapa reclass× 2
GRASS:~ > r.mapcalc "vysledek = soils - reclass * 2"
výsledek = (rastrová mapa soils− rastrová mapa reclass)× 2
GRASS:~ > r.mapcalc "vysledek = (soils-reclass) * 2"
15.4 Maskování
Maskování zájmové oblasti může být před vlastní analýzou dat velmi užitečné. Již existující
rastrovou mapu nastavíme jako masku, tak že ji přejmenujeme na MASK (s velkými písmeny).
Nebo vytvoříme kopii s tímto názvem pomocí modulu g.copy. Oblasti s hodnotou různou
od NULL nebo „0ÿ jsou maskovány, tj. nevstupují do dalších analýz. Naopak oblasti pokryté
jinou hodnotou (např. „1ÿ) maskovány nejsou.
Modul r.mapcalc umožňuje velmi snadno vytvořit masku na základě existují mapy
GRASS:~ > r.mapcalc "MASK = mapa"
Maska může být vytvořena i na základě komplikovanějšího vztahu, např. maskovat oblasti,
které jsou pokryty hodnotou „1ÿ nebo „3ÿ:
GRASS:~ > r.mapcalc "MASK=if(mapa==1 || mapa == 3, null(), mapa)"
Nastavená maska bude aplikována na všechny další rastrové analýzy, vektorové operace nejsou
maskou nijak dotčeny. Pokud masku již nepotřebujete, můžete ji buď smazat, nebo přejmenovat
(viz kapitola 9.6.2).
102 15.4. MASKOVÁNÍ
Aby bylo na první pohled viditelné, že pracujete s aktivní maskou, je při každém příkazu
vypsáno upozornění [Raster MASK present].
16 3D vizualizace a animace
GRASS umožňuje vytvářet nejen 2D mapové výstupy, ale i 3D vizualizace a animace. A to s vy-
užitím interního modulu NVIZ. Alternativně lze nasadit i externí rozhraní k programům Vis5D
a Vis5D+, které podobně jako GRASS patří k zástupcům svobodného softwaru.
16.1 Zobrazení 3D rastrových dat v modulu NVIZ
NVIZ je nástroj, který má své kořeny v modulu SG3d. Umožňuje vizualizaci třídimenzionálních
rastrových, vektorových a bodových dat. Uživatel má možnost klást mimo jiné prostorově
orientované dotazy a generovat animace.
Obrázek 16.1: Ovládací panel NVIZu
103
104 16.1. ZOBRAZENÍ 3D RASTROVÝCH DAT V MODULU NVIZ
Před vlastním startem programu je potřeba zkontrolovat nastavení rozlišení aktuálního regionu.
Příliš velká území, jako např. výřez o velikosti 1 000× 1 000 mapových jednotek, chod NVIZuznačně zpomalují. Vstupní data lze načíst přímo při startu modulu
GRASS:~ > nviz elev=model terenu
nebo je zadat až při práci s NVIZem (parametr -q).
Parametry modulu NVIZ
-q rychlý start bez načtení vstupních dat
elevation jméno rastrové mapy s hodnotou z
vector jméno vektorové mapy
color jméno rastrové mapy, která bude zobrazena na povrchu elevation
Po startu NVIZu se otevře řídící grafický panel obsahující základní prvky pro ovládaní mo-
dulu. Patří sem funkce jako např. výběr barvy povrchu, nastavení barvy pozadí a nebo tvorba
animací.
Funkční nástroje řídícího panelu
Auto Clear: Pokud je aktivní, bude obsah grafického okna před vykreslením povrchu vždy
smazán.
Clear: Vymaže obsah okna, ponechá pouze barvu pozadí.
Surface: Vykreslí načtená rastrová data podle aktuálních voleb.
Vectors: Vykreslí načtená vektorová data podle aktuálních voleb.
Sites: Vykreslí načtená bodová data podle aktuálních voleb.
Volumes: Vykreslí načtenou 3D rastrovou mapu („volumeÿ).
Cancel: Zastaví vykreslovaní mapy.
XY Position: Obsahuje bod, reprezentující pozici pozorovatele. Tuto pozici lze měnit pomocí
myši.
Height: Nastavuje výšku pozice pozorovatele.
Look here: Dovoluje uživateli určit pozici, která se má stát středem zobrazení.
Look cancel: Obnoví nastavení funkce Look here.
16.2. ZOBRAZENÍ 3D RASTROVÝCH DAT 105
Zexag: Nastavuje koeficient vertikální dimenze povrchu. Hodnota „1.0ÿ určuje stejný poměr
x, y, a z. Pokud by ale např. hodnoty x a y byly v metrech a výška z ve stopách, pak
by hodnota zexag měla být nastavena na „.305ÿ. Při nastavení zexag > 1.0 sice dochází
ke zkreslení situace, výstup bývá ale mnohdy názornější.
Prespective: Nastavuje úhel pohledu.
Twist: Nastavuje sklon roviny.
Reset: Nastavení výchozích hodnot.
V dalších panelech lze nastavit osvětlení, barvu pozadí, atd. Vybrané funkční nástroje umožňují
vytvořit filmové sekvence („průlet nad krajinouÿ) a nebo skripty pro další práci. Na okraj
poznamenejme, že nápověda je dostupná přes tlačítko Help.
16.2 Zobrazení 3D rastrových dat
NVIZ zobrazuje vedle rastrových povrchů také 3D rastrová data (tzv. „volumeÿ). Tato funkci-
onalita se skrývá pod volbou Volumes, kterou naleznete v menu Panel (obr. 16.2).
Obrázek 16.2: Panel „Volumeÿ a zobrazení 3D rastrových dat
106 16.3. VYTVÁŘENÍ ANIMACÍ
Poznámka: Předpokládáme samozřejmě, že tato 3D data jsou uložena v aktuálním map-
setu. Na okraj: modul v.in.ascii nabízí parametr -z pro import bodových dat v interním
3D formátu.
Další trojrozměrné vrstvy, které se mají zobrazit přes načtený povrch, se přidávají pomocí
tlačítka Add. Pro každou úroveň lze nastavit barvu, průhlednost a světlost.
Hodnota „Polygon Resolutionÿ by měla být nastavena přibližně na „3ÿ. Čím menší tato hodnota
je, tím náročnější je vykreslování. Doba vykreslení přirozeně závisí na hardwarové konfiguraci
počítače.
Obrázek 16.3: Rozdílné úrovně srážek na území Slovenska
Ukázkový dataset ([MH04]) lze stáhnout již v podobě plnohodnotné location. Je k nalezení
mimo jiné GDF Hannover bR (viz [1]).
16.3 Vytváření animací
NVIZ vedle 3D vizualizace dat umožňuje vytvoření jednoduché animace. To se může hodit
zejména při tvorbě a zobrazení časových řad. NVIZ tak nabízí možnost generování jednodu-
chých animací. Celý proces může být řízen z grafického rozhraní a nebo pomocí připraveného
skriptu. Na tomto místě si představíme jednodušší variantu.
16.3. VYTVÁŘENÍ ANIMACÍ 107
Obrázek 16.4: Tvorba animací v NVIZu
Řídící panel animace naleznete v menu Panel→Animation (obr. 16.4). Nejprve je nutno zvolitcelkový počet snímku filmu. Pro vytvoření plynulé animace zvolte alespoň hodnotu „100ÿ.
Poté definujte výchozí bod animace a přidejte tuto pozici do časové osy tlačítkem Add. Zvolte
další pozici na časové ose Key Frames v ovládacím panelu a nastavte nový bod (obr. 16.1)
a uložte jej (tlačítko Add). Tento postup opakujte, dokud nebude časová osa „plnáÿ. Před
uložením animace (Run and Save) je vhodné ji otestovat nejdříve v NVIZu (tlačítko „Playÿ
v řídícím panelu). Do zadaného adresáře se uloží sekvence obrázků reprezentující jednotlivé
snímky animace. Pomocí externích programů lze poté vytvořit např. animovaný GIF nebo film
ve formátu MPEG [NM02]1.
1Pozn. překl.: Grafické okno nesmí být při vytváření sekvence překryto jiným oknem. Vypněte také spořič
obrazovky. Obrázky se ukládají totiž přesně tak, jak je vidíte na monitoru počítače. Vytvoření filmu ve formátu
MPEG umožňuje např. program ppmtompeg, který by měl být standardní součástí každé distribuce GNU/Linuxu.
Doporučit lze taktéž mencoder, který je součástí dobře známého přehrávače MPlayer. Podrobnosti jsou uvedeny
v českém překladu „GRASS Handbuchÿ v kapitole 10.4.
108 16.3. VYTVÁŘENÍ ANIMACÍ
17 Vizualizace dat a mapový výstup
Důležitou částí práce s prostorovými daty je jejich vizualizace a prezentace, ať už ve formě
analogové („papírovéÿ) mapy, 3D digitálního modelu nebo filmové animace. Na uživatele jsou
tak kladeny další nároky – často znalost profesionálních grafických balíků a smysl pro grafické
cítění.
GRASS nabízí na tomto poli několik možností. Za prvé existuje modul ps.map umožňující pro-
dukci jednoduchých mapových děl ve formátu PostScript. Další možností je export do různých
obrazových formátů a jejich další zpracování v externích grafických editorech.
17.1 Mapový výstup ve formátu PostScript
Modul ps.map nabízí produkci jednoduchých mapových výstupů. Výsledek se dá použít např.
jako přehledová mapa. Parametry pro řízení výstupu jsou uloženy v textovém souboru. Toto
řešení poskytuje výhodu rychlých změn vzhledu bez nutnosti opakovat komplexní interaktivní
postup stále dokola. Ukázkový řídící soubor byl převzat z manuálové stránky ps.map a výsled-
kem je prezentován na obrázku 17.1:
raster soils
outline
color black
width 1
end
comments soil.cmt
where 1 6
font Helvetica
end
colortable y
where 1 6.5
cols 4
width 4
font Helvetica
end
setcolor 6,8,9 white
setcolor 10 green
109
110 17.1. MAPOVÝ VÝSTUP VE FORMÁTU POSTSCRIPT
vlines roads
width 2
style 0111
color grey
masked n
end
vlegend
where 4.5 0
font Courier
fontsize 8
end
text 30% 100% SPEARFISH SOILS MAP
color red
width 1
hcolor black
hwidth 1
background white
border red
size 500
ref lower left
end
line 606969.73 3423092.91 616969.73 3423092.91
color yellow
width 2
end
point 40% 60%
color purple
symbol basic/diamond
size 25
masked n
end
scale 1:125000
scalebar f
where 4.5 6.5
length 5000
height 0.05
segment 5
numbers 5
end
geogrid 60 s
color blue
numbers 2 yellow
end
paper a4
end
end
17.1. MAPOVÝ VÝSTUP VE FORMÁTU POSTSCRIPT 111
Obrázek 17.1: Jednoduchý výstup modulu ps.map (mapa půd s legendou z oblasti Spearfish)
112 17.2. EXPORT MAP POMOCÍ OVLADAČE PNG
17.2 Export map pomocí ovladače PNG
Ovladač PNG umožňuje během vizualizace map v monitoru GRASSu vytvářet obrázky v true
color kvalitě (24 bit).
Nasazení ovladače PNG je v podstatě identické s používáním GRASS monitorů. Postup při vy-
tvoření obrázku mapy půd s přiloženou mapou cest s datasetu Spearfish je následující:
GRASS:~ > d.mon start=PNG
GRASS:~ > d.mon sel=PNG
Následně zobrazíme mapy
GRASS:~ > d.rast soils
GRASS:~ > d.vect roads col=black
A nakonec ukončíme práci s ovladačem PNG a zvolíme opět standardní výstup:
GRASS:~ > d.mon stop=PNG
GRASS:~ > d.mon sel=x0
V aktuálním adresáři tak vznikne soubor map.png, který můžeme zobrazit např. v prohlížeči
obrázků xv. Abychom dosáhli požadované velikosti mapy ve formátu PNG, musíme nastavit
několik proměnných prostředí (před startem ovladače):
GRASS:~ > export GRASS WIDTH=<šířka>
GRASS:~ > export GRASS HEIGHT=<výška>
GRASS:~ > export GRASS PNGFILE=<jméno výstupního souboru>
GRASS:~ > export GRASS TRUECOLOR=[TRUE|FALSE]
Výsledek můžete nakonec upravit v grafických editorech jako je Xfig nebo Skencil. Použití
programu Xfig je ukázáno na obrázku 17.5.
Jednodušší variantu exportu map přímo z GRASS monitoru představuje modul d.out.png,
který uloží obsah monitoru do souboru ve formátu PNG volitelné velikosti.
17.3 Stínovaný reliéf
Zajímavý způsob jak vylepšit celkový vzhled mapy je použití stínovaného reliéfu, určeného
na základě mapy expozice (vypočítané z digitálního modelu terénu). Tento postup je také
použitelný v souvislosti s ovladačem PNG. Stínovaný reliéf zobrazíme pomocí modulu d.his:
GRASS:~ > d.his h map=tk24 i map=aspect
Díky kombinaci tónu barvy (hue) a její intenzity (intesity) je jednoduchým způsobem možné
dosáhnout plastického dojmu (viz obrázek 17.2).
17.4. TVORBA MAP POMOCÍ PROGRAMU XFIG 113
+ = stínovaný reliefSpearfish TK24 mapa expozice
Obrázek 17.2: Zobrazení stínovaného reliéfu pomocí modulu d.his
17.4 Tvorba map pomocí programu Xfig
Pro doplnění potřebných grafických prvků analogických map mohou být použity grafické pro-
gramy Xfig [14] nebo Skencil [13]1, které umožňují vytvořit mapová díla téměř profesionálního
vzhledu. Tyto programy přirozeně dispozují možností vložit do kreslící plochy zvolený obrá-
zek ve formátech jako TIFF, PPM nebo PNG. Výstup lze naopak uložit ve formátech jako
PostScript, LATEX, PDF nebo v různých bitmapových formátech.
Podobně jako GRASS i Xfig či Skencil jsou zástupci svobodného softwaru a lze je volně stáhnout
z Internetu a nebo získat jako součást jedné z distribucí GNU/Linuxu. Nyní si ukážeme postup
při tvorbě rozvržení (layout) mapy pomocí programu Xfig (viz obrázek 17.5). Navíc můžeme
využít integrovanou nápovědu ke všem funkcím programu.
Práce s Xfigem je v celku snadná. Kromě mnoha grafických funkcí má program několik zajíma-
vých vlastností souvisejících přímo s tvorbou mapových výstupů. Na začátku práce nastavíme
měřítko, následně vyplníme legendu a název mapy (obr. 17.3).
17.4.1 Zvolení vhodného měřítka
Prvním krokem při tvorbě map je většinou zvolení měřítka výsledné mapy. Tato volba je často
ovlivněna formátem použitého papíru (A4, A3, atd.). Území Spearfish je ve směru východo-
západním široké 19,02 km a severo-jižním 14,32 km. Tyto hodnoty lze zjistit např. pomocí
modulu g.region
GRASS:~ > g.region -d res=1 -p
Tento příkaz vypíše (-p) počet sloupců a řádek výchozího regionu (-d) při rozlišení rastrových
map 1m (res=1). Pokud tedy chceme tuto mapu vytisknout na list papíru formátu DIN A4,
1Pozn. překl.: V distribuci Debian GNU/Linux jde o balíček „sketchÿ. Na tomto místě lze také doporučit
aplikaci s půvabným názvem Sodipodi.
114 17.5. TVORBA MAP POMOCÍ PROGRAMU SKENCIL
lege
nda
mapa
mapový rám
měřítko
Obrázek 17.3: Jednoduché rozvržení mapy v programu Xfig
pak je dobrá volba měřítka 1 : 100 000. Velikost mapy tohoto měřítka tak bude 19.02×14.31 cm:
19.02 km =1 902 000m100 000
= 19.02 cm
14.31 km =1 431 000m100 000
= 14.31 cm
Nyní tedy můžeme zadat měřítko mapy, načíst mapu do rámu a pomocí grafických funkcí ji
patřičně upravit (obr. 17.4).
Export rastrových map do Xfigu lze provést s využitím ovladače PNG (podkapitola 17.2).
Abychom dosáhli požadovaného rozměru výstupního obrázku, je potřeba vhodně nastavit ve-
likost pomocí proměnných GRASS WIDTH a GRASS HEIGHT.
17.5 Tvorba map pomocí programu Skencil
Další možností je kreslicí program Skencil [13]. Tento program napsaný v jazyce Python obsa-
huje zásuvný modul „Geo-Objectÿ, umožňující načítat soubory ve formátu ShapeFile. Navíc je
možné jednotlivé vrstvy přes sebe překládat. Abychom mohli tento modul používat, musíme
mít nainstalovanou knihovnu ShapeLib [12] a potřebné rozhraní Pythonu [10].
Skencil umožňuje také načítat soubory ve formátu FIG.
17.5. TVORBA MAP POMOCÍ PROGRAMU SKENCIL 115
Funkce pro kreslení
Editační funkce
Načtení obrázku
Obrázek 17.4: Výběr důležitých funkcí pro kreslení a editaci v programu Xfig
Obrázek 17.5: Výřez se zásuvným modulem „Geo-Objectÿ s příkladem dat z datasetu FRIDA
města Osnabrück.
116 17.5. TVORBA MAP POMOCÍ PROGRAMU SKENCIL
Obrázek 17.6: Příklad jednoduchého rozvržení mapy pomocí programu Xfig s datasetem Spear-
fish
18 QGIS
Volně dostupný prohlížeč geoprostorových dat QGIS [11] umožňuje přímý přístup k datům
v nativním formátu GRASSu. Pro vektorová data existuje speciální plugin. Rastrová data jsou
v QGISu zobrazena pomocí již zmiňované knihovny GDAL [3]. Kromě toho QGIS podporuje
rovněž všechny vektorové formáty podporované knihovnou OGR (viz [7]). Lze tak v QGISu
vizualizovat vlastně všechna data z aktuální location. Aby byly QGISu automaticky přístupné
všechny proměnné prostředí GRASSu je nejvhodnější spouštět ho přímo z GRASSu.
Obrázek 18.1: QGIS s datasetem FRIDA (město Osnabrück)
117
118 18.1. PRÁCE S VEKTOROVÝMI DATY
18.1 Práce s vektorovými daty
Síla QGISu spočívá ve schopnosti zobrazit vektorová data v mnoha běžně užívaných formátech.
Neomezuje se svými možnostmi pouze na jejich vizualizaci; v aktuální verzi jsou již dostupné
funkce pro editaci vektorových dat.
18.2 Vizualizace a klasifikace
Vektorová data mohou být v QGISu zobrazena na základě atributových dat. K tomu slouží
volba Properties v kontextovém menu legendy vrstev1, kde se nastavují charakteristiky po-
lygonů, atributové pole, podle kterého se provádí klasifikace nebo formát popisků. Jedna ze zá-
ložek zobrazuje metainformace jednotlivých sloupců atributové tabulky.
Obrázek 18.2: Vlastnosti vektorové vrstvy
Na tomto místě lze nastavit např. tloušťku a styl linie, vzorek výplně či legendu.
1Pozn. překl.: Ve verzi 0.6.0 – „Simonÿ: pravé tlačítko myši nad legendou příslušné vrstvy a volba Properties
nebo jednoduše dvojklik tamtéž.
18.2. VIZUALIZACE A KLASIFIKACE 119
18.2.1 Editace
Kromě zobrazení geografických dat nabízí QGIS od nedávné doby i funkce pro modifikaci vek-
torových dat. Pomocí již zmiňovaného zásuvného modulu pro GRASS lze modifikovat i data
v nativní formátu GRASSu uložené v aktuální location. Dále je možnost upravovat data ve for-
mátu ShapeFile, navíc lze přidávat i nové elementy.
Obrázek 18.3: Editační režim zásuvného modulu QGISu pro GRASS
Vektorová data ve formátu GRASSu
Jak již bylo zmíněno, zásuvný modul pro GRASS umožňuje data také editovat. Jak je vidět
na obrázku 18.3, poskytuje modul příjemné prostředí pro vektorizaci. K dispozici jsou obdobné
funkce jako v modulu GRASSu v.digit. V dialogovém okně lze při vektorizaci prvku zadávat
rovnou hodnoty atributů. Stejné dialogové okno umožňuje měnit stávající atributová data.
QGIS je poměrně mladý projekt a nachází se ve fázi raného vývoje, proto není zásuvný modul
pro GRASS plně funkční. To ale není v podstatě na překážku, QGIS nabízí některé velmi
zajímavé funkční nástroje, jako je třeba snadný import dat z GPS. Protože QGIS začíná hrát
rozhodující roli ve vývoji GUI pro GRASS, měl by být minimálně veden v patrnosti.
120 18.3. PRÁCE S RASTROVÝMI DATY
Zatím se spokojíme s přehledem funkcí pro vektorizaci uvedeném v následující tabulce (18.1):
Tabulka 18.1: Nástroje GRASSu pro vektorizaci dat (popsáno v [SSBL04])nástroj kl.zkratka účel
Nový bod (New point) F1 vektorizuje nový bod
Nová linie (New line) F2 vektorizuje novou linii
Nová hranice (New boundary) F3 nová hranice, ukončí se výběrem nového nástroje
nebo levým tlačítkem myši
Nový centroid F4 nový centroid (definiční bod plochy)
Přesun lomového bodu (Move vertex) F5 uchopí existující lomový bod liniového prvku (linie,
boundary) a přesune jej na nové místo
Nový lomový bod (Add vertex) F6 přidá nový lomový bod do existujícího liniovém
prvku
Smaž lomový bod (Delete vertex) F7 zruší existující lomový bod, akce je potvrzena le-
vým tlačítkem myši
Přesun linie (Move line) F9 přesune existující linii na nové místo
Rozdělení linie (Split line) F10 rozdělí liniový prvek na dva nové, tzn. vytvoří uzel
pro navázání např. další linie
Smaž linii (Delete line) F11 smaže jakýkoliv prvek, potvrzení levým tlačítkem
myši
Editace atributů (Edit attributes) umožní modifikaci atributů vybraného prvku (po-
zor: k jednomu vektorovému elementu může být
připojeno více datových záznamů)
Pivo (Close) ukončí práci
ShapeFile
Úprava vrstev ve formátu ShapeFile probíhá odlišně od výše popsaného způsobu. Tento formát
umožňuje vytvořit vrstvu obsahující pouze body, linie nebo polygony. Nejdříve je nutno založit
novou vrstvu, při jejíž inicializaci je třeba vybrat typ objektů: bod, linie nebo polygon. Novou
vrstvu vytvoříme příkazem v menu: Layer→New Vectorlayer. V následujícím dialogovémokně je třeba nastavit onen typ objektu. Po vytvoření nové vrstvy je možno v nabídce kon-
textového menu zahájit modifikaci této vrstvy. Tento proces je řízen volbami: „Startÿ a „Stop
editingÿ. Jeli vrstva v režimu editace poznáme podle drobné značky tužky v legendě.
Funkce pro úpravu dat ve formátu ShapeFile jsou zatím omezené a zdaleka nedosahují možností
(viz obrázek 18.4) jaké skýtá zásuvný modul pro GRASS.
18.3 Práce s rastrovými daty
Pracovat můžeme se všemi rastrovými formáty, které jsou podporované knihovnou GDAL,
jak již konec konců bylo zmíněno dříve, včetně rastrových dat v nativním formátu GRASSu.
Dokonce i objemné satelitní snímky jsou plynule a rychle načítány. Velmi efektní funkce je
18.3. PRÁCE S RASTROVÝMI DATY 121
Obrázek 18.4: Zahájení a ukončení editace vrstvy ShapeFile
plynulé nastavení míry průhlednosti pro každou rastrovou mapu. Takto lze komponovat více
rastrových vrstev současně.
Kontextové menu legendy rastrových dat obsahuje posuvník pro nastavení požadované prů-
hlednosti (viz obrázek 18.5).
Obrázek 18.5: Průhlednost („alpha-blendingÿ) vrstev v QGISu
Další výhodou je implementace „pyramidizaceÿ rastrových map. Tato technologie urychluje
zobrazení map v rozdílných měřítkách. Použitím této funkce (kontextové menu rastrové vrstvy
Properties→Pyramids) se vytvoří vrstvy v různém rozlišení a QGIS automaticky podleaktuálního rozlišení zvolí variantu rastrové vrstvy.
122 18.4. ZPRACOVÁNÍ DAT Z GPS
18.4 Zpracování dat z GPS
Zásuvný modul QGISu pro GPS umožňuje importovat a exportovat data z přístroje GPS
ve výměnném (GPS eXchange) formátu.
Obrázek 18.6: QGIS-GPS plugin
QGIS tak umožňuje načíst sekvence bodů („tracksÿ) z přijímače GPS jako vrstvy a příp. je
uložit ve formátu pro GRASS.
18.5 Tvorba analogových map v QGISu
V předchozí kapitole 17 byly popsány svobodné programy, které mohou být použity pro tvorbu
analogových map. V této souvislosti je v rámci QGISu vyvíjen velice slibný modul určený
pro tvorbu mapových výstupů. V době vzniku tohoto textu byl dostupný pouze v CVS verzi.
TakzvanýMap Composer se spustí z menu File→Print nebo poklikáním na symbol tiskárnyv nástrojové liště.
Nejprve je nutno vybrat (viditelné) vrstvy pro tisk. Zároveň lze sestavit z aktivních vrstev
legendu a samozřejmě lze přidat i název mapy.
Nyní už zbývá pouze nastavit velikost písma legendy a nadpisu, případně velikost stránky.
Můžeme se tedy těšit na další verze QGISu, jehož vývoj je zaštítěný profesionálním týmem
18.5. TVORBA ANALOGOVÝCH MAP V QGISU 123
a čas od času tak „zkontrolovatÿ oficiální stránku QGISu [11].
124 18.5. TVORBA ANALOGOVÝCH MAP V QGISU
Obrázek 18.7: Map Composer pro tvorbu analogových map v QGISu
19 Definice Svobodného Softwaru
Poznámka: Text této kapitoly vychází z obsahu webové stránky
http://www.gnu.org/philosophy/free-sw.cs.html. Další informace lze nalézt na výše zmí-
něné webové stránce1.
Definice svobodného softwaru je uvedena hlavně proto aby bylo jasné, jaké podmínky musí
splňovat konkrétní program, aby mohl být považován za svobodný software.
„Free softwareÿ se vztahuje ke svobodě, ne k ceně. Abyste správně porozuměli podstatě věci,
měli byste chápat slovo „freeÿ ve spojení „free speechÿ (svobodný projev), nikoliv jako „free
beerÿ (pivo zadarmo).
Svobodný software dává uživatelům svobodu spouštět, kopírovat, distribuovat, studovat, měnit
a zlepšovat jej. Přesněji řečeno, vztahuje se ke čtyřem svobodám pro všechny uživatele software:
• Svoboda spustit program za jakýmkoliv účelem (svoboda 0).
• Svoboda studovat, jak program pracuje a přizpůsobit ho svým potřebám (svoboda 1).Předpokladem k výše uvedenému je přístup ke zdrojovému kódu.
• Svoboda redistribuovat kopie (svoboda 2).
• Svoboda vylepšovat program a zveřejňovat zlepšení, aby z nich mohla mít prospěch celákomunita. (svoboda 3). Předpokladem k výše uvedenému je přístup ke zdrojovému kódu.
Program je svobodným softwarem, pokud uživatelé mají všechny tyto svobody. Měli byste moci
redistribuovat kopie, buď modifikované či nikoliv, zadarmo nebo s poplatkem za distribuci
komukoliv kdekoliv. Mít svobodu dělat tyto věci znamená (mimo jiné), že nemusíte nikoho
žádat o povolení, nebo za něj platit.
Mělo by vám být rovněž umožněno modifikovat jej a používat tuto modifikovanou verzi sou-
kromě ve vašem zaměstnání nebo volném čase, bez toho aniž byste se museli zmiňovat o jejich
existenci. Pokud zveřejníte vaše změny, neměli byste být nuceni je někomu zvláště oznamovat.
Svoboda používat program znamená pro jakéhokoliv jednotlivce či organizaci svobodu používat
jej na jakémkoliv počítačovém systému, pro jakoukoliv práci a bez toho, aniž byste následně
museli kontaktovat vývojáře či jinou skupinu.1Pozn. překl.: Či na české odnoži hnutí GNU – http://gnu.cz.
125
126
Svoboda redistribuovat kopie musí zahrnovat binární i spustitelné podoby programu, stejně
jako zdrojový kód pro jak modifikované, tak nemodifikované verze. Je v pořádku, není-li možné
vytvořit binární nebo spustitelnou formu, lidé ale musí mít svobodu redistribuovat takové
podoby programu, aby měli způsob, jak je vytvořit.
Abyste měli svobodu program měnit a zveřejňovat vylepšené verze, musíte mít přístup ke zdro-
jovému kódu programu. Dostupnost zdrojového kódu je proto nezbytnou podmínkou pro svo-
bodný software.
Aby tyto svobody byly skutečné, musí platit tak dlouho, dokud se něčím neproviníte; jestliže
má vývojář software moc změnit licenci, bez toho, aniž byste mu svým jednáním k tomu zavdali
příčinu, nejedná se o svobodný software.
Přesto jsou však jistá pravidla o způsobu distribuce svobodného software přijatelná, pokud
nejsou v rozporu se základními svobodami. Například copyleft (velmi jednoduše řečeno) je
pravidlo, které říká, že pokud redistribuujete program, nesmíte k němu přidat žádná ome-
zení, abyste tak odepřeli základní svobody ostatním. Toto pravidlo nijak neomezuje základní
svobody; spíše je chrání.
Za získání kopií GNU software můžete platit, nebo je obdržet zdarma, ovšem bez ohledu na
způsob, jak jste je získali, máte vždy svobodu kopírovat a měnit software, dokonce prodávat
jeho kopie.
„Svobodný softwareÿ neznamená „nekomerčníÿ. Svobodný program musí být dostupný pro ko-
merční využití. Komerční vývoj svobodného software není ničím neobvyklým; takové programy
jsou komerčním svobodným software.
Pravidla, jak vytvořit balík modifikované verze jsou akceptovatelná, jestliže nepotlačují vaši
svobodu modifikované verze vydávat. Pravidla, že „pokud vytvoříte takto přístupný program,
musíte ho zpřístupnit i v této podoběÿ mohou být rovněž přijatelná, za stejné podmínky.
(Všimněte si, že takové pravidlo vám stále poskytuje možnost výběru, jestli program zveřejnit
či nikoliv.)
V GNU projektu používáme „copyleftÿ, abychom právně zajistili tyto svobody pro každého.
Existuje však také necopyleftovaný svobodný software. Věříme, že existují důležité důvody
proč je lepší používat copyleft, ale pokud je váš program necopyleftovaný svobodný software,
můžeme ho používat také.
Podívejte se na kategorie svobodného software, abyste se dozvěděli, jak se k sobě „svobodný
softwareÿ, „copyleftovaný softwareÿ a jiné kategorie software vztahují.
Někdy může vláda exportovat kontrolní nařízení a tržní sankce omezující vaši svobodu mezi-
národně šířit kopie programu. Vývojáři software nemohou eliminovat nebo přejít tato omezení,
avšak to, co mohou a musí udělat, je odmítnout jejich využití jako podmínky pro používání
programu. Díky tomu tato omezení nebudou zasahovat činnosti a osoby vně jurisdikce těchto
vlád.
127
Pokud mluvíme o svobodném software, uděláme nejlépe, vyhneme-li se termínům jako „daro-
vatÿ nebo „zdarmaÿ, protože tyto výrazy se vztahují k ceně, nikoli ke svobodě. Některé běžné
termíny jako „pirátstvíÿ vyjadřují mínění, s nímž, jak doufáme, nebudete souhlasit. Podívejte
se na matoucí slova a fráze, jichž je lepší se vyvarovat na debatu o těchto výrazech. Máme
rovněž seznam překladů termínu „svobodný softwareÿ [free software] do různých jazyků.
Na závěr si povšimněte, že kritéria výše zmiňovaná v definici svobodného software vyžadují
pro svou interpretaci opatrnost. Rozhodujeme-li se, zda je určitá software licence svobodným
software, posuzujeme ji na základě těchto kritérií, abychom určili, zda je splňuje. Pokud v sobě
licence zahrnuje nepřiměřená omezení, odmítáme ji, a to i přesto, že jsme tento problém ne-
zahrnuli do našich kritérií. Někdy se stává, že licence vznáší požadavek, jež vyžaduje pečlivé
rozvážení, včetně konzultací s právníkem, dříve než se rozhodneme, zda jej můžeme přijmout.
Když pak dojdeme k závěru, občas tato kritéria obnovíme, aby bylo jednodušší porozumět
tomu, proč některé licence byly/nebyly schváleny.
Jestliže máte zájem zjistit, zda je určitá licence brána jako licence svobodného software, podí-
vejte se na náš seznam licencí. Pokud se zde licence, o niž máte zájem, nevyskytuje, můžete se
přes email zeptat přímo nás licensing@gnu.org.
128
20 GNU Free Documentation License
Version 1.1, March 2000
Copyright c© 2000 Free Software Foundation, Inc.59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Everyone is permitted to copy and distribute verbatim copies of this license document, but
changing it is not allowed.
Preamble
The purpose of this License is to make a manual, textbook, or other written document “free” in
the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with
or without modifying it, either commercially or noncommercially. Secondarily, this License
preserves for the author and publisher a way to get credit for their work, while not being
considered responsible for modifications made by others.
This License is a kind of “copyleft”, which means that derivative works of the document must
themselves be free in the same sense. It complements the GNU General Public License, which
is a copyleft license designed for free software.
We have designed this License in order to use it for manuals for free software, because free
software needs free documentation: a free program should come with manuals providing the
same freedoms that the software does. But this License is not limited to software manuals; it
can be used for any textual work, regardless of subject matter or whether it is published as a
printed book. We recommend this License principally for works whose purpose is instruction
or reference.
Applicability and Definitions
This License applies to any manual or other work that contains a notice placed by the copyright
holder saying it can be distributed under the terms of this License. The “Document”, below,
refers to any such manual or work. Any member of the public is a licensee, and is addressed as
129
130
“you”.
A “Modified Version” of the Document means any work containing the Document or a portion
of it, either copied verbatim, or with modifications and/or translated into another language.
A “Secondary Section” is a named appendix or a front-matter section of the Document that
deals exclusively with the relationship of the publishers or authors of the Document to the
Document’s overall subject (or to related matters) and contains nothing that could fall directly
within that overall subject. (For example, if the Document is in part a textbook of mathematics,
a Secondary Section may not explain any mathematics.) The relationship could be a matter
of historical connection with the subject or with related matters, or of legal, commercial,
philosophical, ethical or political position regarding them.
The “Invariant Sections” are certain Secondary Sections whose titles are designated, as being
those of Invariant Sections, in the notice that says that the Document is released under this
License.
The “Cover Texts” are certain short passages of text that are listed, as Front-Cover Texts or
Back-Cover Texts, in the notice that says that the Document is released under this License.
A “Transparent” copy of the Document means a machine-readable copy, represented in a format
whose specification is available to the general public, whose contents can be viewed and edited
directly and straightforwardly with generic text editors or (for images composed of pixels)
generic paint programs or (for drawings) some widely available drawing editor, and that is
suitable for input to text formatters or for automatic translation to a variety of formats suitable
for input to text formatters. A copy made in an otherwise Transparent file format whose
markup has been designed to thwart or discourage subsequent modification by readers is not
Transparent. A copy that is not “Transparent” is called “Opaque”.
Examples of suitable formats for Transparent copies include plain ASCII without markup,
Texinfo input format, LATEX input format, SGML or XML using a publicly available DTD,
and standard-conforming simple HTML designed for human modification. Opaque formats
include PostScript, PDF, proprietary formats that can be read and edited only by proprietary
word processors, SGML or XML for which the DTD and/or processing tools are not generally
available, and the machine-generated HTML produced by some word processors for output
purposes only.
The “Title Page” means, for a printed book, the title page itself, plus such following pages as
are needed to hold, legibly, the material this License requires to appear in the title page. For
works in formats which do not have any title page as such, “Title Page” means the text near
the most prominent appearance of the work’s title, preceding the beginning of the body of the
text.
131
Verbatim Copying
You may copy and distribute the Document in any medium, either commercially or noncom-
mercially, provided that this License, the copyright notices, and the license notice saying this
License applies to the Document are reproduced in all copies, and that you add no other con-
ditions whatsoever to those of this License. You may not use technical measures to obstruct or
control the reading or further copying of the copies you make or distribute. However, you may
accept compensation in exchange for copies. If you distribute a large enough number of copies
you must also follow the conditions in section 3.
You may also lend copies, under the same conditions stated above, and you may publicly display
copies.
Copying in Quantity
If you publish printed copies of the Document numbering more than 100, and the Document’s
license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly
and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts
on the back cover. Both covers must also clearly and legibly identify you as the publisher of
these copies. The front cover must present the full title with all words of the title equally
prominent and visible. You may add other material on the covers in addition. Copying with
changes limited to the covers, as long as they preserve the title of the Document and satisfy
these conditions, can be treated as verbatim copying in other respects.
If the required texts for either cover are too voluminous to fit legibly, you should put the first
ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent
pages.
If you publish or distribute Opaque copies of the Document numbering more than 100, you
must either include a machine-readable Transparent copy along with each Opaque copy, or
state in or with each Opaque copy a publicly-accessible computer-network location containing a
complete Transparent copy of the Document, free of added material, which the general network-
using public has access to download anonymously at no charge using public-standard network
protocols. If you use the latter option, you must take reasonably prudent steps, when you begin
distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus
accessible at the stated location until at least one year after the last time you distribute an
Opaque copy (directly or through your agents or retailers) of that edition to the public.
It is requested, but not required, that you contact the authors of the Document well before
redistributing any large number of copies, to give them a chance to provide you with an updated
version of the Document.
132
Modifications
You may copy and distribute a Modified Version of the Document under the conditions of
sections 2 and 3 above, provided that you release the Modified Version under precisely this
License, with the Modified Version filling the role of the Document, thus licensing distribution
and modification of the Modified Version to whoever possesses a copy of it. In addition, you
must do these things in the Modified Version:
• Use in the Title Page (and on the covers, if any) a title distinct from that of the Document,and from those of previous versions (which should, if there were any, be listed in the
History section of the Document). You may use the same title as a previous version if the
original publisher of that version gives permission.
• List on the Title Page, as authors, one or more persons or entities responsible for au-thorship of the modifications in the Modified Version, together with at least five of the
principal authors of the Document (all of its principal authors, if it has less than five).
• State on the Title page the name of the publisher of the Modified Version, as the publisher.
• Preserve all the copyright notices of the Document.
• Add an appropriate copyright notice for your modifications adjacent to the other copy-right notices.
• Include, immediately after the copyright notices, a license notice giving the public per-mission to use the Modified Version under the terms of this License, in the form shown
in the Addendum below.
• Preserve in that license notice the full lists of Invariant Sections and required Cover Textsgiven in the Document’s license notice.
• Include an unaltered copy of this License.
• Preserve the section entitled “History”, and its title, and add to it an item stating atleast the title, year, new authors, and publisher of the Modified Version as given on the
Title Page. If there is no section entitled “History” in the Document, create one stating
the title, year, authors, and publisher of the Document as given on its Title Page, then
add an item describing the Modified Version as stated in the previous sentence.
• Preserve the network location, if any, given in the Document for public access to aTransparent copy of the Document, and likewise the network locations given in the Docu-
ment for previous versions it was based on. These may be placed in the “History” section.
You may omit a network location for a work that was published at least four years before
the Document itself, or if the original publisher of the version it refers to gives permission.
133
• In any section entitled “Acknowledgements” or “Dedications”, preserve the section’s title,and preserve in the section all the substance and tone of each of the contributor acknowled-
gements and/or dedications given therein.
• Preserve all the Invariant Sections of the Document, unaltered in their text and in theirtitles. Section numbers or the equivalent are not considered part of the section titles.
• Delete any section entitled “Endorsements”. Such a section may not be included in theModified Version.
• Do not retitle any existing section as “Endorsements” or to conflict in title with anyInvariant Section.
If the Modified Version includes new front-matter sections or appendices that qualify as Se-
condary Sections and contain no material copied from the Document, you may at your option
designate some or all of these sections as invariant. To do this, add their titles to the list of
Invariant Sections in the Modified Version’s license notice. These titles must be distinct from
any other section titles.
You may add a section entitled “Endorsements”, provided it contains nothing but endorsements
of your Modified Version by various parties – for example, statements of peer review or that
the text has been approved by an organization as the authoritative definition of a standard.
You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25
words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only
one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through
arrangements made by) any one entity. If the Document already includes a cover text for the
same cover, previously added by you or by arrangement made by the same entity you are acting
on behalf of, you may not add another; but you may replace the old one, on explicit permission
from the previous publisher that added the old one.
The author(s) and publisher(s) of the Document do not by this License give permission to use
their names for publicity for or to assert or imply endorsement of any Modified Version.
Combining Documents
You may combine the Document with other documents released under this License, under
the terms defined in section 4 above for modified versions, provided that you include in the
combination all of the Invariant Sections of all of the original documents, unmodified, and list
them all as Invariant Sections of your combined work in its license notice.
The combined work need only contain one copy of this License, and multiple identical Invariant
Sections may be replaced with a single copy. If there are multiple Invariant Sections with the
same name but different contents, make the title of each such section unique by adding at the
134
end of it, in parentheses, the name of the original author or publisher of that section if known,
or else a unique number. Make the same adjustment to the section titles in the list of Invariant
Sections in the license notice of the combined work.
In the combination, you must combine any sections entitled “History” in the various origi-
nal documents, forming one section entitled “History”; likewise combine any sections entitled
“Acknowledgements”, and any sections entitled “Dedications”. You must delete all sections
entitled “Endorsements.”
Collections of Documents
You may make a collection consisting of the Document and other documents released under
this License, and replace the individual copies of this License in the various documents with a
single copy that is included in the collection, provided that you follow the rules of this License
for verbatim copying of each of the documents in all other respects.
You may extract a single document from such a collection, and distribute it individually under
this License, provided you insert a copy of this License into the extracted document, and follow
this License in all other respects regarding verbatim copying of that document.
Aggregation With Independent Works
A compilation of the Document or its derivatives with other separate and independent docu-
ments or works, in or on a volume of a storage or distribution medium, does not as a whole
count as a Modified Version of the Document, provided no compilation copyright is claimed for
the compilation. Such a compilation is called an “aggregate”, and this License does not apply
to the other self-contained works thus compiled with the Document, on account of their being
thus compiled, if they are not themselves derivative works of the Document.
If the Cover Text requirement of section 3 is applicable to these copies of the Document, then
if the Document is less than one quarter of the entire aggregate, the Document’s Cover Texts
may be placed on covers that surround only the Document within the aggregate. Otherwise
they must appear on covers around the whole aggregate.
Translation
Translation is considered a kind of modification, so you may distribute translations of the
Document under the terms of section 4. Replacing Invariant Sections with translations requires
special permission from their copyright holders, but you may include translations of some or
all Invariant Sections in addition to the original versions of these Invariant Sections. You may
135
include a translation of this License provided that you also include the original English version
of this License. In case of a disagreement between the translation and the original English
version of this License, the original English version will prevail.
Termination
You may not copy, modify, sublicense, or distribute the Document except as expressly provided
for under this License. Any other attempt to copy, modify, sublicense or distribute the Docu-
ment is void, and will automatically terminate your rights under this License. However, parties
who have received copies, or rights, from you under this License will not have their licenses
terminated so long as such parties remain in full compliance.
Future Revisions of This License
The Free Software Foundation may publish new, revised versions of the GNU Free Documen-
tation License from time to time. Such new versions will be similar in spirit to the present ver-
sion, but may differ in detail to address new problems or concerns. See
http://www.gnu.org/copyleft/.
Each version of the License is given a distinguishing version number. If the Document specifies
that a particular numbered version of this License ”or any later version” applies to it, you
have the option of following the terms and conditions either of that specified version or of any
later version that has been published (not as a draft) by the Free Software Foundation. If the
Document does not specify a version number of this License, you may choose any version ever
published (not as a draft) by the Free Software Foundation.
ADDENDUM: How to use this License for your documents
To use this License in a document you have written, include a copy of the License in the
document and put the following copyright and license notices just after the title page:
Copyright c© YEAR YOUR NAME. Permission is granted to copy, distribute
and/or modify this document under the terms of the GNU Free Documentation
License, Version 1.1 or any later version published by the Free Software Foun-
dation; with the Invariant Sections being LIST THEIR TITLES, with the Front-
Cover Texts being LIST, and with the Back-Cover Texts being LIST. A copy of the
license is included in the section entitled “GNU Free Documentation License”.
If you have no Invariant Sections, write “with no Invariant Sections” instead of saying which
ones are invariant. If you have no Front-Cover Texts, write “no Front-Cover Texts” instead of
136
“Front-Cover Texts being LIST”; likewise for Back-Cover Texts.
If your document contains nontrivial examples of program code, we recommend releasing these
examples in parallel under your choice of free software license, such as the GNU General Public
License, to permit their use in free software.
21 Seznam příkazů
Následuje vyčerpávající seznam příkazů GRASSu. Tento seznam se ovšem rychle mění, aktuální
verzi naleznete na [4] v části „Manualsÿ.
d.* commands:
Příkaz Krátký popis
d.ask Prompts the user to select a GRASS data base file from among files displa-
yed in a menu on the graphics monitor.
d.barscale Displays a barscale on GRASS monitor.
d.colorlist Output a list of all available display colors with a configurable separator
(default is comma).
d.colors Allows the user to interactively change the color table
d.colortable To display the color table associated with a raster map layer.
d.erase Erase the contents of the active display frame with user defined color
d.extend Set window region so that all currently displayed raster, vector and sites
maps can be shown in a monitor.
d.font.freetype Selects the font in which text will be displayed on the user’s graphics mo-
nitor.
d.font Selects the font in which text will be displayed on the user’s graphics mo-
nitor.
d.frame Manages display frames on the user’s graphics monitor.
d.geodesic Displays a geodesic line, tracing the shortest distance between two geogra-
phic points along a great circle, in a longitude/latitude data set.
d.graph Program for generating and displaying simple graphics to the graphics dis-
play monitor.
d.grid Overlays a user-specified grid in the active display frame on the graphics
monitor.
d.his Displays the result obtained by combining hue, intensity, and saturation
(his) values from user-specified input raster map layers.
Pokračování na další stránce
137
138
Pokračování
Příkaz Krátký popis
d.histogram Displays a histogram in the form of a pie or bar chart for a user-specified
raster file.
d.info Display information about the active display monitor
d.legend Displays a legend for a raster map layer in the active frame on the graphics
monitor.
d.linegraph Generates and displays simple line graphs in the active graphics monitor
display frame.
d.m
d.mapgraph Generates and displays simple graphics on map layers drawn in the active
graphics monitor display frame.
d.measure Measures the lengths and areas of features drawn by the user in the active
display frame on the graphics monitor.
d.mon To establish and control use of a graphics display monitor.
d.monsize Selects/starts specified monitor at specified size
d.nviz Create fly-through script to run in NVIZ
d.out.png Saves active display monitor to PNG file in home directory
d.paint.labels Displays text labels formatted for use with GRASS paint (p.labels, p.map)
output to the active frame on the graphics monitor.
d.path Find shortest path for selected starting and ending node
d.profile Interactive profile plotting utility with optional output.
d.rast.arrow Draws arrows representing cell aspect direction for a raster map containing
aspect data.
d.rast.edit d.rast.edit
d.rast Displays and overlays raster map layers in the active display frame on the
graphics monitor.
d.rast.leg Displays a raster map and its legend on a graphics window
d.rast.num Overlays cell category values on a raster map layer displayed to the graphics
monitor.
d.redraw d.redraw
d.resize Resizes active display monitor
d.rgb Displays three user-specified raster map layers as red, green, and blue over-
lays in the active graphics frame.
d.rhumbline Displays the rhumbline joining two user-specified points, in the active frame
on the user’s graphics monitor.
d.save Create a list of commands for recreating screen graphics.
d.slide.show Slide show of GRASS raster/vector maps
d.split Divides active display into 2 frames & displays maps/executes commands
in each frame.
Pokračování na další stránce
139
Pokračování
Příkaz Krátký popis
d.text.freetype Draws text in the graphics monitor’s active display frame using TrueType
fonts.
d.text Draws text in the active display frame on the graphics monitor using the
current font.
d.title Outputs a TITLE for a raster map layer in a form suitable for display by
d.text.
d.vect.chart Displays charts of GRASS vector data in the active frame on the graphics
monitor.
d.vect Displays GRASS vector data in the active frame on the graphics monitor.
d.what.rast Allows the user to interactively query the category contents of multiple
raster map layers at user specified locations within the current geographic
region.
d.what.vect Allows the user to interactively query a vector map layer at user-selected
locations within the current geographic region.
d.where Identifies the geographic coordinates associated with point locations in the
active frame on the graphics monitor.
d.zoom Allows the user to change the current geographic region settings interacti-
vely, with a mouse.
db.* commands:
Příkaz Krátký popis
db.columns list all columns for a given table.
db.connect Connect to the database through DBMI.
db.copy Copy a table. Either ’from table’ (optionaly with ’where’) can be used or
’select’ option, but not ’from table’ and ’select’ at the same time.
db.describe Describe a table (in detail).
db.drivers List all database drivers.
db.droptable
db.execute Execute any SQL statement.
db.login Set user/password for driver/database.
db.select Select data from database.
db.tables List all tables for a given database.
db.test Test database driver, database must exist and set by db.connect.
140
g.* commands:
Příkaz Krátký popis
g.access
g.ask Prompts the user for the names of GRASS data base files.
g.copy Copies available data files in the user’s current mapset search path and
location to the appropriate element directories under the user’s current
mapset.
g.filename Prints GRASS data base file names.
g.findfile Searches for GRASS data base files and sets variables for the shell.
g.gisenv Outputs the user’s current GRASS variable settings.
g.list Lists available GRASS data base files of the user-specified data type to
standard output.
g.manual display the HTML man pages of GRASS
g.mapset Change current mapset
g.mapsets Modifies the user’s current mapset search path, affecting the user’s access
to data existing under the other GRASS mapsets in the current location.
g.mlist Apply regular expressions and wildcards to g.list
g.mremove Apply regular expressions and wildcards to g.remove
g.parser g.parser
g.proj Prints and manipulates GRASS projection information files.
g.region Program to manage the boundary definitions for the geographic region.
g.remove Removes data base element files from the user’s current mapset.
g.rename To rename data base element files in the user’s current mapset.
g.setproj g.setproj
g.tempfile Creates a temporary file and prints the file name.
g.version Displays version and copyright information.
i.* commands:
Příkaz Krátký popis
i.cca Canonical components analysis (cca) program for image processing.
i.class i.class
i.cluster An imagery function that generates spectral signatures for land cover types
in an image using a clustering algorithm. The resulting signature file is used
as input for i.maxlik, to generate an unsupervised image classification.
i.fft Fast Fourier Transform (FFT) for image processing.
i.fusion.brovey Brovey transform to merge multispectral and high-res panchromatic chan-
nels
Pokračování na další stránce
141
Pokračování
Příkaz Krátký popis
i.gensig Generates statistics for i.maxlik from raster map layer.
i.gensigset Generate statistics for i.smap from raster map layer.
i.group Creates and edits groups and subgroups of imagery files.
i.his.rgb Hue-intensity-saturation (his) to red-green-blue (rgb) raster map color
transformation function.
i.ifft Inverse Fast Fourier Transform (ifft) for image processing.
i.image.mosaic Mosaics up to 4 images and extends colormap; creates map *.mosaic
i.maxlik An imagery function that classifies the cell spectral reflectances in imagery
data based on the spectral signature information generated by either
i.cluster, i.class, or i.gensig.
i.oif Calculates Optimum-Index-Factor table for LANDSAT TM bands 1-5, &
7
i.ortho.photo i.ortho.photo
i.pca Principal components analysis (pca) program for image processing.
i.points
i.rectify Rectifies an image by computing a coordinate transformation for each pixel
in the image based on the control points
i.rgb.his Red-green-blue (rgb) to hue-intensity-saturation (his) raster map color
transformation function.
i.smap Performs contextual image classification using sequential maximum a po-
steriori (SMAP) estimation.
i.spectral displays spectral response at user specified locations in images
i.target Targets an imagery group to a GRASS location and mapset.
i.tasscap Tasseled Cap (Kauth Thomas) transformation for LANDSAT-TM data
i.vpoints i.vpoints
i.zc Zero-crossing “edge detection” raster function for image processing.
p.* commands:
Příkaz Krátký popis
p.out.vrml module to output GRASS data in the format of Virtual Reality Modeling
Language (VRML)
142
pg.* commands:
Příkaz Krátký popis
pg.postgisdb pg.postgisdb
photo.* commands:
Příkaz Krátký popis
photo.2image photo.2image
photo.2target photo.2target
photo.camera
photo.init photo.init
photo.rectify photo.rectify
ps.* commands:
Příkaz Krátký popis
ps.map Hardcopy PostScript map output utility.
r.* commands:
Příkaz Krátký popis
r.average Finds the average of values in a cover map within areas assigned the same
category value in a user-specified base map.
r.basins.fill Generates a raster map layer showing watershed subbasins.
r.bilinear Bilinear interpolation utility for raster map layers.
r.blend Blends color components of 2 raster maps by a given % first map’
r.buffer Creates a raster map layer showing buffer zones surrounding cells that
contain non-NULL category values.
r.cats Prints category values and labels associated with user-specified raster map
layers.
r.circle Creates a raster map containing concentric rings around a given point.
r.clump Recategorizes data in a raster map layer by grouping cells that form phys-
ically discrete areas into unique categories.
r.coin Tabulates the mutual occurrence (coincidence) of categories for two raster
map layers.
r.colors Creates/Modifies the color table associated with a raster map layer.
r.composite Combines red, green and blue map layers into a single composite map layer.
Pokračování na další stránce
143
Pokračování
Příkaz Krátký popis
r.compress Compresses and decompresses raster files.
r.contour Produces a GRASS binary vector map of specified contours from GRASS
raster map layer.
r.cost Outputs a raster map layer showing the cumulative cost of moving be-
tween different geographic locations on an input raster map layer whose
cell category values represent cost.
r.covar Outputs a covariance/correlation matrix for user-specified raster map la-
yer(s).
r.cross Creates a cross product of the category values from multiple raster map
layers.
r.describe Prints terse list of category values found in a raster map layer.
r.digit r.digit
r.distance Locates the closest points between objects in two raster maps.
r.drain Traces a flow through an elevation model on a raster map layer.
r.fill.dir Filters and generates a depressionless elevation map and a flow direction
map from a given elevation layer
r.fillnulls Fills no-data areas in raster maps using v.surf.rst splines interpolation
r.flow Construction of slope curves (flowlines), flowpath lengths, and flowline
densities (upslope areas) from a raster digital elevation model(DEM).
r.grow Generates a raster map layerwith contiguous areas grown by one cell.
r.his Generates red, green and blue raster map layers combining hue, intensity,
and saturation (his) values from user-specified input raster map layers.
r.in.arc Convert an ESRI ARC/INFO ascii raster file (GRID) into a (binary) raster
map layer.
r.in.ascii Convert an ASCII raster text file into a (binary) raster map layer.
r.in.bin Import a binary raster file into a GRASS raster map layer.
r.in.gdal Import GDAL supported raster file into a binary raster map layer.
r.in.gridatb Imports GRIDATB.FOR map file (TOPMODEL) into GRASS raster map
r.in.mat Import a binary MAT-File(v4) to a GRASS raster.
r.in.poly Create raster maps from ascii polygon/line data files in the current direc-
tory.
r.in.srtm Import SRTM90 HGT files into GRASS
r.info Outputs basic information about a user-specified raster map layer.
r.kappa Calculate error matrix and kappa parameter for accuracy assessment of
classification result.
r.le.patch
Pokračování na další stránce
144
Pokračování
Příkaz Krátký popis
r.le.pixel
r.le.setup r.le.setup
r.le.trace
r.los Line-of-sight raster analysis program.
r.mapcalc r.mapcalc
r.mapcalculator r.mapcalculator - Calculates new raster map from r.mapcalc expression
r.median Finds the median of values in a cover map within areas assigned the same
category value in a user-specified base map.
r.mfilter Raster file matrix filter.
r.mode Finds the mode of values in a cover map within areas assigned the same
category value in a user-specified base map.
r.neighbors Makes each cell category value a function of the category values assigned
to the cells around it, and stores new cell values in an output raster map
layer.
r.null The function of r.null is to explicitly create the NULL-value bitmap file.
r.out.arc Converts a raster map layer into an ESRI ARCGRID file.
r.out.ascii Converts a raster map layer into an ASCII text file.
r.out.bin Exports a GRASS raster to a binary array.
r.out.gdal Exports GRASS raster data into various formats (requires GDAL)
r.out.gridatb Exports GRASS raster map to GRIDATB.FOR map file (TOPMODEL)
r.out.mat Exports a GRASS raster to a binary MAT-File.
r.out.mpeg Raster File Series to MPEG Conversion Program.
r.out.png Export GRASS raster as non-georeferenced PNG image format.
r.out.pov Converts a raster map layer into a height-field file for POVRAY.
r.out.ppm Converts a GRASS raster file to a PPM image file at the pixel resolution
of the CURRENTLY DEFINED REGION.
r.out.ppm3 Converts 3 GRASS raster layers (R,G,B) to a PPM image file at the pixel
resolution of the CURRENTLY DEFINED REGION.
r.out.tiff Exports a GRASS raster file to a 8/24bit TIFF image file at the pixel
resolution of the currently defined region.
r.param.scale Extracts terrain parameters from a DEM. Uses a multi-scalar approach by
taking fitting quadratic parameters to any size window (via least squares)
r.patch Creates a composite raster map layer by using known category values from
one (or more) map layer(s) to fill in areas of “no data” in another map
layer.
Pokračování na další stránce
145
Pokračování
Příkaz Krátký popis
r.plane Creates raster plane map given dip (inclination), aspect (azimuth), and one
point
r.profile Outputs the raster map layer values lying on user-defined line(s).
r.proj Re-project a raster map from one location to the current location.
r.quant This routine produces the quantization file for a floating-point map.
r.random.cells Generates random cell values with spatial dependence.
r.random Creates a raster map layer and vector point map containing randomly lo-
cated sites.
r.random.surface Generates random surface(s) with spatial dependence.
r.reclass.area Reclasses a raster map greater or less than user specified area size (in
hectares)
r.reclass Creates a new map layer whose category values are based upon the user’s
reclassification of categories in an existing raster map layer.
r.recode Recode raster maps.
r.region Sets the boundary definitions for a raster map.
r.regression.line Calculates linear regression from two raster maps: y = a + b*x
r.report Reports statistics for raster map layers.
r.resamp.rst Reinterpolates and computes topographic analysis from input raster file to
a new raster file (possibly with different resolution) using regularized spline
with tension and smoothing.
r.resample GRASS raster map layer data resampling capability.
r.rescale.eq Rescales histogram equalized the range of categoryvalues in a raster map
layer.
r.rescale Rescales the range of category values in a raster map layer.
r.ros Generates three, or four raster map layers showing 1) the base (perpendicu-
lar) rate of spread (ROS), 2) the maximum (forward) ROS, 3) the direction
of the maximum ROS, and optionally 4) the maximum potential spotting
distance.
r.series Makes each output cell value a function of the values assigned to the corre-
sponding cells in the input raster map layers.
r.shaded.relief Creates shaded relief map from an elevation map (DEM).
r.slope.aspect Generates raster map layers of slope, aspect, curvatures and partial deriva-
tives from a raster map layer of true elevation values. Aspect is calculated
counterclockwise from east.
Pokračování na další stránce
146
Pokračování
Příkaz Krátký popis
r.spread Simulates elliptically anisotropic spread on a graphics window and gene-
rates a raster map of the cumulative time of spread, given raster maps
containing the rates of spread (ROS), the ROS directions and the spread
origins. It optionally produces raster maps to contain backlink UTM coor-
dinates for tracing spread paths.
r.spreadpath Recursively traces the least cost path backwards to cells from which the
cumulative cost was determined.
r.statistics Category or object oriented statistics.
r.stats Generates area statistics for raster map layers.
r.sum Sums up the raster cell values.
r.sun Computes direct (beam), diffuse and reflected solar irradiation raster maps
for given day, latitude, surface and atmospheric conditions. Solar para-
meters (e.g. sunrise, sunset times, declination, extraterrestrial irradiance,
daylight length) are saved in a local text file. Alternatively, a local time
can be specified to compute solar incidence angle and/or irradiance raster
maps. The shadowing effect of the topography is optionally incorporated.
r.sunmask Calculates cast shadow areas from sun position and DEM. Either A: exact
sun position is specified, or B: date/time to calculate the sun position by
r.sunmask itself.
r.surf.area Surface area estimation for rasters.
r.surf.contour Surface generation program from rasterized contours.
r.surf.fractal GRASS module to create a fractal surface of a given fractal dimension.
Uses spectral synthesis method. Can create intermediate layers showing
the build up of different spectral coefficients (see Saupe, pp.106-107 for an
example of this). Use this module to generate naturally looking synthetical
elevation models (DEM).
r.surf.gauss GRASS module to produce a raster map layer of gaussian deviates whose
mean and standard deviation can be expressed by the user. It uses a gaus-
sian random number generator.
r.surf.idw Surface interpolation utility for raster map layers.
r.surf.random Produces a raster map layer of uniform random deviates whose range can
be expressed by the user.
r.terraflow Flow computation for massive grids (Float version).
r.texture Generate images with textural features from a raster map
r.thin Thins non-zero cells that denote linear features in a raster map layer.
r.timestamp Print/add/remove a timestamp for a raster map.
Pokračování na další stránce
147
Pokračování
Příkaz Krátký popis
r.to.vect Converts a raster map into a vector map layer.
r.topidx Creates topographic index, ln(a/tan(beta)), map from elevation map.
r.topmodel Simulates TOPMODEL which is physically based hydrologic model.
r.transect Outputs raster map layer values lying along user defined transect line(s).
r.univar Calculates univariate statistics from the non-null cells of a raster map.
r.univar.sh calculates univariate statistics from a GRASS raster map
r.water.outlet Watershed basin creation program.
r.watershed Watershed basin analysis program.
r.what Queries raster map layers on their category values and category labels.
r3.* commands:
Příkaz Krátký popis
r3.in.ascii Convert a 3D ASCII raster text file into a (binary) 3D raster map layer
r3.in.v5d import of 3-dimensional Vis5D files (i.e. the v5d file with 1 variable and 1
time step)
r3.info Outputs basic information about a user-specified 3D raster map layer.
r3.mapcalc r3.mapcalc
r3.mask Establishes or removes the current working 3D raster mask.
r3.mkdspf
r3.null Explicitly create the 3D NULL-value bitmap file.
r3.out.ascii Converts a 3D raster map layer into an ASCII text file
r3.out.v5d Export of GRASS 3D raster file to 3-dimensional Vis5D file.
r3.timestamp print/add/remove a timestamp for a 3D raster map
v.* commands:
Příkaz Krátký popis
v.buffer Create a buffer around features of given type (areas must contain centroid).
v.build.all v.build.all
v.build Creates topology for GRASS vector data.
v.build.polylines Build polylines from lines.
v.category Attach, delete or report vector categories to map geometry.
v.clean Toolset to clean vector topology.
v.convert.all
v.convert Imports older versions of GRASS vectors.
Pokračování na další stránce
148
Pokračování
Příkaz Krátký popis
v.db.connect prints/sets DB connection for a vector map
v.db.select Print vector attributes
v.delaunay Create a Delaunay triangulation from an input vector of points or centroids.
v.digit
v.distance Find the nearest element in vector ’to’ for elements in vector ’from’. Various
information about this relation may be uploaded to the attribute table of
input vector ’from’ or printed to stdout.
v.external Create a new vector as a read-only link to OGR layer. Available drivers:
v.extract Selects vector objects from an existing vector map and creates a new map
containing only the selected objects. If ’list’, ’file’ and ’where’ options are
not specified, all features of given type and layer are extracted, categories
are not changed in that case.
v.hull Uses a GRASS vector points map to produce a convex hull vector map
v.in.ascii Convert GRASS ascii file or points file to binary vector.
v.in.db Create new vector (points) from database table containing coordinates.
v.in.e00 Import of E00 file into a vector map.
v.in.garmin Upload Waypoints, Routes, and Tracks from a Garmin GPS receiver into
a vector map.
v.in.ogr Convert OGR vectors to GRASS. Available drivers:
v.in.region Create a new vector from current region.
v.in.sites.all
v.in.sites Converts a GRASS site lists file into a vector file.
v.info Outputs basic information about a user-specified vector map layer.
v.kcv Randomly partition points into test/train sets.
v.kernel Generates a raster density map from vector points data using a moving 2D
isotropic Gaussian kernel or optionally generates a vector density map on
vector network with a 1D kernel
v.label Create paint labels for GRASS vector file and attached attributes.
v.mkgrid Creates a (binary) GRASS vector map of a user-defined grid.
v.neighbors Makes each cell value a function of the attribute values assigned to the
vector points or centroids around it, and stores new cell values in an output
raster map layer.
v.net.alloc Allocate subnets for nearest centres (direction from centre). Centre node
must be opened (costs >= 0). Costs of centre node are used in calculation
v.net Network maintenance.
v.net.iso Split net to bands between cost isolines (direction from centre). Centre node
must be opened (costs >= 0). Costs of centre node are used in calculation
Pokračování na další stránce
149
Pokračování
Příkaz Krátký popis
v.net.path Find shortest path on vector network. Reads start/end pointsfrom standard
input in 2 possible formats:
v.net.salesman Create a cycle connecting given nodes (Traveling salesman problem). Note
that TSP is NP-hard, heuristic algorithm is used by this module and created
cycle may be sub optimal.
v.net.steiner Create Steiner tree for the network and given terminals. Note that ’Mini-
mum Steiner Tree’ problem is NP-hard and heuristic algorithm is used in
this module so the the result may be sub optimal.
v.normal tests for normality for points.
v.out.ascii Convert a GRASS binary vector map to a GRASS ASCII vector map
v.out.dxf Exports GRASS vector files to DXF file format.
v.out.ogr Convert to OGR format.
v.out.pov Convert to POV-Ray format, GRASS x,y,z -> POV-Ray x,z,y
v.overlay Overlay 2 vector maps.
v.patch Creates a new binary vector map layer by combining other binary vector
map layers.
v.perturb Random location perturbations of GRASS sites.
v.proj Allows projection conversion of vector files.
v.qcount indices for quadrat counts of sites lists
v.random Randomly generate a GRASS vector points map.
v.reclass Changes vector category values for an existing vector map according to
results of SQL queries or a value in attribute table column.
v.sample Sample a raster file at site locations.
v.segment Create points/segments from input lines, and positions read from stdin in
format:
v.select Select features from ainput by features from binput.
v.surf.idw Surface interpolation from sites data by Inverse Distance Squared Wei-
ghting.
v.surf.rst Interpolation and topographic analysis from given point or contour data
in vector format to GRASS floating point raster format using regularized
spline with tension.
v.to.db Load values from vector to database. In uploaded/printed category values
’-1’ is used for ’no category’ and ’null’/’-’ if category cannot be found or
multiple categories were found.
Pokračování na další stránce
Pokračování
Příkaz Krátký popis
v.to.points Create points along input lines.
v.to.rast Converts a binary GRASS vector map layer into a GRASS raster map layer.
v.transform Transforms an vector map layer from one coordinate system into another
coordinate system.
v.type Change the type of geometry elements.
v.univar Calculates univariate statistics for attribute. Variance and standard devi-
ation is calculated only for points.
v.vol.rst Interpolates point data to a G3D grid volume using regularized spline with
tension (RST) algorithm
v.voronoi Create a Delaunay triangulation from an input vector of points or centroids.
v.what.rast Upload raster values at positions of vector points to the table.
Literatura
[BF91] R. Bill and D. Fritsch. Grundlagen der Geo-Informationssysteme. Bd. 1 Hardware,
Software und Daten. Wichmann, Karlsruhe, 1991.
[HG94] G. Hake and D. Grünreich. Kartographie. Berlin, 1994.
[Kam86] H. Kamen. Vermessungskunde. Berlin, 1986.
[MH04] H. Mitasova and J. Hofierka. 3d precipitation example dataset slovakia, 2004.
[Net00] M. Neteler. GRASS-Handbuch. Der praktische Leitfaden zum Geographischen In-
formationssystem GRASS. Geosynthesis 11, Geographisches Institut der Universität
Hannover, 2000.
[NM02] M. Neteler and H. Mitasova. Open Source GIS: A GRASS GIS Approach. Kluwer
Academic Publishers, Boston, 2002.
[NM04] M. Neteler and H. Mitasova. Open Source GIS: A GRASS GIS Approach. 2nd
edition. Kluwer Academic Publishers, Boston, 2004.
[SSBL04] G. Sherman, T. Sutton, R. Blazek, and L. Luthmann. Quantum gis user manual,
version 0.6, 2004.
Webové odkazy
[1] GDF Hannover bR. http://www.gdf-hannover.de, 2005.
[2] Free Software Foundation Europe (FSFE). http://www.fsfeurope.org, 2005.
[3] GDAL-Software-Suite. http://www.gdal.org, 2004.
[4] GRASS GIS. http://grass.itc.it, 2005.
[5] Intevation GmbH. http://www.intevation.de, 2005.
[6] GRASS Anwender-Vereinigung Heimatseite. http://www.grass-verein.de, 2005.
151
152
[7] OGR-Software-Suite. http://www.gdal.org/ogr/, 2004.
[8] FreeGIS Project. http://www.freegis.org, 2005.
[9] FRIDA Projekt. http://frida.intevation.org, 2005.
[10] PyShapeLib-bindings. ftp://intevation.de/users/bh/pyshapelib/, 2004.
[11] QGIS-Development-Team. http://www.qgis.org, 2004.
[12] Shapelib-Software-Suite. http://shapelib.maptools.org, 2004.
[13] Skencil. http://www.skencil.org, 2004.
[14] Xfig-Software-Suite. http://www.xfig.org, 2004.
top related