Сводка
Получение информации, такой как описание набора сетевых данных, использованного для анализа, и границы применимости инструмента сервиса геообработки.
Использование
Предполагается, что инструмент будет использоваться до запуска других инструментов в сервисе геообработки. Например, если вам необходимо определить максимальное число остановок, поддерживаемых инструментом FindRoutes, вы можете запустить GetToolInfo, чтобы определить это ограничение.
Синтаксис
arcpy.naagol.GetToolInfo(serviceName, toolName)
Параметр | Объяснение | Тип данных |
serviceName | Имя сервиса, содержащего инструмент. Значение этого параметра должно быть задано с использованием одного из следующих ключевых слов, которые ссылаются на определенный сервис геообработки:
Значение по умолчанию – asyncRoute. | String |
toolName | Имя инструмента в сервисе геообработки. Значение этого параметра должно быть действующим именем инструмента в сервисе геообработки, заданным параметром serviceName. Допустимыми являются следующие имена инструментов:
Значение по умолчанию равно FindRoutes. | String |
Производные выходные данные
Имя | Объяснение | Тип данных |
toolInfo | Дополнительная информация об инструменте в сервисе геообработки. | Строка |
Пример кода
Пример GetToolInfo
Следующий скрипт Python демонстрирует, как использовать инструмент GetToolInfo в скрипте.
'''
The script shows how to use the GetToolInfo tool to get the maximum number of stops
that can be used as inputs with FindRoutes tool.
'''
import sys
import json
import arcpy
#Change the username and password applicable to your own ArcGIS Online account
username = "<your user name>"
password = "<your password>"
utility_service = "https://logistics.arcgis.com/arcgis/services;World/Utilities;{0};{1}".format(username, password)
#Add the geoprocessing service as a toolbox.
arcpy.ImportToolbox(utility_service)
#Call the tool to get the limits for the FindRoutes tool
result = arcpy.Utilities.GetToolInfo("asyncRoute", "FindRoutes")
#Print any warning or error messages returned from the tool
result_severity = arcpy.GetMaxSeverity()
if result_severity == 2:
arcpy.AddMessage("An error occured when running the tool")
arcpy.AddMessage(arcpy.GetMessages(2))
sys.exit(2)
elif result_severity == 1:
arcpy.AddMessage("Warnings were returned when running the tool")
arcpy.AddMessage(arcpy.GetMessages(1))
#Retrieve the tool info and convert it to a dictionary
output_tool_info_json = result.getOutput(0)
output_tool_info_dict = json.loads(output_tool_info_json)
#Retrieve the maximum number of stops allowed by the service
max_stops = int(output_tool_info_dict["serviceLimits"]["maximumStops"])
arcpy.AddMessage("The maximum number of stops supported by the FindRoutes tool: {}" .format(max_stops))
Параметры среды
Этот инструмент не использует параметры среды геообработки