我是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和路径名的开始根据用户的变化。这就是我猜测的问题所在,但我不知道如何解决它。
任何帮助都是感激的,谢谢!