Třetí cvičení - (rastrová) analýza
Použité lokace:
Náplň cvičení:
- reklasifikace vrstev
- překrývání vrstev, mapová algebra
- vzdálenostní analýza
Reklasifikace vrstev
- pár krátkých ukázek ve spearfish
- zobrazte silnice, které jdou přes pozemky (fields) společnosti Black Hills Natl. Forest
- r.report fields - které to jsou
- r.reclass input=fields output=f.firma (pak 63=1)
- echo "tycesty=f.firmaroads" | r.mapcalc
- zjistěte, které oblasti jsou zasažitelné záplavami
- vyberte jednu řeku (potok)
- zjistěte nadmořskou výšku na "dolním toku" = NM
- reklasifikujte oblasti s nadmořskou výškou – vypočtěte obal 1000m kolem řek
- vypočtěte průnik
Depozit platiny ve spearfishi
- zadání:
- povrchová ložiska platiny mohou být na územích s nadmořskou výškou do 1400 m.n.m. do 200 metrů od možných řek
- podpovrchová ložiska platiny mohou být na místech do 500 metrů od vyvřelin (geology:igneous) ve výšce nad 1400 metrů
- musíme zjistit:
- místa do 1400 metrů nad mořem, místa nad 1400 metrů
- obal 500 metrů od vyvřelin
- kde tečou řeky
- 200 metrů obal kolem řek
- průniky
- nastavte rozlišení grassu v monitoru 30metrů
- r.slope.aspect elevation=elevation.dem slope=slope2 aspect=aspect2
- mrkněte na aspekt2, budeme ho potřebovat k výpočtu povodí a možných řek
- reklasifikujte elevation.dem na rastr, kde atribut 1 znamená výšku do 1400 m =>elev.1400
- podobně vyrobte rastr elev.nad1400 pro místa s výškou nad 1400 metrů
- reklasifiujte geology na pouze vyvřeliny (igneous) = igneous
- vytvořte obal 500m, reklasifikujte na pouze obal = igneousbuf
- ( r.buffer input= output= distances=500 )
- r.watershed elevation=elevation.dem threshold=1000 basin=bacini stream=reky (výpočet povodí a řečišť)
- d.his i_map=aspect2 h_map=bacini
- převeďte řeky do podoby, kdy atribut 1 značí místo plošku s řekou, NULL bez řeky
- obalte řeky 200m
- reklasifikujte rekybuf na pouze obalovou cast = rekybuf2
- proveďte průnik oblastí - elev.1400, rekybuf2 = ploziska
- proveďte průnik - elev.nad1400, igneousbuf = podloziska
- spočtěte objem zeminy, kterou je třeba překopat u podpovrchových ložisek do maximální hloubky na úroveň 1400 metrů
Vzdálenostní analýzy
- návrh silniční sítě mezi městy
- zadejte polohy měst (shluky v popln) - v.digit vytvořte bodovou vrstvu = mesta
- převeďte vrstvu na rastr = mestar
- ( v.to.rast input=mesta layer=1 output=mestar use=cat )
- vyberte startovní město = reklasifikace na start
- vyberte cílové město = reklasifikace na stop
- použijte mapu landcov na vytvoření mapy cen pozemků na území oblasti = landcost
- r.cost ( r.cost input=landcost output=m1sireni start_rast=start ) - šíření ceny ve všech směrech od startovního města, zobrazte
- zjistěte souřadnici cílového místa
- r.drain - r.drain input=m1sireni output=m1cesta coordinate=e,n
Zpracování obrazu z DPZ
- rozbalit sevcech.tar.gz do dříve vytvořené databáze ~/grass ( tar zxfv ... )
- zavedení lokace sevcech a mapsetu xstudent v Grassu
- g.list rast
- zobrazit tm1 (nastavit region)
- výpis počtu buněk pro kategorie (r.report tm1 units=c)
- zobrazit číselné hodnoty buněk
- vybrat oblast (d.zoom)
- d.rast.num map=tm1 text=red
- d.what.rast
Tabulka barev (r.colors):
- hodnotám buněk je pro účel jejich vizualizace přiřazena daná barevná hodnota, nedochází k modifikaci dat
- nastavení preddefinované tabulky barev (r.colors tm1 color=ryg)
- definice vlastní tabulky barev (r.colors tm1 color=rules)
Data range is 0 to 255
> 0 0 0 0
> 50 red
> 60 green
> 80 blue
> 255 white
> end
- odstíny šedi (r.colors tm1 color=grey) (d.redraw)
- vyrovnané odstíny šedi (r.colors tm1 color=grey.eq)
- převzetí již existující tabulky barev (r.colors tm1 rast=tm2)
- zobrazení histogramu (d.histogram tm1) (zobrazuje aktivní region)
Barevné syntézy (tzv. Kompozitní snímky):
- kompozitní snímek vznikne přiřazením třech vybraných kanalů scény třem zakladním barvám modelu RGB (pracujeme-li s modelem RGB)
- přiřazení tabulky barev pro kanaly RGB (r.colors tm1 color=grey.eq; r.colors tm2 color=grey.eq; r.colors tm2 color=grey.eq)
- zobrazení dané syntézy barev v monitoru (d.rgb blue=tm1 green=tm2 red=tm3)
Rastrová mapová algebra - g.manual r.mapcalc, http://grass.itc.it/gdp/raster/mapcalc-algebra.pdf, modul zase provádí výpočet pouze v aktuálním regionu.
Výpočet normalizovaného diferenčního vegetačního indexu (NDVI):
- kladná hodnota NDVI ukazuje na oblast s bohatou vegetací, hodnoty NDVI kolem nuly reprezentují půdu bez výraznější vegetace, nula reprezentuje vodní plochy
- r.mapcalc 'ndvi = 1.0 &star (tm4 - tm3) / (tm4 + tm3)'
- vytvořit soubor tb-ndvi.txt s tabulkou barev:
-1.00 red
0.00 red
0.30 yellow
0.50 green
0.60 0 136 26
0.87 0 87 16
- nastavit tabulku barev ze souboru (r.colors ndvi color=rules tb-ndvi.txt)
- zobrazení odpovidající legendy (d.rast.leg map=ndvi)
- vymazání monitoru (d.erase -f, d.rast.leg rozdělil monitor na 2 rámce)
Neřízená klasifikace obrazových dat:
- g.list rast
- sestavení obrazové skupiny (i.group group=tm subgroup=tm input=tm1,tm2,tm3,tm4,tm5,tm7)
- nastavení regionu a sestavení clusterů
- g.region rast=tm1
- i.cluster -help
- i.cluster group=tm subgroup=tm sigfile=tm_nerpri20 reportfile=tm_rep20.txt classes=20
- klasifikátor maximum likelihood (MLC)
- výstupem je tematická (klasifikovaná) mapa (parametr class) a "zamítací mapa" (reject) reprezentující pravděpodobnost nesprávného přiřazení daného pixelu k třídě
- i.maxlik group=tm subgroup=tm sigfile=tm_nerpri20 class=tm_nerkl20 reject=tm_nerza20
- d.rast.leg tm_nerkl20
- d.rast.leg tm_nerza20
- plocha tříd a pravděpodobnosti nesprávného přiřazení v hektarech a procentech
- r.report tm_nerkl20 units=h,p
- r.report tm_nerza20 units=h,p
- maskovaní ploch s pravděpodobností >= 90%
- r.mapcalc 'MASK = if(tm_nerza20 >= 12, 1, null())'
- d.erase -f
- d.rast tm_nerkl20
- g.remove rast=MASK
Postklasifikační úpravy:
- výběr rastrových ploch s výměrou větší než 1 ha (r.reclass.area in=tm_nerkl20 greater=1 output=tm_nerkl20_1ha)
- vyplnění vzniklých "děr" - interpolace inverzní vážená vzdálenost (IDW) (r.surf.idw input=tm_nerkl20_1ha output=tm_nerkl20_int)
- výsledná rastrová mapa by neměla obsahovat žádné buňky s hodnotou "žádná data" (znak '')
- r.stats -c tm_nerkl20_int | grep ''
- postklasifikační filtr (r.neighbors in=tm_nerkl20_int out=tm_nerkl20_f method=mode size=3)
Link to this Page
- archiv 08/09 last edited on 15 February 2010 at 10:32 am by pchrubym.fit.vutbr.cz