摘要
用于使用简易放置选项将图层添加到地图文档 (.mxd) 内的数据框中。
讨论
AddLayer 是一种向地图文档添加图层或图层组的简单方法。它可以使用自动排列逻辑添加图层,将新图层放置在数据框中,这与添加数据按钮在 ArcMap 中的工作原理相似;AddLayer 根据图层权重规则和几何类型放置图层。其他放置选择为放置在数据框的顶部或底部。有关更精确的图层放置选项的信息,请参阅 InsertLayer 函数。
AddLayer 是唯一一个能向空数据框添加图层的函数。AddLayer 不允许将多个图层添加到一个图层文件或图层组中。如果您对管理图层文件感兴趣,请参阅 Layer 和 AddLayerToGroup 函数。
添加的图层必须参考已存在的图层(请注意,图层也可以是图层组)。源图层可以来自磁盘上的图层文件、同一地图文档和数据框、同一地图文档不同数据框乃至完全独立的地图文档。
添加图层后,图层在内容列表 (TOC) 中的显示方式取决于源图层及其显示方式。例如,在 TOC 中,有些图层完全折叠且不显示其符号。此设置内置在图层中。如果图层折叠且保存在图层文件中,然后被添加到地图文档中,则通过 AddLayer 添加该图层时,图层在新的地图文档中将显示为折叠状态。
语法
AddLayer (data_frame, add_layer, {add_position})
代码示例
添加图层 (AddLayer) 示例 1:
以下脚本会从磁盘上的图层文件 (.lyr) 添加一个新图层,并将其放置于名为 New Data Frame 的数据框底部。
import arcpy
mxd = arcpy.mapping.MapDocument(r"C:\Project\Project.mxd")
df = arcpy.mapping.ListDataFrames(mxd, "New Data Frame")[0]
addLayer = arcpy.mapping.Layer(r"C:\Project\Data\Orthophoto.lyr")
arcpy.mapping.AddLayer(df, addLayer, "BOTTOM")
mxd.saveACopy(r"C:\Project\Project2.mxd")
del mxd, addLayer
添加图层 (AddLayer) 示例 2:
以下脚本会从另一独立的地图文档添加一个名为 NE_Layers 的新图层组,并使用自动排列在名为 New Data Frame 的数据框中放置图层组。
import arcpy
#Reference layer in secondary map document
mxd2 = arcpy.mapping.MapDocument(r"C:\Project\ProjectTemplate.mxd")
df2 = arcpy.mapping.ListDataFrames(mxd2, "Layers")[0]
addLayer = arcpy.mapping.ListLayers(mxd2, "NE_Layers", df2)[0]
#Add layer into primary map document
mxd = arcpy.mapping.MapDocument(r"C:\Project\Project.mxd")
df = arcpy.mapping.ListDataFrames(mxd, "New Data Frame")[0]
arcpy.mapping.AddLayer(df, addLayer, "AUTO_ARRANGE")
#Save to a new map document and clear variable references
mxd.saveACopy(r"C:\Project\Project2.mxd")
del mxd, mxd2