无法导入工具箱ArcGIS pro 3.0.3

202
6
01-06-2023 03:39 PM
NephtaliChavez
新贡献者II

我是arcgis pro 3.0.3桌面,想要分享一个工具箱,其中包含一个python脚本工具,我与同事创建。在我的电脑上,我可以毫无问题地打开、运行和使用这个工具。当我共享工具箱时,我的同事可以将工具箱添加到他的地图项目中,并打开它,但在他运行工具箱时得到一个无法打开工具箱的错误。

监控地块生成器1 ===================== parameters边界层woodland_18048_ExportFeature1林地ID 18048边界英亩144中间输出地理数据库c:\用户\btroxel\ onedrive -美国森林基金会\文档- FAMILY Forest CARBON PROGRAM\地理空间库\_MRV跨区域\Python脚本\test_properties\scratch。gdb最终Plot保存gdb C:\Users\btroxel\OneDrive -美国森林基金会\文档- FAMILY Forest CARBON PROGRAM\地理空间库\_MRV跨区域\Python脚本\test_properties\test_propertiesgdb最终Plot投影GEOGCS["GCS_Assumed_Geographic_1",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]] ===================== MessagesStart Time:周三,1月4日,2023 12:20:06 PM Traceback(最近一次调用):文件“C:\Users\btroxel\OneDrive - American Forest Foundation\Documents - FAMILY Forest CARBON PROGRAM\Geospatial Library\_MRV跨区域\Plot_generator\ mrv .atbx#MonitoringPlotsGenerator1_MRV.py”,第23行,在<模块>文件“C:\ PROGRAM Files\ArcGIS\Pro\Resources\ArcPy\ ArcPy\ __init__.py”,第171行,在ImportToolbox return import_toolbox(input_file, module_name)文件“C:\ PROGRAM Files\ArcGIS\Pro\Resources\ArcPy\ ArcPy\ toolbox_code.py”,第486行,在import_toolbox工具箱= gp工具箱。createObject("Toolbox", tbxfile)文件"C:\Program Files\ArcGIS\Pro\Resources\ArcPy\ ArcPy\ geoprocessing\_base.py",第389行,在createObject self._gp。CreateObject(*gp_fixargs(args, True))) OSError:工具箱文件C:\Users\btroxel\American Forest Foundation\FAMILY Forest CARBON PROGRAM - Documents\Geospatial Library\_MRV跨区域\Plot_generator\MRV。Atbx未找到。失败的脚本(null)…执行失败(MonitoringPlotsGenerator1)。Failed at星期三,1月4日,2023年12:20:06 PM(运行时间:0.23秒)

请随意下载包含python脚本和工具箱的文件夹。截图还显示,他的电脑上确实存在这个工具箱。我将尽可能地总结这个工具。

创建MRV图生成器是为了在边界内随机生成9-11个图/点之间,边界可以是任何形状或大小(也可以是多部分多边形)。它将考虑边界的面积,并从数学上计算点的初始间距,以获得正确的地块数量。为了进一步随机化,它将以一些随机的数量/角度移动和旋转点。它在我的电脑上工作得很好,但我需要能够分享它!

它有一些粗糙的python脚本,因为我是一个新手,但我试图加入注释来帮助描述这个过程。网格点的创建,点的旋转和移动都是使用工具开发的@DanPatterson_Retired这使得这个工具成为可能。

“工具箱”有一个别名,所以我知道这不是问题。引入工具箱的行是

arcpy。ImportToolbox(r"{}\美国森林基金会\FAMILY森林碳计划-文档\地理空间库\_MRV跨区域\Plot_generator\MRV.atbx".format(os.path.expanduser('~')))

我有扩展用户位在那里,因为它保存在OneDrive和路径名的开始根据用户的变化。这就是我猜测的问题所在,但我不知道如何解决它。

任何帮助都是感激的,谢谢!

标签(3)
0荣誉
6个回答
RhettZufelt
通过 常规赛MVP
常规赛MVP

是用户btroxel有问题吗?

你复制MRV了吗。Atbx本地在他的计算机上的文件夹:

c:\ users \btroxel\美国森林基金会\FAMILY Forest CARBON PROGRAM -文档\地理空间库\_MRV跨区域\Plot_generator

R_

0荣誉
NephtaliChavez
新贡献者II

是的,他有问题。我能运行得很好。是的,我已经检查过了,他把它保存在那个位置。该路径是保存在云上的文件夹(onedrive),我不确定这是否是一个问题。

0荣誉
BlakeTerhune
通过 常规赛MVP
常规赛MVP

@NephtaliChavez写道:

该路径是保存在云上的文件夹(onedrive),我不确定这是否是一个问题。


这和你的运作方式有区别吗?OneDrive路径对你有用吗?

0荣誉
NephtaliChavez
新贡献者II
是的,这正是我想知道的。这条路很适合我,但可能
不是最好的安排方式。你知道怎么拿到剧本吗
引用工具箱,无论它保存在哪里?
0荣誉
BlakeTerhune
通过 常规赛MVP
常规赛MVP

您可以硬编码路径(如果它是一个共享工具箱),或者在您的工具上有一个额外的输入参数,用户可以浏览到工具箱。

0荣誉
NephtaliChavez
新贡献者II

是的,我需要把它作为参数输入。我想我发现这很奇怪,为了使用工具箱,需要指定的路径?我觉得在我见过的其他自定义工具或脚本中,没有人会为了使用它而确定工具箱在哪里。

0荣誉