Arcpy学习笔记(六)-工具和工具箱

AddToolbox:将指定的工具带入到Arcpy中,以边访问工具箱子中的相关工具:

说明:

默认情况下,可在脚本中访问任何核心 ArcGIS 工具箱,但对于自定义工具箱或第三方工具箱,必须使用 ImportToolbox 来添加它们以便在脚本中使用。

可在多个不同的文件夹或地理数据库中找到其他工具箱,这些工具箱的来源可能各不相同;它们可能是您个人创建的工具箱,或者是您所在组织内部创建的工具箱,也可能是从“地理处理资源中心”等站点下载的工具箱。在任何情况下,将这些工具箱用作 Python 中的工具之前,需要将其一步导入到 ArcPy 中。

还可使用分号分隔符添加服务器工具箱。

Arcpy学习笔记(六)-工具和工具箱

 ImportToolbox:

摘要:将指定的工具箱导入到Arcpy中,以便访问工具箱中的相关工具。

说明:可以链接服务器,因为目前用不到,以后需要用到会补充。放上链接:

ImportToolbox—帮助 | ArcGIS Desktop

IsSynchronous:

摘要:用来确定工具是同步运行还是异步运行的。工具为

同步运行时,会自动返回结果,但在完成同步之前不能执行任何其他操作。所有非服务器工具都是同步运行的。服务器工具可以是异步运行的,即向服务器提交某个工具后,无需等待即可使用其他功能,但必须向服务器明确请求结果。

语法:Arcpy学习笔记(六)-工具和工具箱

 代码示例:

import time
import arcpy
# Add server toolbox from a local ArcGIS for Server
arcpy.ImportToolbox("pondermatic;buffertools")
# Create and load a recordset object for the tool's input
record_set = arcpy.RecordSet()
record_set.load("c:/temp/lines.shp")
# Run the server tool
results = arcpy.BufferLines_mytools(record_set, "100")
# If the tool is asynchronous, wait until the task is finished (status = 4)
if not arcpy.IsSynchronous("BufferLines"):
    while results.status < 4:
        time.sleep(0.1)
# Get output from task and export to a feature class on disk
result = results.getOutput(0)
result.save("c:/temp/bufferlines.shp")

ListToolboxes:

摘要:按名称列出地理处理工具箱

语法:Arcpy学习笔记(六)-工具和工具箱

 代码示例:

import arcpy
tools = arcpy.ListToolboxes()
for tool in tools:
   print (tool)

输出结果:

Arcpy学习笔记(六)-工具和工具箱

 ListTools:

摘要:列出地理处理工具(注意上面那个是地理处理工具箱)

语法:Arcpy学习笔记(六)-工具和工具箱

 代码示例:

#列出所有地理分析工具并展示它们的用途
import arcpy
tools = arcpy.ListTools("*_analysis")
for tool in tools:
   print (arcpy.Usage(tool))

RemoveToolbox:

摘要:通过指定路径或引用别名来移除指定的工具箱。从当前地理处理会话中移除指定工具箱。还可使用分号分隔符移除服务器工具箱。

Arcpy学习笔记(六)-工具和工具箱

 语法:

Arcpy学习笔记(六)-工具和工具箱

 代码示例:

#从当前地理处理会话中移除指定工具箱
import arcpy
arcpy.RemoveToolbox(C:\\mytoolboxes\\operations.tbx)
#tbx是工具箱后缀(toolboxes)

上一篇:[CF1446C] Xor Tree


下一篇:cf 888G - Xor-MST(01字典树+分治)