153GIS1 - 11. cvičení - GRASS GIS: Porovnání verzí
m →3. |
mBez shrnutí editace |
||
(Není zobrazeno 35 mezilehlých verzí od stejného uživatele.) | |||
Řádek 1: | Řádek 1: | ||
Stránka obsahuje řešení úloh z [[153GIS1 2008 - 11. cvičení]] v [[GRASS GIS]]. | Stránka obsahuje řešení úloh z [[153GIS1 2008 - 11. cvičení]] v [[GRASS GIS]]. Lokace 'gis1' ke stažení [http://josef.fsv.cvut.cz/~landa/vyuka/grass/gis1.tar.gz zde]. | ||
Poznámka: Vektorovou vrstvu 'obce' je potřeba před dalším zpracováním vyčistit - viz [[GRASS GIS - Konzistence vektorových dat]]. | |||
<div style="float: right"> | <div style="float: right"> | ||
__TOC__ | __TOC__ | ||
Řádek 9: | Řádek 10: | ||
;Kolik obcí začínající písmenem ‘K’ mělo v roce 2001 přes 5000 obyvatel? | ;Kolik obcí začínající písmenem ‘K’ mělo v roce 2001 přes 5000 obyvatel? | ||
<source lang= | {{GrassPrikaz|db.select}} | ||
SELECT count(*) FROM obce where OB01 > 5000 AND NAZEV LIKE 'K%' | |||
<source lang="bash"> | |||
db.select sql="SELECT count(*) FROM obce where OB01 > 5000 AND NAZEV LIKE 'K%'" | |||
</source> | </source> | ||
==== 2. ==== | ==== 2. ==== | ||
;Která ORP má největší rozlohu a kolik to je (v | ;Která ORP má největší rozlohu a kolik to je (v km<sup>2</sup>) ? | ||
{{GrassPrikaz|v.db.addcol}} {{bullet}} {{GrassPrikaz|v.to.db}} {{bullet}} {{GrassPrikaz|db.select}} | |||
<source lang= | <source lang="bash"> | ||
SELECT NAZORP,sum(AREA) FROM obce GROUP BY NAZORP ORDER BY sum(AREA) DESC LIMIT 1 | v.db.addcol map=obce columns="area double precision" | ||
v.to.db map=obce option=area column=area units=kilometer | |||
db.select sql="SELECT NAZORP,sum(AREA) FROM obce GROUP BY NAZORP ORDER BY sum(AREA) DESC LIMIT 1" | |||
</source> | </source> | ||
Řádek 28: | Řádek 32: | ||
;Která ORP obsahuje nejvíc obcí a kolik to je ? | ;Která ORP obsahuje nejvíc obcí a kolik to je ? | ||
<source lang= | {{GrassPrikaz|db.select}} | ||
SELECT NAZORP,count(*) | |||
<source lang="bash"> | |||
db.select sql="SELECT NAZORP,count(*) FROM obce GROUP BY NAZORP ORDER BY count(*) DESC LIMIT 1" | |||
</source> | </source> | ||
Řádek 35: | Řádek 41: | ||
;Kolik procent území kraje zabírá Brno (na setiny procenta)? | ;Kolik procent území kraje zabírá Brno (na setiny procenta)? | ||
{{GrassPrikaz|db.select}} | |||
<source lang="bash"> | |||
db.select sql="SELECT 100*(area/(SELECT sum(AREA) FROM obce)) FROM obce WHERE NAZEV='Brno'" | |||
</source> | |||
==== 5. ==== | ==== 5. ==== | ||
;Jaká je délka železnic na území Brna (v km) ? | ;Jaká je délka železnic na území Brna (v km) ? | ||
{{GrassPrikaz|v.extract}} {{bullet}} {{GrassPrikaz|v.overlay}} {{bullet}} {{GrassPrikaz|v.db.addcol}} {{bullet}} {{GrassPrikaz|v.to.db}} {{bullet}} {{GrassPrikaz|db.select}} | |||
<source lang="bash"> | |||
v.extract input=obce output=brno where="NAZEV='Brno'" | |||
v.overlay ainput=zelez atype=line binput=brno btype=area output=zelez_brno operator=and | |||
v.db.addcol map=zelez_brno columns="length double precision" | |||
v.to.db map=zelez_brno opt=length column=length | |||
db.select sql="SELECT sum(length) FROM zelez_brno" | |||
</source> | |||
==== 6. ==== | ==== 6. ==== | ||
;Kolika obcemi prochází železnice ? | ;Kolika obcemi prochází železnice ? | ||
{{GrassPrikaz|v.select}} {{bullet}} {{GrassPrikaz|v.info}} | |||
<source lang="bash"> | |||
v.select ainput=obce btype=area binput=zelez btype=line out=obce_zelez | |||
v.info -t map=obce_zelez | grep centroids | |||
</source> | |||
==== 7. ==== | ==== 7. ==== | ||
;Jaká je výměra území s nákazou (na celé km2) ? | ;Jaká je výměra území s nákazou (na celé km2) ? | ||
{{GrassPrikaz|v.db.addtable}} {{bullet}} {{GrassPrikaz|v.to.db}} {{bullet}} {{GrassPrikaz|db.select}} | |||
<source lang="bash"> | |||
v.db.addtable map=nakaza columns="area double precision" | |||
v.to.db map=nakaza opt=area column=area units=kilometers | |||
db.select sql="SELECT sum(area) FROM nakaza" | |||
</source> | |||
==== 8. ==== | ==== 8. ==== | ||
;Kolik obcí nákaza zasáhla ? | ;Kolik obcí nákaza zasáhla ? | ||
{{GrassPrikaz|v.select}} {{bullet}} {{GrassPrikaz|v.info}} | |||
<source lang="bash"> | |||
v.select ainput=obce atype=area binput=nakaza btype=area output=obce_nakaza | |||
v.info -t map=obce_nakaza | grep centroids | |||
</source> | |||
==== 9. ==== | ==== 9. ==== | ||
;Kolik chovných stanic nákaza zasáhla ? | ;Kolik chovných stanic nákaza zasáhla ? | ||
{{GrassPrikaz|v.in.ascii}} {{bullet}} {{GrassPrikaz|db.select}} {{bullet}} {{GrassPrikaz|v.info}} | |||
<source lang="bash"> | |||
cat stanice.csv | grep -E '^[0-9]' | awk -F',' '{print $1,"-"$2,"-"$3}' | v.in.ascii out=stanice x=2 y=3 cat=1 fs=' ' | |||
v.select ainput=stanice atype=point binput=nakaza btype=area out=stanice_nakaza | |||
v.info -t map=stanice_nakaza | grep points | |||
</source> | |||
==== 10. ==== | ==== 10. ==== | ||
;Kolik chovných stanic je dál než 5 km od nejbližší železnice ? | ;Kolik chovných stanic je dál než 5 km od nejbližší železnice ? | ||
{{GrassPrikaz|v.db.addtable}} {{bullet}} {{GrassPrikaz|v.distance}} {{bullet}} {{GrassPrikaz|db.select}} | |||
<source lang="bash"> | |||
v.db.addtable map=stanice columns="zelez_dist double precision" | |||
v.distance from=stanice from_type=point to=zelez to_type=line upload=dist column=zelez_dist | |||
db.select sql="SELECT count(*) FROM stanice WHERE zelez_dist > 5000" | |||
</source> | |||
==== 11. ==== | ==== 11. ==== | ||
;Na které parcele (číslo podle WMS ČÚZK) leží bod o souř. (1160000, 600000) ? | ;Na které parcele (číslo podle WMS ČÚZK) leží bod o souř. (1160000, 600000) ? | ||
{{GrassPrikaz|v.in.ascii}} {{bullet}} {{GrassPrikaz|g.region}} {{bullet}} {{GrassPrikaz|r.in.wms}} | |||
<source lang="bash"> | |||
echo "-600000|-1160000" | v.in.ascii output=bod | |||
g.region vect=bod n=n+500 s=s-500 w=w-500 e=e+500 | |||
r.in.wms mapserver=http://wms.cuzk.cz/wms.asp layer=RST_DKM out=dkm | |||
</source> | |||
{{GIS}} | {{GIS}} | ||
{{GFOSS}} | |||
{{GRASS}} |
Aktuální verze z 31. 7. 2010, 08:47
Stránka obsahuje řešení úloh z 153GIS1 2008 - 11. cvičení v GRASS GIS. Lokace 'gis1' ke stažení zde.
Poznámka: Vektorovou vrstvu 'obce' je potřeba před dalším zpracováním vyčistit - viz GRASS GIS - Konzistence vektorových dat.
1.
- Kolik obcí začínající písmenem ‘K’ mělo v roce 2001 přes 5000 obyvatel?
db.select sql="SELECT count(*) FROM obce where OB01 > 5000 AND NAZEV LIKE 'K%'"
2.
- Která ORP má největší rozlohu a kolik to je (v km2) ?
v.db.addcol • v.to.db • db.select
v.db.addcol map=obce columns="area double precision"
v.to.db map=obce option=area column=area units=kilometer
db.select sql="SELECT NAZORP,sum(AREA) FROM obce GROUP BY NAZORP ORDER BY sum(AREA) DESC LIMIT 1"
3.
- Která ORP obsahuje nejvíc obcí a kolik to je ?
db.select sql="SELECT NAZORP,count(*) FROM obce GROUP BY NAZORP ORDER BY count(*) DESC LIMIT 1"
4.
- Kolik procent území kraje zabírá Brno (na setiny procenta)?
db.select sql="SELECT 100*(area/(SELECT sum(AREA) FROM obce)) FROM obce WHERE NAZEV='Brno'"
5.
- Jaká je délka železnic na území Brna (v km) ?
v.extract • v.overlay • v.db.addcol • v.to.db • db.select
v.extract input=obce output=brno where="NAZEV='Brno'"
v.overlay ainput=zelez atype=line binput=brno btype=area output=zelez_brno operator=and
v.db.addcol map=zelez_brno columns="length double precision"
v.to.db map=zelez_brno opt=length column=length
db.select sql="SELECT sum(length) FROM zelez_brno"
6.
- Kolika obcemi prochází železnice ?
v.select ainput=obce btype=area binput=zelez btype=line out=obce_zelez
v.info -t map=obce_zelez | grep centroids
7.
- Jaká je výměra území s nákazou (na celé km2) ?
v.db.addtable • v.to.db • db.select
v.db.addtable map=nakaza columns="area double precision"
v.to.db map=nakaza opt=area column=area units=kilometers
db.select sql="SELECT sum(area) FROM nakaza"
8.
- Kolik obcí nákaza zasáhla ?
v.select ainput=obce atype=area binput=nakaza btype=area output=obce_nakaza
v.info -t map=obce_nakaza | grep centroids
9.
- Kolik chovných stanic nákaza zasáhla ?
v.in.ascii • db.select • v.info
cat stanice.csv | grep -E '^[0-9]' | awk -F',' '{print $1,"-"$2,"-"$3}' | v.in.ascii out=stanice x=2 y=3 cat=1 fs=' '
v.select ainput=stanice atype=point binput=nakaza btype=area out=stanice_nakaza
v.info -t map=stanice_nakaza | grep points
10.
- Kolik chovných stanic je dál než 5 km od nejbližší železnice ?
v.db.addtable • v.distance • db.select
v.db.addtable map=stanice columns="zelez_dist double precision"
v.distance from=stanice from_type=point to=zelez to_type=line upload=dist column=zelez_dist
db.select sql="SELECT count(*) FROM stanice WHERE zelez_dist > 5000"
11.
- Na které parcele (číslo podle WMS ČÚZK) leží bod o souř. (1160000, 600000) ?
v.in.ascii • g.region • r.in.wms
echo "-600000|-1160000" | v.in.ascii output=bod
g.region vect=bod n=n+500 s=s-500 w=w-500 e=e+500
r.in.wms mapserver=http://wms.cuzk.cz/wms.asp layer=RST_DKM out=dkm