ImportToolbox (arcpy)

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

Импортирует заданный набор инструментов в ArcPy, обеспечивая доступ к входящим в этот набор инструментам.

Обсуждение

Хотя все базовые наборы инструментов ArcGIS доступны по умолчанию из скрипта, пользовательские наборы инструментов или наборы инструментов сторонних разработчиков должны добавляться с помощью команды ImportToolbox.

Другие наборы инструментов различного происхождения можно найти в любой из множества папок или баз геоданных. Среди них могут быть наборы инструментов, созданные вами или вашей организацией, а также наборы инструментов, загруженные с сайтов, таких как Ресурсный центр геообработки. В любом случае эти наборы инструментов должны быть одношаговым процессом импортированы в ArcPy, прежде чем их можно будет использовать как инструменты в Python.

Серверные наборы инструментов также можно добавить с использованием точки с запятой в качестве разделителя.

Сервер

Синтаксис

Интернет ArcGIS for Server

URL;servicename;{username};{password}

Более подробно об использовании сервиса геообработки в Python

ImportToolbox также поддерживает работу с защищенными сервисами ArcGIS Online с помощью файла подключения к ArcGIS Server (.ags). Использование файла .ags позволяет сохранять в нем учетные данные, в скрытом виде.

import arcpy
arcpy.ImportToolbox('c:/logistics/logistics.ags;World/ServiceAreas')
arcpy.GenerateServiceAreas_ServiceAreas()

Чтобы разрешить любому пользователю arcgis.com доступ к вашему инструменту, используйте ключевое слово UseSSOIdentityIfPortalOwned. При выполнении ImportToolbox появится диалоговое окно Вход (Sign In), если вы еще не выполнили вход, иначе вы увидите сообщение об успешной операции.

import arcpy
tbx = "http://logistics.arcgis.com/arcgis/services;World/ServiceAreas;UseSSOIdentityIfPortalOwned"
arcpy.ImportToolbox(tbx)
arcpy.GenerateServiceAreas_ServiceAreas()
ПримечаниеПримечание:

Будет использовано диалоговое окно Вход (Sign In), запускающее отдельный файл Python.

Если токен ранее уже был получен, он также может использоваться с ImportToolbox.

import arcpy

token = 'sadsa213d2j32jsdw02dm2'
referrer = 'http://www.arcgis.com/'
tbx = 'http://logistics.arcgis.com/arcgis/services;' + \
      'World/ServiceAreas;token={};{}'.format(token, referrer)
arcpy.ImportToolbox(tbx)
result = arcpy.GenerateServiceAreas_ServiceAreas()

Синтаксис

ImportToolbox (input_file, {module_name})
ПараметрОбъяснениеТип данных
input_file

Набор инструментов геообработки, добавляемый в пакет сайта ArcPy.

String
module_name

Если у набора инструментов нет псевдонима, требуется аргумент module_name.

Если доступ к инструменту осуществляется через пакет ArcPy, псевдониму набора инструментов, в котором содержится этот инструмент, требуется суффикс (arcpy.<toolname>_<alias>). Поскольку доступ к инструментам и их правильное выполнение в ArcPy зависит от псевдонимов наборов инструментов, псевдонимы чрезвычайно важны при импорте пользовательских наборов инструментов. Желательно всегда указывать псевдоним пользовательского набора инструментов; однако, если псевдоним набора инструментов не указан, можно настроить временный псевдоним в качестве второго параметра.

String
Возвращено значение
Тип данныхОбъяснение
Module

Возвращает импортированный модуль.

Если требуется, имена инструментов можно получить с помощью свойства __all__ модуля.

Пример кода

Пример ImportToolbox

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

import arcpy

# Import custom toolbox
arcpy.ImportToolbox("c:/tools/My_Analysis_Tools.tbx")

try:
    # Run tool in the custom toolbox.  The tool is identified by
    #  the tool name and the toolbox alias.
    arcpy.GetPoints_myanalysis("c:/data/forest.shp")
except arcpy.ExecuteError:
    print(arcpy.GetMessages(2))

Связанные темы

5/10/2014