Result (arcpy)

Resumen

A Result object is returned by geoprocessing tools.

Debate

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.

Sintaxis

Result (toolname, resultID)
ParámetroExplicaciónTipo de datos
toolname

The name of the executed tool.

String
resultID

The job ID.

Integer

Propiedades

PropiedadExplicaciónTipo de datos
inputCount
(Sólo lectura)

Returns the number of inputs.

Integer
maxSeverity
(Sólo lectura)

Returns the maximum severity of the messages.

  • 0If the tool produced only informative messages.
  • 1 If the tool produced a warning message, but no error messages.
  • 2 If the tool produced an error message.
Integer
messageCount
(Sólo lectura)

Returns the number of messages.

Integer
outputCount
(Sólo lectura)

Returns the number of outputs.

Integer
resultID
(Sólo lectura)

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

String
status
(Sólo lectura)

Gets the job status.

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

Descripción general de los métodos

MétodoExplicación
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 a 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.

saveToFile (rlt_file)

Saves the result to a result file (.rlt).

Métodos

cancel ()
getInput (index)
ParámetroExplicaciónTipo de datos
index

The index position of the input.

Integer
Valor de retorno
Tipo de datosExplicación
Object

The input, either as a recordset or string.

getMapImageURL ({parameter_list}, {height}, {width}, {resolution})
ParámetroExplicaciónTipo de datos
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
Valor de retorno
Tipo de datosExplicación
String

The URL of the map image.

getMessage (index)
ParámetroExplicaciónTipo de datos
index

The index position of the message.

Integer
Valor de retorno
Tipo de datosExplicación
String

The geoprocessing message.

getMessages ({severity})
ParámetroExplicaciónTipo de datos
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

(El valor predeterminado es 0)

Integer
Valor de retorno
Tipo de datosExplicación
String

The geoprocessing messages.

getOutput (index)
ParámetroExplicaciónTipo de datos
index

The index position of the outputs.

Integer
Valor de retorno
Tipo de datosExplicación
Object

The output, either as a recordset or a string.

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

Result outputs can also be accessed by index, so result.getOutput(0) and result[0] are equivalent.

getSeverity (index)
ParámetroExplicaciónTipo de datos
index

The message index position.

Integer
Valor de retorno
Tipo de datosExplicación
Integer

The severity of the specific message.

  • 0informational message
  • 1warning message
  • 2error message
saveToFile (rlt_file)
ParámetroExplicaciónTipo de datos
rlt_file

Full path to the output result file (.rlt).

String

Ejemplo de código

Result example 1

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

import arcpy

in_table = arcpy.GetParameterAsText(0)
result = arcpy.GetCount_management(in_table)
print result[0]
Result example 2

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

import time
import arcpy

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

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

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

# Run a server tool named BufferPoints with featureset created above
result = arcpy.BufferPoints_server(in_featureset, "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
out_featureset = result.getOutput(0)
out_featureset.save("c:/temp/base.gdb/roads_buffer")
Result example 3

Re-create the original geoprocessing service output using the tool name and result id.

import arcpy

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

# Recreate the original output using the tool name and result id
result_id = 'jfea96e13ba7b443cb04ba47c19899a1b'
result = arcpy.Result("BufferPoints", result_id)

Temas relacionados

4/26/2014