Skip to main content

Result

サマリー

The result of a geoprocessing tool.

ディスカッション

A Result object maintains information about a tool operation after it has completed. This includes messages, parameters, and outputs. Functions such as arcpy.GetMessages provide information solely from the preceding tool. However, you can maintain a Result object even after running other tools.

構文

Result(toolname, resultID)

名前 説明 データ タイプ

toolname

The name of the tool that was run.

String

resultID

The job ID.

Integer

プロパティ

名前 説明 データ タイプ

inputCount

(読み取り専用)

The number of inputs.

Integer

maxSeverity

(読み取り専用)

Specifies the maximum severity of the messages.

  • 0—The tool produced only informative messages.

  • 1—The tool produced a warning message but no error messages.

  • 2—The tool produced an error message.

Integer

messageCount

(読み取り専用)

The number of messages.

Integer

outputCount

(読み取り専用)

The number of outputs.

Integer

resultID

(読み取り専用)

The job ID. If the tool is not a geoprocessing service, the value will be "".

String

status

(読み取り専用)

Specifies the job status.

  • 0—The job status is New.

  • 1—The job status is Submitted.

  • 2—The job status is Waiting.

  • 3—The job status is Executing.

  • 4—The job status is Succeeded.

  • 5—The job status is Failed.

  • 6—The job status is Timed out.

  • 7—The job status is Cancelling.

  • 8—The job status is Cancelled.

  • 9—The job status is Deleting.

  • 10—The job status is Deleted.

Integer

方法

cancel()

Cancel an associated job.

getAllMessages()

Returns the message types, return codes, and message strings.

戻り値

データ タイプ 説明

List

Returns a list of lists that includes by position: the type, return code, and message string.

The first item in each internal list is an integer representing the message type.

  • 0—Informative message

  • 1—Definition message

  • 2—Start message

  • 3—Stop message

  • 50—Warning message

  • 100—Error message

  • 101—Empty message

  • 102—Geodatabase error message

  • 200—Abort message

The second item is an integer representing the message return code. If the message has an associated ID number, the item will be ID number. Error messages that do not have an ID will return -2147467259. All other messages will return a 0. The second item is the message string.

getCharts({wildcard})

Returns chart objects created by the tool.

名前 説明 データ タイプ

wildcard

(オプション)

Limits the charts returned by title. If no value is specified, all charts are returned. The wildcard is not case sensitive.

Symbol

Description

Example

*

Represents zero or more characters.

Te* finds Tennessee and Texas.

*

戻り値

データ タイプ 説明

Object

A list of chart objects. The type of object will vary depending on the type of chart, for example, Bar or Box.

getInput(index)

Returns a given input, either as a string or a RecordSet object.

名前 説明 データ タイプ

index

The index position of the input as an integer, or the parameter name.

Variant

戻り値

データ タイプ 説明

Variant

The input, either as a RecordSet object or a string.

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

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

名前 説明 データ タイプ

parameter_list

(オプション)

The parameters 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

戻り値

データ タイプ 説明

String

The URL of the map image.

getMessage(index)

Returns a specific message by index position.

名前 説明 データ タイプ

index

The index position of the message.

Integer

戻り値

データ タイプ 説明

String

The geoprocessing message.

getMessages({severity})

Returns the geoprocessing tool messages.

名前 説明 データ タイプ

severity

(オプション)

The type of messages to be returned.

  • 0—Informative, warning, and error messages are returned.

  • 1—Only warning messages are returned.

  • 2—Only error messages are returned.

Not specifying a severity level will return all types of messages.

The default value is 0.

Integer

戻り値

データ タイプ 説明

String

The geoprocessing tool messages.

getOutput(index)

Returns a given output, either as a RecordSet object or a string.

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

名前 説明 データ タイプ

index

The index position of the output as an integer, or the parameter name.

Variant

戻り値

データ タイプ 説明

Variant

The output, either as a RecordSet or a string.

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

Result outputs can also be accessed by index by integer or by name. For example, to access the record count from the Get Count tool, result.getOutput(0), result[0], result.getOutput("row_count"), and result["row_count"] are equivalent.

getSeverity(index)

Specifies the severity of a specific message.

名前 説明 データ タイプ

index

The message index position.

Integer

戻り値

データ タイプ 説明

Integer

The severity of the specific message.

  • 0—Informative, warning, and error messages are returned.

  • 1—Only warning messages are returned.

  • 2—Only error messages are returned.

saveToFile(rlt_file)

Saves the result to a result file.

注意:

saveToFile is not supported in ArcGIS Pro; use the Package Result tool instead.

名前 説明 データ タイプ

rlt_file

The full path to the output result file (.rlt).

String

コードのサンプル

Result example 1

From a Result object returned from the Get Count tool, access the record count by index.

import arcpy

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

From a Result object returned from the Get Count tool, access the record count by name.

import arcpy

in_table = arcpy.GetParameterAsText(0)
result = arcpy.management.GetCount(in_table)
print(result["row_count"])
Result example 3

The script obtains the feature set schema from a server tool, then loads data to the feature set, and passes it to the server tool. Once the tool completes, the script saves the result to a 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.server.BufferPoints(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 4

Re-create the output of a geoprocessing service 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)