摘要
可用于移除地图文档 (.mxd) 中数据框内的图层。
讨论
RemoveLayer 将从特定数据框中移除单个图层或图层组。如果有多个图层满足条件,则仅移除第一个图层,除非脚本会遍历返回列表中的每个图层。
语法
RemoveLayer (data_frame, remove_layer)
代码示例
RemoveLayer 示例:
以下脚本将从地图文档中移除所有名为 Rivers 的图层。
import arcpy
mxd = arcpy.mapping.MapDocument(r"C:\Project\Project.mxd")
for df in arcpy.mapping.ListDataFrames(mxd):
for lyr in arcpy.mapping.ListLayers(mxd, "", df):
if lyr.name.lower() == "rivers":
arcpy.mapping.RemoveLayer(df, lyr)
mxd.saveACopy(r"C:\Project\Project2.mxd")
del mxd
RemoveLayer 示例 2
以下脚本将基于图层的名称和数据源从名为 County Maps 的数据框中移除该图层,因为数据框内存在同名但不同源的其他图层。
import arcpy
mxd = arcpy.mapping.MapDocument(r"C:\Project\Project.mxd")
df = arcpy.mapping.ListDataFrames(mxd, "County Maps")[0]
for lyr in arcpy.mapping.ListLayers(mxd, "", df):
if lyr.name.lower() == "lakes":
if lyr.dataSource == r"C:\Project\Data\Data.mdb\NE_Lakes":
arcpy.mapping.RemoveLayer(df, lyr)
mxd.saveACopy(r"C:\Project\Project2.mxd")
del mxd