ArcPy ile yeni grup katmanı ekleme


21

Şimdi ArcGIS Desktop 10'da Python'lu bir grup katmanı nasıl eklenir?

Arcpy.mapping.AddLayer öğesini kullanabilirim, ancak bu kesinlikle bir grup katmanının tersine yalnızca gerçek bir katman içindir.

Şimdiye kadar bu var

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

Yanıtlar:


18

ArcPy'nin doğrudan grup katmanı oluşturmak için bir şey sağladığını sanmıyorum, ancak basit bir geçici çözüm var. Tek bir boş grup katmanı içeren bir .lyr dosyası oluşturabilir ve haritanıza ekleyebilirsiniz:

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

Ardından , grup katmanınızın altına başka bir katman eklemek için AddLayerToGroup işlevini kullanabilirsiniz .


Birkaç katman grubum var ama onların içinde başka gruplar var. Onlara ebeveyn ve çocuk diyelim. ebeveynlerin hepsi benzersizdir, ancak her ebeveynin içindeki çocuklar aynıdır. EG Arızalar> Kuşlar ve Böcekler> Kuş. Aynı adı taşıyan iki kuş grubu katmanının çatışmasından kaçınmak için yine de var mı?
Oliver Burdekin

AddLayerToGroup aradığımda bu bana bir hata verdi. Burada bir çözüm buldum: geonet.esri.com/thread/105771#comment-393442 groupLayer = arcpy.mapping.ListLayers(mxd, "AAAA", dataFrame)[0]
Gabriel Littman

4

Boş bir grup katmanını .lyrdosya olarak kaydedin . Sonra AddLayeronu haritanıza eklemek için kullanabilirsiniz ve oradan yeni katmanlar ekleyebilirsiniz.


0

ArcGIS 10.2 ve 10.3 için bu gruba bir Katman ekleyemezsiniz. TOC’ye eklenen katmana değil sürücüdeki katmana atıfta bulunmalısınız. Aşağıdaki yazıda açıklanan adımları tamamlayın: AddLayertoGroup

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

O zaman, hepsi işe yarıyor!

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

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.