使用ArcPy添加新的图层组?


21

现在有没有人如何在ArcGIS Desktop 10中使用Python添加组图层?

我可以使用arcpy.mapping.AddLayer,但是可以肯定的是,这仅适用于实际图层,而不是组图层。

到目前为止,我有这个

import arcpy
mxd = arcpy.mapping.MapDocument("CURRENT")
df = arcpy.mapping.listdataframes(mxd, "layers")[0]
arcpy.mapping.AddLayer

Answers:


18

我认为ArcPy不提供任何直接创建组图层的方法,但是有一个简单的解决方法。您可以创建一个.lyr文件,其中包含一个空的组图层,然后将其添加到地图中:

groupLayer = arcpy.mapping.Layer(r"EmptyGroupLayer.lyr")
arcpy.mapping.AddLayer(dataFrame, groupLayer, "BOTTOM")

然后,您可以使用AddLayerToGroup函数在组图层下添加另一个图层。


我有几个图层组,但其中还有其他图层组。我们称他们为父母和孩子。父母都是唯一的,但是每个父母中的孩子都是相同的。EG偶然事件>鸟类和样面线>鸟类。无论如何,要避免两个鸟群图层具有相同名称的冲突?
奥利弗·伯德金

当我调用AddLayerToGroup时,这给了我一个错误。我在这里找到了解决方案:geonet.esri.com/thread/105771#comment-393442 groupLayer = arcpy.mapping.ListLayers(mxd, "AAAA", dataFrame)[0]
Gabriel Littman


0

对于ArcGIS 10.2和10.3,不能将图层添加到该组。您应该参考目录中添加的层,而不要参考驱动器上的层。完成以下文章中描述的步骤:AddLayertoGroup

newlyrGr = arcpy.mapping.ListLayers(df)[0]

然后,一切正常!

arcpy.mapping.AddLayerToGroup(df, newlyrGr, feat_layer)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.