Download presentation
Presentation is loading. Please wait.
1
2006 GIS Jam: ArcGIS Python Scripting http://nrm.salrm.uaf.edu/~dverbyla/arcgis_python
2
Getting Started With Python Geoprocessing Why use scripting with ArcGIS? Python Basics ArcGIS Geoprocessor Basics Simple Applications Sources of confusion
3
Why bother with scripting?
4
When NOT to bother with scripting?
8
VB script Jscript PERL Python (comes with ArcGIS) Scripting Languages for Geoprocessing
9
Python Platform independent (linux, unix, windows) Object-oriented, developer language Good website (www.python.org) Comes with ArcGIS, free from web
10
GeoProcessor Model
13
Export Model to Script
14
ArcGIS Geoprocessor Basics Import modules Create geoprocessor object Use geoprocessor
15
# polygon_to_poly_line.py # Created on: Fri Dec 31 2004 12:34:54 PM # (generated by ArcGIS/ModelBuilder) # Import system modules import sys, string, os, win32com.client # Create the Geoprocessor object gp =win32com.client.Dispatch("esriGeoprocessing.GpDispatch.1") # Local variables... poly_lines_shp = "C:/temp/poly_lines.shp" selected_polygons_shp = "C:/temp/selected_polygons.shp" # Process: Polygon To Line... gp.toolbox = "C:/workshop_geoprocessing/ExampleToolbox.tbx" gp.PolygonToLine(selected_polygons_shp, poly_lines_shp) Python system String module Operating System COM Dispatch
16
OR
17
# Script arguments or variables... Input_Features = sys.argv[1] Output_Feature_Class = sys.argv[2] # Process: Polygon To Line... gp.toolbox = "C:/temp/My Toolbox.tbx" gp.PolygonToLine(Input_Features, Output_Feature_Class) Script Arguments---input from user
18
Running python scripts Using PythonWin debugger Using Python command window As system process As scheduled process
19
PythonWin
20
1) Check for syntax errors 2) Step Through Script Using Debugger
22
Thousands of Toolbars Bog Down System To A Crawl!
23
“Easy Fix”— comment out self.SaveBarState(ToolbarDefault)
24
Python command window
25
Running script as system process
26
Scheduling Scripts
29
Messages From Executing Tools
30
Example Applications For every polygon theme in workspace Convert polygon theme to polyline theme Compute area and perimeter in all themes For every workspace in text file: Build raster pyramids for every raster in each workspace
31
Convert all pond polygon to line themes # Import system modules import sys, string, os, win32com.client # Create the Geoprocessor object gp = win32com.client.Dispatch("esriGeoprocessing.GpDispatch.1") #set workspace gp.workspace = "C:/ponds"; print "workspace set to: ", str(gp.workspace) #get list of feature classes fcs = gp.ListFeatureClasses("*","polygon") fcs.reset() print "All pond polygon themes will be converted to pond shoreline themes..." # Get the first theme and start the loop Current_Theme = fcs.next() while Current_Theme: # While the Current_Theme is not empty print "Converting Theme:", str(Current_Theme) gp.PolygonToLine(Current_Theme, "c:/shorelines/" + Current_Theme) Current_Theme = fcs.next() print "End of Script"
38
Problems With Python Scripting Interpreted language Case sensitive Indentation source of structure \ is a reserved character # is a commenting character Newline character at end of lines
39
Interpreted Line by Line = SLOW
40
Case Sensitive
41
Indentation Source of Structure
42
/ is a reserved character # is a comment character
43
Determine shape type of every theme listed in text file…..
46
More information Python http://wiki.python.org/moin/BeginnersGuide http://www.python.org/ http://diveintopython.org/ ArcGIS Python Scripting http://hobu.biz/software/python_guide_esri/ http://arcscripts.esri.com/
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.