153ZODH / 12. cvičení
< Stránky předmětu • Předchozí cvičení
Osnova
Pokročilé analýzy jsou založeny na monitorování zemského povrchu a atmosféry v různých prostorových rozlišení a časových intervalech. Zaměříme se na analýzu časové řady dat MODIS (Moderate Resolution Imaging Spectroradiometer, satelit Terra a Aqua NASA).
Seznam příkazů
Multitemporální analýza
K dispozici jsou následující data:
- Aqua (nosič, čas přeletu 1:30h)
- Terra (10:30h)
- Aqua (13:30h)
- Terra (22:30h)
Nejprve přidáme mapset obsahující data MODIS do vyhledávací cesty.
g.mapsets add=modis2002lst g.list rast mapset=modis2002lst
Data zobrazíme.
# noc, 22:30h, teplota ve stupních Celsia g.region rast=terra_lst_night20020921 d.rast.leg map=terra_lst_night20020921 d.vect map=us_natlas_hydrogp type=boundary color=blue d.vect map=us_natlas_urban type=boundary color=brown d.vect map=us_natlas_urban display=attr attrcol=NAME type=centroid where="AREA >= 0.002" lsize=12
# den, 10:30h d.rast.leg map=terra_lst_night20020922 d.vect map=us_natlas_hydrogp type=boundary color=blue d.vect map=us_natlas_urban type=boundary color=brown d.vect map=us_natlas_urban display=attr attrcol=NAME type=centroid where="AREA >= 0.002" lsize=12
Rozdíl LST noc-den vypočteme pomocí r.mapcalc.
r.mapcalc "diff_den_noc = terra_lst_day20020922 - terra_lst_day20020921" d.rast.leg map=diff_den_noc d.vect map=us_natlas_hydrogp type=boundary color=blue d.vect map=us_natlas_urban type=boundary color=brown d.vect map=us_natlas_urban display=attr attrcol=NAME type=centroid where="AREA >= 0.002" lsize=12
Závěr: Na rozdíl od zastavěných ploch se teplotně stabilní se jeví vodní plochy.
Indikátory časových řad
Data jsou již předzpracována, tj. byly odstraněny digitální hodnoty odpovídající mraků. Během výpočtu musíme s NULL hodnotami počítat, např. při určování průměrné teploty povrchu.
Vypočteme denní LST průměry v měsíci září 2002, pomocí modulu r.series.
for d in `seq 1 30` ; do DAY=`echo $d | awk '{printf "%02d\n", $1}'` LIST=`g.mlist type=rast pattern="*lst*200209${DAY}" separator=","` echo "$LIST" r.series -n input=$LIST output=lst_200209${DAY}_avg method=average d.rast.leg map=lst_200209${DAY}_avg d.vect map=us_natlas_hydrogp type=boundary color=blue d.vect map=us_natlas_urban type=boundary color=brown d.vect map=us_natlas_urban display=attr attrcol=NAME type=centroid where="AREA >= 0.002" lsize=12 sleep 1 done
V důsledku NULL hodnot ve vstupních datech některé výstupní vrstvy obsahují částečně nebo zcela NULL hodnoty. Odstranění tohoto efektu by vyžadovalo komplexní rekonstrukci časové řady.
Podobně vytvoříme vrstvu průměrné LST za měsíc září 2002.
LIST=`g.mlist type=rast pattern="*lst_200209*" sep=","` echo "$LIST" r.series input=$LIST output=lst_200209_avg method=average r.colors map=lst_200209_avg color=gyr
Určíme počet validních pixelů (not NULL) v časové řadě.
r.series input=$LIST output=1st_200209_avg_count method=count r.colors map=1st_200209_avg_count color=gyr
d.rast.leg map=1st_200209_avg_count d.vect map=us_natlas_hydrogp type=boundary color=blue d.vect map=us_natlas_urban type=boundary color=brown d.vect map=us_natlas_urban diplay=attr attrcol=NANE type=centroid where="AREA >= 0.002" lsize=12
Na základě počtu validních pixelu nastavíme filtr.
r.mapcalc "1st_200209_avg_filt = if(1st_200209_avg_count > 5, 1st_200209_avg, null()"
d.rast.leg map=1st_200209_avg_filt d.vect map=us_natlas_hydrogp type=boundary color=blue d.vect map=us_natlas_urban type=boundary d.vect map=us_natlas_urban diplay=attr attrcol=NANE type=centroid where="AREA >= 0.002" lcolor=black lsize=12
Zastavěné plochy přirozeně vykazují vyšší průměrnou teplotu v porovnání např. s vodními plochami.