Result

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

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

Обсуждение

Объект Result сохраняет информацию об операции инструмента после его выполнения. Это сообщения, параметры и выходные данные. Такие функции, как arcpy.GetMessages, содержат информацию исключительно из предыдущего инструмента. Но можно сохранить объект 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 ()

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

getAllMessages ()

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

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. Второй элемент - это строка сообщения.

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

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

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

Из объекта 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)

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