批量移除图层和表,系列教程指路
新建工具箱、新建脚本、给脚本起名字等步骤,在系列的第一个贴子很详细地写过了,所以这里不再重复
第一个帖子链接:ArcGIS Pro 新建脚本,批量移除所有图层
第三个帖子链接:ArcGIS Pro 新建脚本,批量移除特定表
这里是第二个帖子
批量移除多个图层(用通配符指示)
现在这个帖子是比第一个稍微复杂一点的改良版本,可以搜索多个地图下有特定名称的图层并移除
注意,图层和表不一样,要搜索并移除表,看第三个帖子
例子:想移除多个年份的、由tif文件导入的图层,比如,移除从No_Use_Now_2010.tif一直到No_Use_Now_2019.tif,但是不想移除No_Use_Now_2020.tif
1.新建一个脚本,“常规”选项卡里起名
2.“参数”选项卡,设置两个参数(注意顺序),都是字符串
3.“执行”选项卡里,写入以下脚本
import arcpy
aprx = arcpy.mp.ArcGISProject("CURRENT")
map_wildcard = arcpy.GetParameterAsText(0)
layer_wildcard = arcpy.GetParameterAsText(1)
for m in aprx.listMaps(map_wildcard):
for lyr in m.listLayers(layer_wildcard):
m.removeLayer(lyr)
4.调用工具。双击(或右键打开)这个脚本,根据需求填写通配符,运行即可
这里是把所有最后几个字符是“201X.tif”的图层移除,其他图层不动