Result

Краткая информация

Инструменты геообработки возвращают объект результата (Result).

Обсуждение

Преимущество объекта Result в том, что вы можете управлять информацией о выполнении инструментов, включая сообщения, параметры и выходные данные. Эти результаты могут быть доступны даже после того, как были выполнены несколько других инструментов.

Синтаксис

 Result  (toolname, resultID)
ПараметрОписаниеТип данных
toolname

Имя выполненного инструмента.

String
resultID

ID задания.

Integer

Свойства

СвойствоОписаниеТип данных
inputCount
(только чтение)

Возвращает количество входных данных.

Integer
maxSeverity
(только чтение)

Возвращает максимальную степень серьезности сообщений.

  • 0Создает ли инструмент только информационные сообщения.
  • 1 Если инструмент создал предупреждение, но без сообщений об ошибках.
  • 2 Если инструмент создал сообщение об ошибке.
Integer
messageCount
(только чтение)

Возвращает количество сообщений.

Integer
outputCount
(только чтение)

Возвращает количество выходных данных.

Integer
resultID
(только чтение)

Получает ИД задания. Если инструмент не является сервисом геообработки resultID будет иметь вид "".

String
status
(только чтение)

Получает статус задания.

  • 0Создать
  • 1Подтверждено
  • 2Ожидание
  • 3Запуск
  • 4Выполнено удачно
  • 5Ошибка
  • 6Время истекло
  • 7Отмена
  • 8Отменено
  • 9Удаление
  • 10Удалено
Integer

Обзор метода

МетодОписание
cancel ()

Отменяет связанное задание

getInput (index)

Возвращает исходный ввод либо как набор записей, либо как строку.

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

Возвращает изображение картографического сервиса для заданных выходных данных, если таковое имеется.

getMessage (index)

Возвращает определенное сообщение по позиции индекса.

getMessages ({severity})

Возвращает сообщения инструмента геообработки.

getOutput (index)

Возвращает заданный результат как строку или RecordSet.

Если выходные данные инструмента, такого как Создать векторный слой, представляют собой слой, то getOutput возвращает объект Layer.

getSeverity (index)

Возвращает важность указанного сообщения.

saveToFile (rlt_file)

Сохраняет результат в файл результата.

Примечание:

saveToFile Не поддерживается в ArcGIS Pro; используйте инструмент Упаковать результат.

Методы

cancel ()
getInput (index)
ПараметрОписаниеТип данных
index

Значение индекса входных данных.

Integer
Возвращаемое значение
Тип данныхОписание
Object

Входные данные в виде набора записей или строки.

getMapImageURL ({parameter_list}, {height}, {width}, {resolution})
ПараметрОписаниеТип данных
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

URL изображения карты.

getMessage (index)
ПараметрОписаниеТип данных
index

The index position of the message.

Integer
Возвращаемое значение
Тип данныхОписание
String

Сообщение геообработки.

getMessages ({severity})
ПараметрОписаниеТип данных
severity

The type of messages to be returned.

  • 0Informative, warning, and error messages are returned.
  • 1Only warning messages are returned.
  • 2Only error messages are returned.

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

(Значение по умолчанию — 0)

Integer
Возвращаемое значение
Тип данныхОписание
String

Сообщения инструмента геообработки.

getOutput (index)
ПараметрОписаниеТип данных
index

Значение индекса выходных данных.

Integer
Возвращаемое значение
Тип данныхОписание
Object

Выходные данные в виде набора записей или строки.

Если выходные данные инструмента, такого как Создать векторный слой, представляют собой слой, то getOutput возвращает объект Layer.

Результирующие выходные данные также могут быть доступны с помощью индекса, так что методы result.getOutput(0) и result[0] эквивалентны.

getSeverity (index)
ПараметрОписаниеТип данных
index

Значение индекса сообщения.

Integer
Возвращаемое значение
Тип данныхОписание
Integer

Степень серьезности указанного сообщения.

  • 0Informative, warning, and error messages are returned.
  • 1Only warning messages are returned.
  • 2Only error messages are returned.
saveToFile (rlt_file)
ПараметрОписаниеТип данных
rlt_file

Полный путь к выходному файлу результата (.rlt).

String

Пример кода

Result пример 1

Использует объект результата, возвращенный после работы инструмента GetCount, чтобы определить число строк в таблице.

import arcpy

in_table = arcpy.GetParameterAsText(0)
result = arcpy.GetCount_management(in_table)
print(result[0])
Result пример 2

Получить схему набора объектов из данного инструмента сервера, загрузить данные в набор объектов, передать набор объектов инструменту сервера и проверить объект result. После завершения сохранить результат в местный набор данных.

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 пример 3

Воссоздать исходные выходные данные сервиса геообработки, используя имя инструмента и 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)

Связанные разделы