153GIS2 - 10. cvičení - GRASS GIS
Stránka obsahuje ukázky skriptů v Pythonu pro GRASS GIS z 10. cvičení GIS2.
1
from grass.script import vector as grass
for nazev in grass.vector_columns(map = 'obce').keys():
print nazev
2
from grass.script import core, vector as grass
select = grass.vector_db_select(map = "obce",
where = "NAZEV = 'Liberec'")
idx = select['columns'].index('OB01')
ob01 = 0
for record in select['values'].itervalues():
ob01 += int(record[idx])
nazev_idx = select['columns'].index('NAZEV')
for record in grass.vector_db_select(map = "obce",
where = "OB01 > %d" % ob01)['values'].itervalues():
print unicode(record[nazev_idx], 'latin2').ljust(15), record[idx]
3
import arcgisscripting, sys #import modulu
gp = arcgisscripting.create() #vytvoreni objektu geoprocessingu
gp.Overwriteoutput = 1 #nastaveno prepisovani
gp.workspace = "d:/jirka/skola/vyuka/gis/model/" #nastaveni workspace - pracovni adresar nebo geodatabaze
try:
input = sys.argv[1] #String - nazev obce
output = sys.argv[2] #cesta k textovemu souboru
f = open(output, 'w') #otevru file
rows = gp.SearchCursor("obce.shp") #vytvori cursor
row = rows.next() #promena row obsahuje jeden zaznam ze shapefilu
while row:
if row.GetValue("NAZEV") == input:
pocet = row.GetValue("OB01") #pocet obyvatel zadane obce
row = rows.next()
radky = gp.SearchCursor("obce.shp")
rad = radky.next()
while rad:
if rad.GetValue("OB01") > pocet:
f.write(rad.GetValue("NAZEV")+" "+str(rad.GetValue("OB01"))+"\n") #do souboru pisu obce ktere maji vic obyvatel nez zadana
rad = radky.next()
f.close()
except:
print gp.GetMessages()