153GIS1 - 11. cvičení - GRASS GIS

Z GeoWikiCZ
Verze z 31. 7. 2010, 08:47, 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 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

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.addcolv.to.dbdb.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

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

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.extractv.overlayv.db.addcolv.to.dbdb.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.selectv.info

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.addtablev.to.dbdb.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.selectv.info

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.asciidb.selectv.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.addtablev.distancedb.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.asciig.regionr.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