153GIS2 - 2. cvičení - GRASS GIS: Porovnání verzí

Z GeoWikiCZ
mBez shrnutí editace
 
(Není zobrazeno 10 mezilehlých verzí od stejného uživatele.)
Řádek 1: Řádek 1:
{{Upravit}}
<div style="float: right">
<div style="float: right">
__TOC__
__TOC__
Řádek 65: Řádek 64:


; 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?
; 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?
{{GrassPrikaz|r.mapcalc}} {{bullet}} {{GrassPrikaz|r.report}}
<source lang="bash">
r.mapcalc 'vid800_1000 = if(viditelnost > 0 && dem > 800 && dem < 1000, 1, null())'
r.report -nh --q map=vid800_1000 units=h
</source>


===== 6. =====
===== 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)?
; 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)?
<source lang="bash">
r.mapcalc 'v6 = if((dem > 1000 && slope5_10) || (dem > 1000 && jih) || (jih && slope5_10), 1, null())'
r.report -nh --q map=v6 units=h
</source>


===== 7. =====
===== 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?
; 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?
{{GrassPrikaz|v.buffer}} {{bullet}} {{GrassPrikaz|v.to.rast}} {{bullet}} {{GrassPrikaz|r.mapcalc}} {{bullet}} {{GrassPrikaz|r.report}}
<source lang="bash">
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
</source>


===== 8. =====
===== 8. =====


; Jak dlouhý úsek silnice je vidět z bodu v S-JTSK [1055000, 560000]?
; Jak dlouhý úsek silnice je vidět z bodu v S-JTSK [1055000, 560000]?
{{GrassPrikaz|r.mapcalc}} {{bullet}} {{GrassPrikaz|r.to.vect}} {{bullet}} {{GrassPrikaz|v.overlay}} {{bullet}} {{GrassPrikaz|v.db.addcol}} {{bullet}} {{GrassPrikaz|v.to.db}} {{bullet}} {{GrassPrikaz|db.select}}
<source lang="bash">
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"
</source>


===== 9. =====
===== 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"?
; Jaká ve výměra území, kde nadmořská výška je menší než výraz "100 krát sklon svahu ve stupních"?
{{GrassPrikaz|r.mapcalc}} {{bullet}} {{GrassPrikaz|r.report}}
<source lang="bash">
r.mapcalc 'v9 = if(dem < 100 * slope, 1, null())'
r.report -nh --q map=v9 units=h
</source>


===== 10. =====
===== 10. =====


; Jaká je nadmořská výška bodu v S-JTSK [1055000, 560000]?
; Jaká je nadmořská výška bodu v S-JTSK [1055000, 560000]?
{{GrassPrikaz|v.in.ascii}} {{bullet}} {{GrassPrikaz|v.drape}} {{bullet}} {{GrassPrikaz|v.out.ascii}}
<source lang="bash">
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
</source>


===== 11.=====
===== 11.=====
Řádek 90: Řádek 136:
; Jaká je skutečná délka (po povrchu) všech silnic v území?  
; Jaká je skutečná délka (po povrchu) všech silnic v území?  


{{GrassPrikaz|v.drape}} {{bullet}} {{GrassPrikaz|v.db.addcol}} {{bullet}} {{GrassPrikaz|v.to.db}} {{bullet}} {{GrassPrikaz|db.select}}
<source lang="bash">
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"
</source>


{{GRASS}}
{{GRASS}}

Aktuální verze z 2. 3. 2010, 15:13

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"