Python 最初只能识别存储在 ArcGIS 系统工具箱(如“数据管理工具”工具箱、“转换工具”工具箱和“分析工具”工具箱)中的工具。通过将自定义工具箱导入到 ArcPy 站点包,在 Python 窗口中,可以像访问任何系统工具一样访问由个人、第三方或组织创建的、保存在自定义工具箱中的自定义工具。
下例中,使用了 ImportToolbox 函数,以便使用 Python 访问自定义工具箱中包含的工具。导入该工具箱后,即能够以 arcpy.<工具名称>_<别名> 形式访问自定义工具。
>>> arcpy.ImportToolbox("c:/mytools/geometrytools.tbx") >>> arcpy.CreateRegularPolygons_geometry(
通过 ArcPy 站点包访问某个工具时,该工具所在的工具箱的别名是必填后缀(arcpy.<工具名称>_<别名>)。由于·ArcPy 要根据工具箱别名来访问和执行正确的工具,因此,当导入自定义工具箱时别名极其重要。一种很好的做法是,始终定义自定义工具箱的别名。不过,如果未定义工具箱别名,可设置一个临时别名,使其作为 ImportToolbox 函数的第二个参数。
>>> arcpy.ImportToolbox("c:/mytools/geometrytools.tbx", "mytools") >>> arcpy.CreateRegularPolygons_mytools(
添加和删除服务器工具箱
地理处理服务也可通过 ImportToolbox 添加到脚本环境中。无论是从本地还是从 Internet 服务器添加地理处理服务,服务器名称和工具箱名称都用分号分隔。
添加地理处理服务的示例语法
# Import a geoprocessing service
#
import arcpy
# To add a toolbox from a Internet server, provide the url and toolbox name
# delimited by a semi-colon
#
arcpy.ImportToolbox("http://lab13/arcgis/services;BufferByVal")
添加本地地理处理服务的示例语法
# Import a local geoprocessing service
#
import arcpy
# To add a toolbox from a local server, provide the server and toolbox name
# delimited by a semi-colon
#
arcpy.ImportToolbox("lab13;BufferByVal")