Добавление наборов инструментов в Python
Изначально ArcPy знает только о инструментах, хранящихся в наборах инструментов системы ArcGIS. Пользовательские инструменты, созданные человеком, сторонней организацией или компанией и сохраненные в пользовательском наборе инструментов, можно использовать в ArcPy как любой системный инструмент, импортировав пользовательский набор инструментов.
В следующем примере функция ImportToolbox используется для того, чтобы инструменты, содержащиеся в пользовательском наборе инструментов, можно было использовать в ArcPy. После импорта набора инструментов можно получить доступ к пользовательским инструментам в виде arcpy.<toolname>_<alias>.
>>> arcpy.ImportToolbox("c:/mytools/geometrytools.atbx")
>>> arcpy.CreateRegularPolygons_geometry(
Если доступ к инструменту осуществляется через пакет ArcPy, псевдониму набора инструментов, в котором содержится этот инструмент, необходим суффикс (arcpy.<toolname>_<alias>). Поскольку доступ к правильному инструменту и его запуск в ArcPy зависят от псевдонимов наборов инструментов, псевдонимы чрезвычайно важны при импорте пользовательских наборов инструментов. Рекомендуется всегда задавать псевдоним для пользовательского набора инструментов. Однако, если псевдоним набора инструментов не определен, в качестве второго параметра функции ImportToolbox можно задать временный псевдоним.
>>> arcpy.ImportToolbox("c:/mytools/geometrytools.atbx", "mytools")
>>> arcpy.CreateRegularPolygons_mytools(
Наборы инструментов Server
Сервисы геообработки также можно добавлять в среду написания скриптов посредством команды ImportToolbox. Независимо от того, добавляете ли вы сервис геообработки с локального или интернет-сервера, имя сервера и название набора инструментов разделяются точкой с запятой.
Чтобы добавить набор инструментов с интернет-сервера, укажите URL и имя набора, разделённые точкой с запятой.
import arcpy
arcpy.ImportToolbox("http://lab13/arcgis/services;BufferByVal")
Чтобы добавить набор инструментов с локального сервера, укажите имя сервера и набора, разделённые точкой с запятой.
import arcpy
arcpy.ImportToolbox("lab13;BufferByVal")