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 (Только для чтения) |
Определяет максимальное значение серьезности сообщений.
|
Integer |
|
messageCount (Только для чтения) |
Количество сообщений. |
Integer |
|
outputCount (Только для чтения) |
Количество выходных данных. |
Integer |
|
resultID (Только для чтения) |
ID задания. Если инструмент не является сервисом геообработки, значение будет |
String |
|
status (Только для чтения) |
Определяет статус задания.
|
Integer |
Методы
cancel()
Отменить связанное задание.
getAllMessages()
Возвращает типы сообщений, коды возврата и строки сообщений.
Возвращаемое значение
| Тип данных | Объяснение |
|---|---|
|
List |
Возвращает список списков, включающий по положению: тип, код возврата и строку сообщения. Первый элемент в каждом внутреннем списке представляет собой целое число, соответствующее типу сообщения.
Второй элемент - это целое число, соответствующее коду возврата сообщения. Если у сообщения есть связанный идентификационный номер, элементу будет присвоен 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.
|
* |
Возвращаемое значение
| Тип данных | Объяснение |
|---|---|
|
Object |
Список объектов диаграмм. Тип объекта будет зависеть от типа диаграммы, например, |
getInput(index)
Возвращает заданные входные данные в виде строки или объекта RecordSet.
| Имя | Объяснение | Тип данных |
|---|---|---|
|
index |
The index position of the input as an integer, or the parameter name. |
Variant |
Возвращаемое значение
| Тип данных | Объяснение |
|---|---|
|
Variant |
Входные данные, как объект |
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.
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 |
Выходные данные в виде Если выходные данные инструмента, такого как Создать векторный слой, представляют собой слой, то Результирующие выходные данные также могут быть доступны с помощью индекса (целого числа или имени). Например, чтобы получить доступ к счетчику записей инструмента Посчитать строки, |
getSeverity(index)
Указывает важность определенного сообщения.
| Имя | Объяснение | Тип данных |
|---|---|---|
|
index |
The message index position. |
Integer |
Возвращаемое значение
| Тип данных | Объяснение |
|---|---|
|
Integer |
Важность определенного сообщения.
|
saveToFile(rlt_file)
Сохраняет результат в файл результата.
Примечание:
saveToFileне поддерживается в ArcGIS Pro; используйте инструмент Упаковать результат.
| Имя | Объяснение | Тип данных |
|---|---|---|
|
rlt_file |
The full path to the output result file ( |
String |
Пример кода
Из объекта Result, возвращенного инструментом Посчитать строки, получите доступ к количеству записей по индексу.
import arcpy
in_table = arcpy.GetParameterAsText(0)
result = arcpy.management.GetCount(in_table)
print(result[0])
Из объекта Result, возвращенного инструментом Посчитать строки, получите доступ к количеству записей по имени.
import arcpy
in_table = arcpy.GetParameterAsText(0)
result = arcpy.management.GetCount(in_table)
print(result["row_count"])
Скрипт берет схему набора объектов серверного инструмента, затем загружает данные в набор объектов и передает их серверному инструменту. После завершения работы инструмента скрипт сохраняет результат в локальный набор данных.
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")
Повторно создайте выходные данные сервиса геообработки, используя имя инструмента и идентификатор результата.
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)