arcgis通过代码调用第三方工具箱的方法

arcgisarcgis通过python代码调用第三方工具箱的方法有以下步骤:

官方文档地址:

https://pro.arcgis.com/en/pro-app/3.1/arcpy/geoprocessing_and_python/adding-and-removing-toolboxes.htm

1、导入工具箱

        通过arcpy的ImportToolbox导入工具箱;

        toolname = ImportToolbox(input_file, module_name=None)

参数:

input_file:工具箱的绝对路径(字符串)

module_name:工具箱自定义名称(字符串),如果工具箱没有别名,则需要指定。

2、调用工具

可以先使用下面的方法列出工具箱下面包含的所有工具(我使用的是notebook,所以不使用print)

arcpy.ListTools("*mytbx")

第一种方法:toolname.工具名称(最常用);

第二种方法:arcpy.工具名称_工具箱自定义名称(用下划线连接);

两种方法传递的参数即是使用工具时输入的参数。

代码如下:

# 导入arcpy
import arcpy
# 工具箱的路径
tbx = r"F:\05、编写程序\耕地资源质量分类流程\博士工具箱.tbx"
# 导入工具箱
mytoolbox = arcpy.ImportToolbox(tbx,"mytbx")
# 调用工具
# 第一种方法:
# mytoolbox.CalculateBsm(参数1,参数2,……)
# 第二种方法
# arcpy.CalculateBsm_mytbx(参数1,参数2,……)

3、接收返回

        1、使用变量接收返回的结果:getOutput(index)

        2、使用变量接收返回的消息:getMessage(0)

代码:

# 导入arcpy
import arcpy
# 工具箱的路径
tbx = r"F:\05、编写程序\耕地资源质量分类流程\博士工具箱.tbx"
# 导入工具箱
mytoolbox = arcpy.ImportToolbox(tbx,"mytbx")
input_path = r"C:\Users\Administrator\Desktop\0828"
out_fe = r"C:\Users\Administrator\Desktop\0828\out.shp"
res = mytoolbox.PathJoin(input_path,"test.shp")
print(res.getOutput(0))
# 打印输出:'C:\\Users\\Administrator\\Desktop\\0828\\test.shp'
print(res.getMessage(0))
# 打印输出:'开始时间: 2024年8月27日 11:48:08'

4、写在后面

        优点:可以调用第三方的工具箱,尤其在同一个工具箱里面相互调用工具,可以大量减少代码量,便于后期工具维护。

        缺点:频繁使用这种方法会造成计算机额外开销。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值