Result (arcpy)
摘要
通过地理处理工具返回 Result 对象。
讨论
Result 对象的优点是可以保留工具执行的相关信息,包括消息、参数和输出。即使在运行了多个其他工具后仍可保留这些结果。
语法
参数 | 说明 | 数据类型 |
toolname |
The name of the executed tool. | String |
resultID |
The job ID. | Integer |
属性
属性 | 说明 | 数据类型 |
inputCount (只读) |
Returns the number of inputs. | Integer |
maxSeverity (只读) |
Returns the maximum severity of the messages.
| Integer |
messageCount (只读) |
Returns the number of messages. | Integer |
outputCount (只读) |
Returns the number of outputs. | Integer |
resultID (只读) |
Gets the job ID. If the tool is not a geoprocessing service, the resultID will be "". | String |
status (只读) |
Gets the job status.
| Integer |
方法概述
方法 | 说明 |
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. |
方法
参数 | 说明 | 数据类型 |
index |
The index position of the input. | Integer |
数据类型 | 说明 |
Object |
The input, either as a recordset or string. |
参数 | 说明 | 数据类型 |
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 |
数据类型 | 说明 |
String |
The URL of the map image. |
参数 | 说明 | 数据类型 |
index |
The index position of the message. | Integer |
数据类型 | 说明 |
String |
The geoprocessing message. |
参数 | 说明 | 数据类型 |
severity |
The type of messages to be returned: 0=message, 1=warning, 2=error. Not specifying a value returns all message types.
(默认值为 0) | Integer |
数据类型 | 说明 |
String |
The geoprocessing messages. |
参数 | 说明 | 数据类型 |
index |
The index position of the outputs. | Integer |
数据类型 | 说明 |
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. |
参数 | 说明 | 数据类型 |
index |
The message index position. | Integer |
数据类型 | 说明 |
Integer |
The severity of the specific message.
|
代码实例
使用从 GetCount 返回的结果对象来确定表计数。
import arcpy
inTable = arcpy.GetParameterAsText(0)
result = arcpy.GetCount_management(inTable)
print result.getOutput(0)
从服务器工具获取要素集方案、将数据加载至要素集,将要素集传递到服务器工具并检查结果对象。完成后,将结果保存到本地数据集。
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")
使用工具名称和结果 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)