153GIS2 - 4. cvičení - GRASS GIS: Porovnání verzí
m (→4.) |
m (velikost) |
||
(Není zobrazeno 10 mezilehlých verzí od stejného uživatele.) | |||
Řádek 1: | Řádek 1: | ||
<div style="float: right"> | <div style="float: right"> | ||
__TOC__ | __TOC__ | ||
Řádek 5: | Řádek 4: | ||
Stránka obsahuje řešení úloh z [[153GIS2 - 4. cvičení|4. cvičení 153GIS2]] v [[GRASS GIS]]. | Stránka obsahuje řešení úloh z [[153GIS2 - 4. cvičení|4. cvičení 153GIS2]] v [[GRASS GIS]]. | ||
Pro rastry používejte pixel 10m, pokud není uvedeno jinak. | Pro rastry používejte pixel 10m, pokud není uvedeno jinak. GRASS lokace ke stažení [http://josef.fsv.cvut.cz/~landa/vyuka/grass/gis2.tar.gz zde] (14MB). | ||
<source lang="bash"> | <source lang="bash"> | ||
Řádek 23: | Řádek 22: | ||
;Jakou teplotu má bod o souřadnicích 564 300, 1 057 100? Rastr, ze kterého budete teplotu určovat vypočítejte jako průměr z metod IDW, Kriging a Spline. U všech metod použijte výchozí nastavení a velikost pixelu 10 metrů. (K interpolaci teplot využijte shapefile stare_mesto_teploty). | ;Jakou teplotu má bod o souřadnicích 564 300, 1 057 100? Rastr, ze kterého budete teplotu určovat vypočítejte jako průměr z metod IDW, Kriging a Spline. U všech metod použijte výchozí nastavení a velikost pixelu 10 metrů. (K interpolaci teplot využijte shapefile stare_mesto_teploty). | ||
<source lang="bash"> | <source lang="bash"> | ||
echo "-564300|-1057100" | v.in.ascii input=- output=obod | echo "-564300|-1057100" | v.in.ascii input=- output=obod | ||
v.surf.idw input=stare_mesto_teploty column=Teplota output= | v.surf.idw input=stare_mesto_teploty column=Teplota output=teplota_idw | ||
v.surf.rst input=stare_mesto_teploty zcolumn=Teplota elev= | v.surf.rst input=stare_mesto_teploty zcolumn=Teplota elev=teplota_rst | ||
v.krige input=stare_mesto_teploty column=Teplota output=teplota_kriging | |||
r.mapcalc ' | r.mapcalc 'teplota_3 = (teplota_idw + teplota_rst + teplota_kriging) / 3' | ||
v.drape input=obod type=point rast= | v.drape input=obod type=point rast=teplota_3 output=obod_3 method=bilinear | ||
v.out.ascii obod_3 | v.out.ascii obod_3 | ||
</source> | </source> | ||
Řádek 64: | Řádek 62: | ||
<source lang="bash"> | <source lang="bash"> | ||
r.mapcalc ' | r.mapcalc 'teplota_min = min(teplota_idw, teplota_rst, teplota_kriging)' | ||
v.drape input=obod type=point rast= | v.drape input=obod type=point rast=teplota_min output=obod_min method=bilinear | ||
v.out.ascii obod_min | v.out.ascii obod_min | ||
</source> | </source> | ||
Řádek 72: | Řádek 70: | ||
;Vytvořte rastr, který vznikne z interpolace IDW (výchozí nastavení, pixel 10m) a následně fokální funkcí jako průměrná hodnota (Focal Mean) z oblasti 15x15 pixelů. Jakou teplotu má bod o souřadnicích 564 300, 1 057 100? | ;Vytvořte rastr, který vznikne z interpolace IDW (výchozí nastavení, pixel 10m) a následně fokální funkcí jako průměrná hodnota (Focal Mean) z oblasti 15x15 pixelů. Jakou teplotu má bod o souřadnicích 564 300, 1 057 100? | ||
<source lang="bash"> | |||
r.neighbors input=teplota_idw output=fok15 method=average size=15 | |||
v.drape input=obod type=point rast=fok15 output=obod_fok method=bilinear | |||
v.out.ascii obod_fok | |||
</source> | |||
===== 7. ===== | ===== 7. ===== | ||
;Vyzkoušejte si vytvořit pomocí Raster Calculatoru vrstvu stínovaného reliéfu s azimutem osvětlení 315 stupňů a výškou 45 stupnů. | ;Vyzkoušejte si vytvořit pomocí Raster Calculatoru vrstvu stínovaného reliéfu s azimutem osvětlení 315 stupňů a výškou 45 stupnů. | ||
<source lang="bash"> | |||
r.shaded.relief map=dem shadedmap=stin_rel azimuth=315 altitude=54 | |||
</source> | |||
===== 8. ===== | ===== 8. ===== | ||
;Vyzkoušejte si vytvořit shapefile s pomocí Raster Calculatoru, který obsahuje pouze plochu území s nadmořskou výškou do 600 metrů. | ;Vyzkoušejte si vytvořit shapefile s pomocí Raster Calculatoru, který obsahuje pouze plochu území s nadmořskou výškou do 600 metrů. | ||
<source lang="bash"> | |||
r.mapcalc 'dem_600 = if(dem < 600, 1, null())' | |||
r.to.vect input=dem_600 output=dem_600 feature=area | |||
</source> | |||
===== 9. ===== | ===== 9. ===== | ||
;Vyzkoušejte si vytvořit rastr, jehož buňky mají hodnoty s normálním rozdělením o střední hodnotě 120 a směrodatné odchylce 15. Jako Output Extent používejte vrstvu obrys, velikost pixelu 10 metrů. (funkce Create Normal Raster vytváří rastr o N(0,1) | ;Vyzkoušejte si vytvořit rastr, jehož buňky mají hodnoty s normálním rozdělením o střední hodnotě 120 a směrodatné odchylce 15. Jako Output Extent používejte vrstvu obrys, velikost pixelu 10 metrů. (funkce Create Normal Raster vytváří rastr o N(0,1) | ||
<source lang="bash"> | |||
r.surf.gauss output=dem_gauss mean=120 sigma=15 | |||
</source> | |||
{{GRASS}} | {{GRASS}} |
Aktuální verze z 11. 3. 2010, 18:54
Stránka obsahuje řešení úloh z 4. cvičení 153GIS2 v GRASS GIS.
Pro rastry používejte pixel 10m, pokud není uvedeno jinak. GRASS lokace ke stažení zde (14MB).
g.region rast=dem
1.
- Jaká je plocha území o nadmořské výšce 650 až 750 metrů? Plochu určete pomocí Raster Calculatoru.
r.mapcalc 'dem_650_750 = if(dem >= 650 && dem <= 750, 1, null())'
r.report -hn map=dem_650_750 units=h
2.
- Jakou teplotu má bod o souřadnicích 564 300, 1 057 100? Rastr, ze kterého budete teplotu určovat vypočítejte jako průměr z metod IDW, Kriging a Spline. U všech metod použijte výchozí nastavení a velikost pixelu 10 metrů. (K interpolaci teplot využijte shapefile stare_mesto_teploty).
echo "-564300|-1057100" | v.in.ascii input=- output=obod
v.surf.idw input=stare_mesto_teploty column=Teplota output=teplota_idw
v.surf.rst input=stare_mesto_teploty zcolumn=Teplota elev=teplota_rst
v.krige input=stare_mesto_teploty column=Teplota output=teplota_kriging
r.mapcalc 'teplota_3 = (teplota_idw + teplota_rst + teplota_kriging) / 3'
v.drape input=obod type=point rast=teplota_3 output=obod_3 method=bilinear
v.out.ascii obod_3
3.
- Jaká je plocha území, kde je sklon větší nebo roven jak 20 gonů a menší nebo roven jak 25 gonů?
r.slope.aspect elevation=dem slope=slope
r.mapcalc 'slope_g = if(slope * 10/9 >= 20 && slope * 10/9 <=25, 1, null())'
r.report -hn map=slope_g units=h
4.
- Jaký průměrný sklon mají svahy, které jsou vzdáleny do 100 metrů od silnic?
v.buffer input=stare_mesto_silnice output=silnice_100 distance=100
v.to.rast input=silnice_100 output=MASK use=val
r.univar -g map=slope | grep 'mean='
r.mask -r
5.
- Vytvořte rastr, který bude obsahovat pro každý pixel minimální hodnotu z interpolací IDW, Kriging, Spline (výchozí nastavení, pixel 10m). Jakou teplotu má bod o souřadnicích 564 300, 1 057 100?
r.mapcalc 'teplota_min = min(teplota_idw, teplota_rst, teplota_kriging)'
v.drape input=obod type=point rast=teplota_min output=obod_min method=bilinear
v.out.ascii obod_min
6.
- Vytvořte rastr, který vznikne z interpolace IDW (výchozí nastavení, pixel 10m) a následně fokální funkcí jako průměrná hodnota (Focal Mean) z oblasti 15x15 pixelů. Jakou teplotu má bod o souřadnicích 564 300, 1 057 100?
r.neighbors input=teplota_idw output=fok15 method=average size=15
v.drape input=obod type=point rast=fok15 output=obod_fok method=bilinear
v.out.ascii obod_fok
7.
- Vyzkoušejte si vytvořit pomocí Raster Calculatoru vrstvu stínovaného reliéfu s azimutem osvětlení 315 stupňů a výškou 45 stupnů.
r.shaded.relief map=dem shadedmap=stin_rel azimuth=315 altitude=54
8.
- Vyzkoušejte si vytvořit shapefile s pomocí Raster Calculatoru, který obsahuje pouze plochu území s nadmořskou výškou do 600 metrů.
r.mapcalc 'dem_600 = if(dem < 600, 1, null())'
r.to.vect input=dem_600 output=dem_600 feature=area
9.
- Vyzkoušejte si vytvořit rastr, jehož buňky mají hodnoty s normálním rozdělením o střední hodnotě 120 a směrodatné odchylce 15. Jako Output Extent používejte vrstvu obrys, velikost pixelu 10 metrů. (funkce Create Normal Raster vytváří rastr o N(0,1)
r.surf.gauss output=dem_gauss mean=120 sigma=15