Result

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

Результат выполнения инструмента геообработки.

Обсуждение

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

Синтаксис

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

The name of the tool that was run.

String
resultID

The job ID.

Integer

Свойства

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

Количество входных данных.

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

Определяет максимальное значение серьезности сообщений.

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

Количество сообщений.

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

Количество выходных данных.

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

ID задания. Если инструмент не является сервисом геообработки, значение будет "".

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

Определяет статус задания.

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

Обзор метода

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

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

getAllMessages ()

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

getCharts ({wildcard})

Возвращает объекты chart, созданные инструментом.

getInput (index)

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

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

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

getMessage (index)

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

getMessages ({severity})

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

getOutput (index)

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

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

getSeverity (index)

Указывает важность определенного сообщения.

saveToFile (rlt_file)

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

Примечание:

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

Методы

cancel ()
getAllMessages ()
Возвращаемое значение
Тип данныхОписание
List

Возвращает список списков, включающий по положению: тип, код возврата и строку сообщения.

Первый элемент в каждом внутреннем списке представляет собой целое число, соответствующее типу сообщения.

  • 0Информационное сообщение
  • 1Определяющее сообщение
  • 2Сообщение о начале
  • 3Сообщение об окончании
  • 50Предупреждающее сообщение
  • 100Сообщение об ошибке
  • 101Пустое сообщение
  • 102Сообщение об ошибке базы геоданных
  • 200Прерывающее сообщение

Второй элемент - это целое число, соответствующее коду возврата сообщения. Если у сообщения есть связанный идентификационный номер, элементу будет присвоен ID. Сообщения об ошибках без ID будут возвращать -2147467259. Все остальные сообщения вернут 0. Второй элемент - это строка сообщения.

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

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

СимволОписаниеПример

*

Представляет ноль или больше символов.

Te* находит Теннесси и Техас.

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

Список объектов диаграмм. Тип объекта будет зависеть от типа диаграммы, например, Bar или Box.

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

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

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

Входные данные, как объект RecordSet или строка.

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

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

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

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

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

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

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

The message index position.

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

Важность определенного сообщения.

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

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

String

Пример кода

Result, пример 1

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

import arcpy

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

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

import arcpy

in_table = arcpy.GetParameterAsText(0)
result = arcpy.management.GetCount(in_table)
print(result["row_count"])
Result, пример 3

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

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

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

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)

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