Result

Summary

A Result object is returned by geoprocessing tools.

Discussion

The advantage of a Result object is that you can maintain information about the execution of tools, including messages, parameters, and output. These results can be maintained even after several other tools have been run.

Syntax

Result (toolname, resultID)
ParameterExplanationData Type
toolname

The name of the executed tool.

String
resultID

The job ID.

Integer

Properties

PropertyExplanationData Type
inputCount
(Read Only)

Returns the number of inputs.

Integer
maxSeverity
(Read Only)

Returns the maximum severity of the message.

Integer
messageCount
(Read Only)

Returns the number of messages.

Integer
outputCount
(Read Only)

Returns the number of outputs.

Integer
resultID
(Read Only)

Gets the job ID. If the tool is not a geoprocessing service, the resultID will be "".

String
status
(Read Only)

Gets the job status.

  • 0New
  • 1Submitted
  • 2Waiting
  • 3Executing
  • 4Succeeded
  • 5Failed
  • 6Timed out
  • 7Cancelling
  • 8Cancelled
  • 9Deleting
  • 10Deleted
Integer

Method Overview

MethodExplanation
cancel ()

Cancels an associated job

getInput (index)

Returns a given input, either as a recordset or string.

getMapImageURL ({parameter_list}, {height}, {width}, {resolution})

Gets a map service image for a given output, if one exists.

getMessage (index)

Returns a specific message.

getMessages ({severity})

Returns messages.

getOutput (index)

Returns a given output, either as a recordset or string.

If the output of the tool, such as MakeFeatureLayer is a layer, getOutput will return a Layer object.

getSeverity (index)

Returns the severity of a specific message.

Methods

cancel ()
getInput (index)
ParameterExplanationData Type
index

The index position of the input.

Integer
Return Value
Data TypeExplanation
Object

The input, either as a recordset or string.

getMapImageURL ({parameter_list}, {height}, {width}, {resolution})
ParameterExplanationData Type
parameter_list

Parameter(s) on which the map service image will be based.

Integer
height

The height of the image.

Double
width

The width of the image.

Double
resolution

The resolution of the image.

Double
Return Value
Data TypeExplanation
String

The URL of the map image.

getMessage (index)
ParameterExplanationData Type
index

The index position of the message.

Integer
Return Value
Data TypeExplanation
String

The geoprocessing message.

getMessages ({severity})
ParameterExplanationData Type
severity

The type of messages to be returned: 0=message, 1=warning, 2=error. Not specifying a value returns all message types.

  • 0informational message
  • 1warning message
  • 2error message

(The default value is 0)

Integer
Return Value
Data TypeExplanation
String

The geoprocessing messages.

getOutput (index)
ParameterExplanationData Type
index

The index position of the outputs.

Integer
Return Value
Data TypeExplanation
Object

The output, either as a recordset or string.

If the output of the tool, such as MakeFeatureLayer is a layer, getOutput will return a Layer object.

getSeverity (index)
ParameterExplanationData Type
index

The message index position.

Integer
Return Value
Data TypeExplanation
Integer

The severity of the specific message.

  • 0informational message
  • 1warning message
  • 2error message

Code Sample

Result example 1

Use the result object returned from GetCount to determine the count of a table.

import arcpy
inTable = arcpy.GetParameterAsText(0)
result = arcpy.GetCount_management(inTable)
print result.getOutput(0)
Result example 2

Obtain feature set schema from server tool, load data to feature set, pass feature set to server tool, and check for result object. Once completed, save result to local dataset.

import arcpy
import time  

# Add a toolbox from a server 
#
arcpy.ImportToolbox("http://myserver/arcgis/services;GP/BufferByVal", "server") 

# Use GetParameterValue to get a featureset object with the default
#   schema of the first parameter of the tool 'bufferpoints' 
#
inFeatureSet = arcpy.getParameterValue("bufferpoints", 0) 

# Load a shapefile into the featureset 
#
inFeatureSet.load("C:/Data/roads.shp") 

# Run a server tool named BufferPoints with featureset created above 
# 
result = arcpy.BufferPoints_server(inFeatureSet, "500 feet") 

# Check the status of the result object every 0.2 seconds 
#    until it has a value of 4(succeeded) or greater 
# 
while result.status < 4:
    time.sleep(0.2)
 
# Get the output FeatureSet back from the server and save to a local geodatabase 
# 
outFeatSet = result.getOutput(0)
outFeatSet.save("C:/Temp/Base.gdb/roads_buffer")

Related Topics


10/28/2011