153GIS2 / 10. cvičení: Porovnání verzí

Z GeoWikiCZ
Řádek 5: Řádek 5:
[http://www.scribd.com/doc/6594613/Writing-Geoprocessing-Scripts e-kniha o skriptování v ArcGIS]
[http://www.scribd.com/doc/6594613/Writing-Geoprocessing-Scripts e-kniha o skriptování v ArcGIS]


===Ukázka skriptů:===
===Ukázka skriptů ===


==== 1 ====
==== 1 ====

Verze z 6. 5. 2009, 09:35

Hlavní stránka předmětu

Skriptování v Python - úvod

e-kniha o skriptování v ArcGIS

Ukázka skriptů

1

 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()

2

 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()

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()