摘要
用于使用简易放置选项将图层添加到地图文档 (.mxd) 内的图层组中。
讨论
AddLayerToGroup 是一种将图层添加到已存在的图层组的简单方法。它可以使用自动排列逻辑添加图层,将新图层放置在图层组中,这与添加数据按钮在 ArcMap 中的工作原理相似;AddLayer 根据图层权重规则和几何类型放置图层。其他放置选择为放置在图层组的顶部或底部。
AddLayerToGroup 是用于向空图层组添加图层的唯一函数。AddLayerToGroup 不允许将图层添加到图层文件内的图层组中。应使用 ArcMap 来管理和创作图层文件。
目标图层组必须为图层组。Layer 对象上的 isGroupLayer 属性可用于确认返回的 Layer 对象是否为真正的图层组。
添加的图层必须参考已存在的图层(请注意,图层也可以是图层组)。源图层可以来自磁盘上的图层文件、同一地图文档和数据框、同一地图文档不同数据框乃至完全独立的地图文档。
添加图层后,图层在内容列表 (TOC) 中的显示方式取决于源图层及其显示方式。例如,在 TOC 中,有些图层完全折叠且不显示其符号。此设置内置在图层中。如果图层折叠且保存在图层文件中,然后被添加到地图文档中,则通过 AddLayerToGroup 添加该图层时,图层在新的地图文档中将显示为折叠状态。
语法
AddLayerToGroup (data_frame, target_group_layer, add_layer, {add_position})
参数 | 说明 | 数据类型 |
data_frame | 对 DataFrame 对象的引用,该对象包含将向其中添加新图层的图层组。 | DataFrame |
target_group_layer | Layer 对象表示要向其中添加新图层的图层组。它必须是图层组。 | Layer |
add_layer | 对 Layer 对象(表示要添加的图层)的引用。此引用可以指向磁盘上的图层文件或地图文档中的图层。 | Layer |
add_position | 此常数用于确定在数据框内添加的图层的放置位置。
(默认值为 AUTO_ARRANGE) | String |
代码示例
AddLayerToGroup 示例:
以下脚本将添加来自磁盘上的图层文件 (.lyr) 中的新图层,并将其放置于 County Maps 数据框内名为 24000 Scale Data 的图层组底部。
import arcpy
mxd = arcpy.mapping.MapDocument(r"C:\Project\Project.mxd")
df = arcpy.mapping.ListDataFrames(mxd, "County Maps")[0]
targetGroupLayer = arcpy.mapping.ListLayers(mxd, "24000 Scale Data", df)[0]
addLayer = arcpy.mapping.Layer(r"C:\Project\Data\StreetsWithLabels.lyr")
arcpy.mapping.AddLayerToGroup(df, targetGroupLayer, addLayer, "BOTTOM")
mxd.saveACopy(r"C:\Project\Project2.mxd")
del mxd, addLayer