ImportToolbox

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

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

Примечание:

Эта функция эквивалентна функции AddToolbox.

Обсуждение

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

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

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

СерверСинтаксис

Интернет ArcGIS Server

URL;servicename;{username};{password}

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

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

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

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

Будет использовано диалоговое окно Вход, запускающее автономный файл 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

The geoprocessing toolbox to be accessed from ArcPy.

String
module_name

If the toolbox does not have an alias, the module_name is required.

When a tool is accessed through the ArcPy site package, the toolbox alias where the tool is contained is a required suffix (arcpy.<toolname>_<alias> or arcpy.<alias>.<toolname>). Since ArcPy depends on toolbox aliases to access and run the correct tool, aliases are important when importing custom toolboxes. It is recommended that you define a custom toolbox's alias; however, if the toolbox alias is not defined, a temporary alias can be set as the second parameter.

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

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

При необходимости имена инструментов можно получить из свойств модуля __all__.

Пример кода

Пример 1 ImportToolbox

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

import arcpy

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

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))
Пример 1 ImportToolbox

Импортирует публично доступный набор инструментов.

import arcpy

tbx = 'https://utility.arcgisonline.com/arcgis/rest/services/;' + \
      'Utilities/PrintingTools'
arcpy.ImportToolbox(tbx)
arcpy.PrintingTools.GetLayoutTemplatesInfo()

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