ArcMap自定义脚本工具箱迁移至ArcGIS pro

本文记录了将ArcMap10.7创建的自定义脚本工具箱(.tbx)迁移至ArcGIS pro的过程

ArcGIS Pro使用的是python版本与ArcMap不同,前者为python3,后者为python2。由于python3 和 python2 的部分语法不兼容,以及一些地理处理工具的语法在Pro版本中有修改。因此在迁移过程中,我们通常需要对ArcMap中创建的自定义脚本工具箱(.tbx)中的一些代码进行修改,才能够在ArcGIS Pro中正常运行。

好在ArcGIS Pro中内置相关的工具,对旧版本的工具箱中的脚本代码在ArcGIS Pro中的适用性进行检测,并生成报告。该工具为Analyze Tools For Pro

用ArcGIS pro工具检查,根据报告中的提示修改代码。如下图,工具弹出了ERROR 000989: Python syntax error: within script tool ABCD_(E:\pycharm_save\modis_tool\Batch_aggregate(arc).py) 的报错提示。

该报错引发的原因是是ArcMap工具箱中的部分脚本没有import script,在ArcMap中检查并导入即可解决。

之后,根据工具提示修改其他不兼容的代码行。如下图给出了旧版本中无法在ArcGIS Pro中运行的代码行。

关于部分脚本在迁移后消失的问题,如下图所示:

经检查,确定为ArcGIS pro版本不再支持包含中文字符的Script的Name属性。

可通过在ArcMap中右键对应脚本,修改脚本的Name属性为纯英文字符解决。

将ArcMap中的自定义脚本工具箱(.tbx)修改后,可在ArcGIS pro中的insert 选项卡中,选择Add Toolbox 即可导入

与ArcMap不同,添加的工具箱会出现在Catalog选项卡中的Toolboxes中,而非ArcToolBox界面。

工具箱迁移后,部分脚本由于Arcpy调用地理处理工具时与ArcMap的语法差异无法正常运行,需参考ArcGIS Pro对相应的地理处理工具的帮助文档修改代码即可。

推荐阅读

1 ArcMap 迁移到 ArcGIS Pro 的指引手册

2 从 ArcGIS 走向 ArcGIS Pro,ArcPy 的使用差别

相关推荐
非科班Java出身GISer1 天前
ArcGIS JS 基础教程(21):PointCloudLayer 点云图层
arcgis·arcgis js 点云·arcgis js 点云图层·arcgis 点云图层·arcgis js 加载点云
暗中讨饭的卫31 天前
ArcGIS图形缓冲:点要素缓冲出长方形问题干货总结
arcgis
qingyulee2 天前
CLAUDE使用——vibe_coding
人工智能·arcgis
非科班Java出身GISer5 天前
ArcGIS JS 基础教程(19):3D Tiles 图层
arcgis·arcgis js 倾斜·arcgis js倾斜摄影·arcgis 3dtiles·arcgis js 加载倾斜
xiao5kou4chang6kai49 天前
GIS数据制备,空间分析与高级建模
arcgis·gis·空间数据
杨超越luckly9 天前
Agent应用指南:利用POST请求获取麦当劳门店位置信息
人工智能·arcgis·html·数据可视化·麦当劳
非科班Java出身GISer10 天前
ArcGIS JS 基础教程(18):SceneLayer 场景图层
arcgis·arcgis js 白膜·arcgis js 建筑·scenelayer 图层·arcgis js i3s
Li.map11 天前
CesiumJS 地图主题系统:用着色器打造实时滤镜
javascript·arcgis·cesium·着色器
中科GIS地理信息培训17 天前
【实操】在 ArcGIS Pro 中,计算多边形的面积时,需排除缓冲区要素中与多边形重叠的部分
arcgis·arcgis pro
中科GIS地理信息培训17 天前
ArcGIS Pro镶嵌数据集:绝不仅是数据之和
arcgis·arcgis pro