153GIS2 - 2. cvičení - GRASS GIS: Porovnání verzí
mBez shrnutí editace |
mBez shrnutí editace |
||
(Není zobrazeno 22 mezilehlých verzí od stejného uživatele.) | |||
Řádek 1: | Řádek 1: | ||
<div style="float: right"> | <div style="float: right"> | ||
__TOC__ | __TOC__ | ||
Řádek 6: | Řádek 5: | ||
; Tvorba DEM z vrstevnic | ; Tvorba DEM z vrstevnic | ||
{{GrassPrikaz|g.region}} {{bullet}} {{GrassPrikaz|v.to.rast}} {{bullet}} {{GrassPrikaz|r.surf.contour}} | |||
<source lang="bash"> | <source lang="bash"> | ||
g.region vect=stare_mesto_vrstevnice res= | g.region vect=stare_mesto_vrstevnice res=0.5 | ||
v.to.rast input=stare_mesto_vrstevnice output=vrstevnice type=line column=VAL | 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 | r.surf.contour input=vrstevnice output=dem | ||
</source> | </source> | ||
Řádek 16: | Řádek 19: | ||
; Jaká je výměra území s nadmořskou výškou nad 1000 m? | ; Jaká je výměra území s nadmořskou výškou nad 1000 m? | ||
{{GrassPrikaz|r.mapcalc}} {{bullet}} {{GrassPrikaz|r.report}} | |||
<source lang="bash"> | |||
r.mapcalc 'dem1000 = if(dem > 1000, 1, null())' | |||
r.report -nh --q map=dem1000 units=h | |||
</source> | |||
===== 2. ===== | ===== 2. ===== | ||
; Jaká je výměra území se sklonem 5-10 stupňů? | ; Jaká je výměra území se sklonem 5-10 stupňů? | ||
{{GrassPrikaz|r.slope.aspect}} {{bullet}} {{GrassPrikaz|r.mapcalc}} {{bullet}} {{GrassPrikaz|r.report}} | |||
<source lang="bash"> | |||
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 | |||
</source> | |||
===== 3. ===== | ===== 3. ===== | ||
; Jaká je výměra území s orientací na jih (azimut 160-200)? | ; Jaká je výměra území s orientací na jih (azimut 160-200)? | ||
{{GrassPrikaz|r.mapcalc}} {{bullet}} {{GrassPrikaz|r.report}} | |||
<source lang="bash"> | |||
r.mapcalc 'jih = if(aspect > 250 && slope < 290, 1, null())' | |||
r.report -nh --q map=jih units=h | |||
</source> | |||
===== 4. ===== | ===== 4. ===== | ||
; Jaká je výměra území s orientací na jih (azimut 160-200) a zároveň se sklonem 10-15 stupňů? | ; Jaká je výměra území s orientací na jih (azimut 160-200) a zároveň se sklonem 10-15 stupňů? | ||
{{GrassPrikaz|r.mapcalc}} {{bullet}} {{GrassPrikaz|r.report}} | |||
<source lang="bash"> | |||
r.mapcalc 'jih10_15 = if(jih && slope > 10 && slope < 15, 1, null())' | |||
r.report -nh --q map=jih10_15 units=h | |||
</source> | |||
===== 5. ===== | ===== 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? | ; 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 57: | Řá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.region • v.to.rast • r.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.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.aspect • r.mapcalc • r.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.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.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.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.buffer • v.to.rast • r.mapcalc • r.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.mapcalc • r.to.vect • v.overlay • v.db.addcol • v.to.db • db.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.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.ascii • v.drape • v.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.drape • v.db.addcol • v.to.db • db.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"