批量移除图层和表,系列教程指路
这是第一个帖子,后两个帖子里的脚本有改进,能使用通配符删除多个图层或表
第二个帖子链接:ArcGIS Pro 新建脚本,批量移除特定图层
第三个帖子链接:ArcGIS Pro 新建脚本,批量移除特定表
这里是第一个帖子,对前期准备工作说得比较细致
批量移除所有图层
ArcGIS Pro里可以用shift键或ctrl键,配合鼠标,选择多个图层,然后再一起移除
但是似乎没有找到一键移除所有图层的选项,ctrl+A不管用,于是自己摸索着搞了一个脚本
1.在工具箱选项卡上右键,新建工具箱(.atbx),这是为了便于在其他项目里导入工具箱,重复使用
我这里起名为MyTools
2.在这个工具箱上,右键,新建——脚本
3.给脚本起名
常规选项卡,“名称”起一个英文名,我这里是“RemoveAllLayer”
“标注”里可以另外起一个中文名,是在工具箱里显示的名称,我这里是“批量移除所有图层”
“工具箱”是脚本所属的工具箱,这里自动显示刚才设置的工具箱保存位置
4.参数选项卡和验证选项卡里都没动
5.执行选项卡,直接在ArcGIS的页面里修改代码(不用打开PyCharm之类的编辑器)
原来的字全都删了,复制以下内容,保存好脚本
import arcpy
aprx = arcpy.mp.ArcGISProject("CURRENT")
for m in aprx.listMaps():
for lyr in m.listLayers():
m.removeLayer(lyr)
6.右键点击脚本,点击“打开”
没有设置任何参数,直接点击运行
然后就发现ArcGIS里已经加载的所有图层全都被移除了,目前试验没发现问题