153GIS2 / 10. cvičení: Porovnání verzí
m Založena nová stránka: Hlavní stránka předmětu ==Skriptování v Python - úvod== [http://www.scribd.com/doc/6594613/Writing-Geoprocessing-Scripts e-kniha o skriptován... |
|||
Řádek 44: | Řádek 44: | ||
print gp.GetMessages() | print gp.GetMessages() | ||
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() | |||
{{GIS}} | {{GIS}} |
Verze z 5. 5. 2009, 14:59
Skriptování v Python - úvod
e-kniha o skriptování v ArcGIS
Ukázka skriptů:
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: data = gp.Describe("obce.shp") fields = data.Fields field = fields.next() while field: print field.Name field = fields.next() except: print gp.GetMessages()
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 = "Liberec" #String - nazev obce 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: print rad.GetValue("NAZEV"), rad.GetValue("OB01") rad = radky.next() except: print gp.GetMessages()
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()