153ZODH / 12. cvičení

Z GeoWikiCZ
Verze z 5. 1. 2009, 19:25, kterou vytvořil Landa (diskuse | příspěvky) (typos)

< Stránky předmětuPředchozí cvičení

Multitemporální analýza

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ů

* g.mapsets
* g.list
* g.mlist
* d.rast.leg
* d.vect
* r.series
* r.mapcalc
* r.series
* r.colors

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=modis20021st
g.list rast mapset=modis20021st

Data zobrazíme.

# noc, 22:30h, teplota ve stupních Celsia
d.rast.leg map=terra_1st_night_20020921
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" lsize=12
# den, 10:30h
d.rast.leg map=terra_1st_night_20020922
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" lsize=12

Rozdíl LST noc-den vypočteme pomocí r.mapcalc.

r.mapcalc "diff_den_noc = terra_1st_day20020922 - terra_1st_day_20020921"
d.rast.leg map=diff_den_noc
d.vect map=us_natlas_hydrogp type=boundary color=black
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" lcolor=black 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=1st_200209${DAY}_avg
 d.vect map=us_natlas_urban type=boundary
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="1st_200209* sep=","`
echo "$LIST"
r.series input=$LIST output=1st_200209_avg method=average
r.colors map=1st_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
d.vect map=us_natlas_urban diplay=attr attrcol=NANE type=centroid where="AREA >= 0.002" lcolor=black 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.



< Stránky předmětuPředchozí cvičení