Using geoprocessing tasks in Python scripts
ArcGIS Server geoprocessing tasks can be used in scripts. The basic steps are
- Add the service as a toolbox.
- Since many tasks use feature and record sets, query the task to get the feature or record set schema.
- Load features or records.
- Start execution of the tool.
- Query the result of the tool and wait for execution to finish.
- Query the result to fetch outputs.
Example script:
import arcpy, time # Add a geoprocessing service as a toolbox # Syntax: ArcGIS Server link;ToolBoxName with the Tool name is the next attribute # arcpy.ImportToolbox("http://degrassi/arcgis/services;BufferToolBox","Buffer") # One of the tasks is BufferPoints and its first parameter is a feature # set. Get the feature set from the task. # inFeatSet = arcpy.GetParameterValue("Buffer", 0) # Load an existing feature class into the feature set # inFeatSet.load("C:/datasets/aoi/observations.shp") # Start execution of the task # Service is executed by the toolName_aliasName # result = arcpy.Buffer_Buffer(inFeatSet, "500 feet") # Query the result object to detect when the service has finished execution # while result.status < 4: time.sleep(0.2) # The output of this task is a feature set of the buffered points. Get the output # by index and save to a geodatabase feature class. # outFeatSet = result.getOutput(0) outFeatSet.save("C:/mydata/gpResults.gbd/output1")
Additional topics:
Topic |
Description |
---|---|
Details on how to add toolboxes and geoprocessing services within a script |
|
Details about creating, loading, and saving feature set and record set data |
|
Details about querying the result of a tool or task |
|
Details of result class properties and methods |
Related Topics
11/18/2013