Result

Сводка

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

Описание

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

Синтаксис

 Result  (toolname, resultID)
ParameterОбъяснениеТип данных
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)
ParameterОбъяснениеТип данных
index

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

Integer
Значение отраженного сигнала
Тип данныхОбъяснение
Object

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

getMapImageURL ({parameter_list}, {height}, {width}, {resolution})
ParameterОбъяснениеТип данных
parameter_list

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

Integer
height

Высота изображения.

Double
width

Ширина изображения.

Double
resolution

Разрешение изображения.

Double
Значение отраженного сигнала
Тип данныхОбъяснение
String

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

getMessage (index)
ParameterОбъяснениеТип данных
index

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

Integer
Значение отраженного сигнала
Тип данныхОбъяснение
String

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

getMessages ({severity})
ParameterОбъяснениеТип данных
severity

Тип возвращаемых сообщений: 0=сообщение, 1=предупреждение, 2=ошибка. Если значение не задано, возвращаются сообщения всех типов.

  • 0информационное сообщение
  • 1сообщение с предупреждением
  • 2сообщение об ошибке

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

Integer
Значение отраженного сигнала
Тип данныхОбъяснение
String

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

getOutput (index)
ParameterОбъяснениеТип данных
index

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

Integer
Значение отраженного сигнала
Тип данныхОбъяснение
Object

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

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

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

getSeverity (index)
ParameterОбъяснениеТип данных
index

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

Integer
Значение отраженного сигнала
Тип данныхОбъяснение
Integer

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

  • 0информационное сообщение
  • 1сообщение с предупреждением
  • 2сообщение об ошибке
saveToFile (rlt_file)
ParameterОбъяснениеТип данных
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)

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