153GIS2 / 10. cvičení: Porovnání verzí
m Stránka 153GIS2 2009 - 10. cvičení přemístěna na stránku 153GIS2 - 10. cvičení |
mBez shrnutí editace |
||
Řádek 1: | Řádek 1: | ||
[[153GIS2 GIS 2| Hlavní stránka předmětu]] | [[153GIS2 GIS 2| Hlavní stránka předmětu]] {{bullet}} [[153GIS2 - 9. cvičení|Předcházející cvičení]] {{bullet}} [[153GIS2 - 11. cvičení|Následující cvičení]] | ||
==Skriptování v Python - úvod== | ==Skriptování v Python - úvod== |
Verze z 4. 3. 2010, 12:08
Hlavní stránka předmětu • Předcházející cvičení • Následující cvičení
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()
4
import sys, string, os, arcgisscripting
gp = arcgisscripting.create()
gp.workspace = "d:/jirka/skola/vyuka/gis/"
kraje = "D:\\jirka\\skola\\vyuka\\gis\\kraje.shp"
rows = gp.SearchCursor("kraje.shp") #vytvori cursor
row = rows.next() #promena row obsahuje jeden zaznam ze shapefilu
while row:
nazev = row.GetValue("NAZEV_ENG")
kraje_Select_shp = "D:\\jirka\\skola\\vyuka\\gis\\"+nazev+".shp"
gp.Select_analysis(kraje, kraje_Select_shp, "\"NAZEV_ENG\" = '"+nazev+"'")
row = rows.next()