153GIS2 - 2. cvičení - GRASS GIS

Z GeoWikiCZ
Verze z 2. 3. 2010, 15:13, kterou vytvořil Landa (diskuse | příspěvky)
(rozdíl) ← Starší verze | zobrazit aktuální verzi (rozdíl) | Novější verze → (rozdíl)

Stránka obsahuje řešení úloh z 2. cvičení 153GIS2 v GRASS GIS.

Tvorba DEM z vrstevnic

g.regionv.to.rastr.surf.contour

g.region vect=stare_mesto_vrstevnice res=0.5
v.to.rast input=stare_mesto_vrstevnice output=vrstevnice type=line column=VAL
g.region vect=vrstevnice res=10
v.to.rast input=obrys output=MASK use=val
r.surf.contour input=vrstevnice output=dem
1.
Jaká je výměra území s nadmořskou výškou nad 1000 m?

r.mapcalcr.report

r.mapcalc 'dem1000 = if(dem > 1000, 1, null())'
r.report -nh --q map=dem1000 units=h
2.
Jaká je výměra území se sklonem 5-10 stupňů?

r.slope.aspectr.mapcalcr.report

r.slope.aspect elevation=dem slope=slope aspect=aspect
r.mapcalc 'slope5_10 = if(slope > 5 && slope < 10, 1, null())'
r.report -nh --q map=slope5_10 units=h
3.
Jaká je výměra území s orientací na jih (azimut 160-200)?

r.mapcalcr.report

r.mapcalc 'jih = if(aspect > 250 && slope < 290, 1, null())'
r.report -nh --q map=jih units=h
4.
Jaká je výměra území s orientací na jih (azimut 160-200) a zároveň se sklonem 10-15 stupňů?

r.mapcalcr.report

r.mapcalc 'jih10_15 = if(jih && slope > 10 && slope < 15, 1, null())'
r.report -nh --q map=jih10_15 units=h
5.
Jaká je výměra území, které je viditelné z bodu v S-JTSK [1055000, 560000] a zároveň má nadmořskou výšku 800-1000 m?

r.mapcalcr.report

r.mapcalc 'vid800_1000 = if(viditelnost > 0 && dem > 800 && dem < 1000, 1, null())'
r.report -nh --q map=vid800_1000 units=h
6.
Jaká je výměra území, kde jsou splněny alespoň 2 z následujících podmínek - nadmořská výška nad 1000 m, sklon 5-10 stupňů, orientace na jih (azimut 160-200)?
r.mapcalc 'v6 = if((dem > 1000 && slope5_10) || (dem > 1000 && jih) || (jih && slope5_10), 1, null())'
r.report -nh --q map=v6 units=h
7.
Jaká je výměra území, které je do 1000 m od nejbližší silnice a zároveň má nadmořskou výšku nad 800 m?

v.bufferv.to.rastr.mapcalcr.report

v.buffer input=stare_mesto_silnice output=silnice_buffer dist=1000
v.to.rast input=silnice_buffer output=silnice_buffer use=val
r.mapcalc 'dem_silnice = if(dem > 800 && silnice_buffer, 1, null())'
r.report -nh --q map=dem_silnice units=h
8.
Jak dlouhý úsek silnice je vidět z bodu v S-JTSK [1055000, 560000]?

r.mapcalcr.to.vectv.overlayv.db.addcolv.to.dbdb.select

r.mapcalc 'vid = if(viditelnost > 0, 1, null())'
r.to.vect -s input=vid out=vid feature=area
v.overlay ainput=stare_mesto_silnice atype=line binput=vid operator=and output=vid_silnice
v.db.addcol map=vid_silnice columns="delka int"
v.to.db map=vid_silnice type=line option=length columns=delka
db.select -c sql="select sum(delka) from vid_silnice"
9.
Jaká ve výměra území, kde nadmořská výška je menší než výraz "100 krát sklon svahu ve stupních"?

r.mapcalcr.report

r.mapcalc 'v9 = if(dem < 100 * slope, 1, null())'
r.report -nh --q map=v9 units=h
10.
Jaká je nadmořská výška bodu v S-JTSK [1055000, 560000]?

v.in.asciiv.drapev.out.ascii

echo "-560000|-1055000" | v.in.ascii input=- output=obod --o
v.drape input=obod type=point rast=dem output=obod_dem
v.out.ascii input=obod_dem
11.
Jaká je skutečná délka (po povrchu) všech silnic v území?

v.drapev.db.addcolv.to.dbdb.select

v.drape input=stare_mesto_silnice type=line rast=dem output=silnice_dem
v.db.addcol map=silnice_dem columns="delka int"
v.to.db map=silnice_dem type=line option=length columns=delka
db.select -c sql="select sum(delka) from silnice_dem_1"