153ZODH / 2. cvičení

Z GeoWikiCZ

Vizualizace rastrových dat, tabulka barev, region, statistika, histogram

Osnova

Cvičení je zaměřeno na základy práce se systémem GRASS - vizualizaci a statistické charakteristiky rastrových dat. Jsou vysvětleny základní pojmy jako tabulka barev, výpočetní region či histogram.

Seznam použitých příkazů

Vizualizace rastrových dat

Při vizualizaci rastrových dat lze definovat hodnotu či interval hodnot, které budou zobrazeny v mapovém okně - viz parametr values modulu d.rast.

Další informace na portálu FreeGIS.

 # zobrazit pouze rastrové buňky s hodnotou 70
 #
 d.rast map=tm1 values=70
 #
 # zobrazit rastrové buňky s hodnotou 70 a <75;80>
 #
 d.rast map=tm1 values=70,75-80
 #
 # zobrazit rastrové buňky mimo interval <75;80>; podkladová barva červená
 #
 d.rast -i map=tm1 values=75-80 bg=red
 #
 # zobrazit všechny rastrové buňky v intervalu <60;80>; podkladová barva červená (viz obr. níže)
 #
 d.rast map=tm1 values=60-80 bg=red
Zobrazení vybraného intervalu hodnot rastrových buněk (podkladová barva červená)

Hodnotám buněk je pro účel jejich vizualizace přiřazena tzv. barevná hodnota. Toto pravidlo přiřazení se označuje jako tabulka barev. Směrodatná je přirozeně číselná hodnota buňky, nikoliv barevná hodnota, která je na základě nastavené tabulky barev rastrové buňce při zobrazení přiřazena. Při změně tohoto pravidla nedochází k modifikaci dat, ta jsou pouze odlišně vizuálně interpretována.

Číselné hodnoty buněk lze zobrazit pomocí modulu d.rast.num.

Spuštění modulu d.rast.num z prostředí wxGUI
 # zobrazit číselné hodnoty buněk (text červeně)
 #
 d.rast.num map=tm1 text=red
Číselné hodnoty jednotlivých rastrových buněk

Tabulka barev

Tabulka barev definuje pravidlo na základě něhož je rastrové buňce přiřazena jedinečná barevná hodnota. Pro nastavení tabulky barev slouží modul r.colors (příklady). Kromě předdefinovaných pravidel podporuje modul tabulku barev definovanou uživatelem či dovoluje zkopírování již existující tabulky barev přiřazené jiné rastrové vrstvě. Následuje několik příkladů (v případě dynamických tabulek barev jako je např. grey.eq hraje roli aktuální výpočetní region). Pro vizualizaci družicových snímků se používají tzv. odstíny šedi.

 # aktivní region
 #
 g.region rast=tm1
 #
 # nastavení předdefinované tabulky barev (červená-žlutá-zelená)
 #
 r.colors map=tm1 color=ryg
 #
 # vypsání nastavené tabulky barev na standardní výstup
 #
 r.colors.out map=tm1
 #
 # zobrazit družicový snímek
 #
 d.rast map=tm1

Vlastní tabulku barev lze definovat ve formě textového vstupu či interaktivně (viz ukázky níže).

Definice vlastní tabulky barev pomocí modulu r.colors
Interaktivní určení tabulky barev, dialog je dostupný z menu Raster → Manage colors → Manage color rules interactively
 #
 # definice vlastní tabulky
 #
 r.colors map=tm1 color=rules

Pravidla se definují jako dvojice hodnot (v jednom řádku):

[hodnota buňky] [barva]

Barevnou hodnotu lze definovat pomocí RGB trojice ("0:0:0" - černá) nebo jménem barvy. Příklad uživatelské tabulky barev:

0 0 0 0
50 red
60 green
80 blue
255 white
 #
 # odstíny šedi
 #
 r.colors map=tm1 color=grey
 #
 # převzít již existující tabulku barev
 #
 r.colors map=tm1 rast=tm2
 #
 # vyrovnané odstíny šedi
 #
 r.colors map=tm1 color=grey.eq
Demonstrace různých tabulek barev (ryg, vlastní, grey, grey.eq)

Region

Moduly systému GRASS pro zpracování rastrových dat (moduly s prefixem r.) pracují vždy s daty v tzv. aktuálním výpočetním regionu (rozsah, prostorové rozlišení). Tento region se může lišit od regionu nastaveného pro vizualizaci dat v mapovém okně. Pro manipulaci s výpočetním regionem slouží modul g.region.

 # výpis aktuálního výpočetního regionu
 #
 g.region -p
projection: 99 (krovak)
zone:       0
datum:      towgs84=570.8,85.7,462.8,4.998,1.587,5.261,3.56
ellipsoid:  bessel
north:      -957500
south:      -1007318
west:       -830529
east:       -763855.0602047
nsres:      29.99277544
ewres:      29.99277544
rows:       1661
cols:       2223

Kromě informace o souřadnicovém systému, rozsahu území (severní, jižní, západní a východní souřadnice) obsahuje výpis informace o prostorovém rozlišení (směr sever-jih, východ-západ) a počtu řádek a sloupců. Geometrické rozlišení družicového snímku (LandSat TM5, kanál 1) je tedy 30m (tj. jeden pixel odpovídá na zemském povrchu čtverci o rozměrech 30x30m).

Vizualizace výpočetního regionu v prostředí wxGUI

Více k tomuto tématu na portálu FreeGIS.

Metadata rastrových vrstev

Základní informace o rastrových vrstvách - metadata - poskytuje modul r.info.

Spuštění modulu r.info z kontextového menu wxGUI
 r.info map=tm1
+----------------------------------------------------------------------------+
| Layer:    tm1                            Date: Thu Oct 21 09:47:24 2004    |
| Mapset:   PERMANENT                      Login of Creator: martin          |
| Location: sevcech                                                          |
| DataBase: /home/martin/grassdata                                           |
| Title:    Landsat 5 TM - band 1 ( tm1 )                                    |
|----------------------------------------------------------------------------|
|                                                                            |
|   Type of Map:  raster              Number of Categories: 255              |
|   Data Type:    CELL                                                       |
|   Rows:         1661                                                       |
|   Columns:      2223                                                       |
|   Total Cells:  3692403                                                    |
|        Projection: krovak (zone 0)                                         |
|            N:    -957500    S:   -1007318   Res: 29.99277544               |
|            E: -763855.0602047    W:    -830529   Res: 29.99277544          |
|   Range of data:    min =  0 max = 255                                     |
|                                                                            |
|   Data Source:                                                             |
|                                                                            |
|                                                                            |
|                                                                            |
|   Data Description:                                                        |
|    generated by r.in.gdal                                                  |
|                                                                            |
|                                                                            |
+----------------------------------------------------------------------------+

Výpis poskytuje informace o typu dat (Data Type): CELL (celé číslo), DCELL (plovoucí desetinná čárka); počet kategorií a rozsah dat (Number of Categories, Range of data).

Základní statistika rastrových dat

Základní charakteristiku rastrové mapy poskytuje modul r.stats. Modul na standardní výstup (parametr output umožňuje uložit vytvořenou statistiku do souboru) vytiskne na jeden řádek hodnotu buňky a hledanou veličinu (nastaveno pomocí přepínače).

 # celkový počet rastrových buněk
 #
 r.stats input=tm1 -c
 #
 # procenta zastoupení (přibližně)
 #
 r.stats input=tm1 -p
 #
 # celková plocha (v mapových jednotkách)
 #
 r.stats input=tm1 -a

Např. pro celkový počet buněk:

0 82866
55 3
56 6
57 84
58 1582
59 9348
60 17795
61 63258
62 113037
63 110564
...

Poznámka pro pokročilé: Příkazy systému GRASS lze kombinovat se systémovými nástroji OS GNU/Linux. Např. výstup modulu r.stats můžeme seřadit podle celkového počtu buněk, nikoliv podle jejich hodnot. Nejprve prohodíme sloupce (první bude obsahovat počty buněk) - program awk, tento polotovar zpracuje systémová aplikace sort, která provede požadované numerické setřídění. Poznamenejme, že awk ani sort nejsou součástí GRASSu, jde o standardní programy, které naleznete v distribuci GNU/Linuxu. Celý příkaz vypadá asi takto:

 r.stats input=tm1 -c | awk '{print $2,$1}' | sort -n | awk '{print $2,$1}'
55 3
250 6
56 6
201 10
246 10
225 14
...
82 67454
0 82866
79 85112
72 104687
63 110564
62 113037
77 129905
76 134776
71 140830
78 143541
68 156477
73 165429
64 174129
67 189458
74 196145
70 201288
75 203466
69 205577
65 220524
66 281680

Další ukázka řetězení příkazů: celkový počet pixelů pro jednotlivé digitální hodnoty (DH) omezíme (pomocí systémové aplikace awk) na interval DH [55; 85]).

 # vytisknout četnost DH pouze pro interval hodnot [55; 85]
 #
 r.stats input=tm1 -c | awk '{if ($1>55 && $1<85) print $1,$2}'
56 6
57 84
58 1582
59 9348
60 17800
61 63277
62 113072
63 110607
64 174193
65 220580
66 281778
67 189538
68 156562
69 205687
70 201391
71 140880
72 104717
73 165492
74 196217
75 203551
76 134829
77 129954
78 143600
79 85170
80 59787
81 56945
82 67504
83 62548
84 31241

Podobnou charakteristiku rastrové vrstvy poskytuje modul r.report, jeho výstup má formu úhledně sestavené tabulky.

 # tabulka (celkový počet buněk, procenta, výměra v hektarech)
 #
 r.report map=tm1 units=c,p,h
+-----------------------------------------------------------------------------+
|                         RASTER MAP CATEGORY REPORT                          |
|LOCATION: sevcech                                    Sun Oct 16 17:17:05 2005|
|-----------------------------------------------------------------------------|
|          north:     -957500    east:     -763855                            |
|REGION    south:    -1007318    west:     -830529                            |
|          res:   29.99277544    res:  30.00630063                            |
|-----------------------------------------------------------------------------| 
|MASK:none                                                                    |
|-----------------------------------------------------------------------------|
|MAP: Landsat 5 TM - band 1 (tm1 in PERMANENT)                                |
|-----------------------------------------------------------------------------|
|               Category Information                |   cell|   %  |          |
|  #|description                                    |  count| cover|  hectares|
|-----------------------------------------------------------------------------|
|  0| . . . . . . . . . . . . . . . . . . . . . . . |  82866|  2.25|   7457.71|
| 55| . . . . . . . . . . . . . . . . . . . . . . . |      3|  0.00|      0.27|
| 56| . . . . . . . . . . . . . . . . . . . . . . . |      6|  0.00|      0.54|
| 57| . . . . . . . . . . . . . . . . . . . . . . . |     84|  0.00|      7.56|
| 58| . . . . . . . . . . . . . . . . . . . . . . . |   1582|  0.04|    142.38|
| 59| . . . . . . . . . . . . . . . . . . . . . . . |   9348|  0.25|    841.29|
| 60| . . . . . . . . . . . . . . . . . . . . . . . |  17795|  0.48|   1601.50|
| 61| . . . . . . . . . . . . . . . . . . . . . . . |  63258|  1.71|   5693.04|
| 62| . . . . . . . . . . . . . . . . . . . . . . . | 113037|  3.06| 10,173.02|
...
|249| . . . . . . . . . . . . . . . . . . . . . . . |     23|  0.00|      2.07|
|250| . . . . . . . . . . . . . . . . . . . . . . . |      6|  0.00|      0.54|
|251| . . . . . . . . . . . . . . . . . . . . . . . |     18|  0.00|      1.62|
|252| . . . . . . . . . . . . . . . . . . . . . . . |     22|  0.00|      1.98|
|253| . . . . . . . . . . . . . . . . . . . . . . . |     25|  0.00|      2.25|
|254| . . . . . . . . . . . . . . . . . . . . . . . |     14|  0.00|      1.26|
|255| . . . . . . . . . . . . . . . . . . . . . . . |   2376|  0.06|    213.83|
|-----------------------------------------------------------------------------|
|TOTAL                                              |3690742|100.00|332,156.53|
+-----------------------------------------------------------------------------+

Univariatní statistika

Základní statistiku rastrových dat poskytuje modul r.univar.

Spuštění modulu r.univar z kontextového menu wxGUI
 r.univar map=tm1
total null and non-null cells: 1204
total null cells: 0

Of the non-null cells:
----------------------
n: 1204
minimum: 60
maximum: 75
range: 15
mean: 66.1163
standard deviation: 2.28888
variance: 5.23897
variation coefficient: 3.4619 %
sum: 79604

Poznámka: Tento modul (obdobně jako většina modulů pro zpracovaní rastrových/obrazových dat) respektuje aktivní výpočetní region! Před vytvořením statistiky celého snímku, musíme nejprve nastavit výpočetní region podle dané rastrové vrstvy.

 # vytvořit statistiku pro celý snímek
 #
 g.region rast=tm1
 r.univar map=tm1
total null and non-null cells: 3692403
total null cells: 0

Of the non-null cells:
----------------------
n: 3692403
minimum: 0
maximum: 255
range: 255
mean: 71.1857
standard deviation: 15.094
variance: 227.83
variation coefficient: 21.2037 %
sum: 2.62846e+08

Poznámka: Na rozdíl např. od ARC/INFO rozlišuje GRASS hodnotu buňky "0" a "žádná data" (no-data, NULL).

Legenda:

proměnná popisek
n počet buněk
minimum minimální hodnota buňky
maximum maximální hodnota buňky
range rozsah
mean střední hodnota
standard deviation směrodatná odchylka
variance variance
variation coefficient koeficient variace
sum suma hodnot

Spekrální odrazivost v jednotlivých kanálech LandSat-TM5

Rastrové buňky jednotlivých kanálů družicové scény se označují jako tzv. digitální hodnoty (DH). Tyto hodnoty (již digitálně kódované) reprezentují v rámci daného spektrálního intervalu velikost skenerem zachyceného odraženého záření od zemského povrchu. Družicové snímky obsažené v lokaci zod (LandSat-TM5) jsou kódovány jako 8-bitová data (tzn. 256 různých odstínů - hodnoty v rozsahu [0; 255]). Níže uvedený obrázek ukazuje spektrální rozlišení jednotlivých kanálů družicové scény LandSat-TM5.

Spekrální odrazivost v jednotlivých kanálech družicové scény LandSat-TM5 (převzato z GRASS příručky)

První tři kanály pokrývají viditelné spektrum, zbylé kanály potom infračervený obor. Šestý kanál je v tepelném spektru - je označován jako panchromatický a od ostatních kanálů se navíc liší i geometrickým rozlišením - 120m. Na obrázku je navíc zobrazena křivka odrazivosti pro vodu, zelenou vegetaci a písčitou půdu. V pravé části obrázku je vidět dvoudimenzionální systém vytvořený třetím a čtvrtým kanálem družicové scény LandSat-TM5 (tzv. feature space) s viditelnými shluky pixelů - náznaky jednotlivých tříd.

Histogram

Grafické znázornění (v podobě sloupcového grafu) četností jednotlivých DH poskytuje tzv. histogram. Na ose X jsou naneseny jednotlivé DH ([0; 255] v případě 8 bitových dat), na ose Y pak četnost jejich výskytu. Pro zobrazení histogramu slouží modul d.histogram.

 # zobrazení histogramu
 #
 d.histogram map=tm1
Histogram prvního kanálu družicové scény LandSat-TM5

Modul respektuje výpočetní region, např. histogram pro vybranou část snímku:

Histogram prvního kanálu družicové scény LandSat-TM5 - vybraná část snímku
Histogramy jednotlivých kanálů družicové scény LandSat-TM5

Nástroj pro zobrazení histogramu je ve wxGUI dostupný z mapového okna.

Vizualizace histogramu v prostředí wxGUI
Vizualizace histogramu v prostředí wxGUI

wxGUI nabízí také nativní nástroj pro zobrazení histogramu rastrové mapy (viz níže).

Vizualizace histogramu (pomocí nativního nástroje) v prostředí wxGUI
Vizualizace histogramu (pomocí nativního nástroje) v prostředí wxGUI