Skip to main content

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()

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

Возвращаемое значение

Тип данных Объяснение

List

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

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

  • 0—Информационное сообщение

  • 1—Определяющее сообщение

  • 2—Сообщение о начале

  • 3—Сообщение об окончании

  • 50—Предупреждающее сообщение

  • 100—Сообщение об ошибке

  • 101—Пустое сообщение

  • 102—Сообщение об ошибке базы геоданных

  • 200—Прерывающее сообщение

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

getCharts({wildcard})

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

Имя Объяснение Тип данных

wildcard

(Дополнительный)

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

Символ

Описание

Пример

*

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

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

*

Возвращаемое значение

Тип данных Объяснение

Object

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

getInput(index)

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

Имя Объяснение Тип данных

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.

  • 0—Informative, warning, and error messages are returned.

  • 1—Only warning messages are returned.

  • 2—Only error messages are returned.

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

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

Integer

Возвращаемое значение

Тип данных Объяснение

String

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

getOutput(index)

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

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

Имя Объяснение Тип данных

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

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

  • 0—Informative, warning, and error messages are returned.

  • 1—Only warning messages are returned.

  • 2—Only error messages are returned.

saveToFile(rlt_file)

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

Примечание:

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

Имя Объяснение Тип данных

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)