ArcPy के साथ नई समूह परत जोड़ना?


21

क्या अब कोई भी ArcGIS डेस्कटॉप 10 में पायथन के साथ एक ग्रुप लेयर कैसे जोड़ सकता है?

मैं arcpy.mapping.AddLayer का उपयोग कर सकता हूं, लेकिन निश्चित रूप से यह केवल एक वास्तविक परत के लिए है जो समूह परत के विपरीत है।

अब तक मेरे पास यही है

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

जवाबों:


18

मुझे नहीं लगता कि आर्कपी सीधे समूह की परत बनाने के लिए कुछ भी प्रदान करता है, लेकिन एक सरल समाधान है। आप एक .lyr फ़ाइल बना सकते हैं जिसमें एक एकल खाली समूह परत है और इसे अपने मानचित्र में जोड़ें:

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

फिर आप अपने समूह की परत के नीचे एक और परत जोड़ने के लिए AddLayerToGroup फ़ंक्शन का उपयोग कर सकते हैं ।


मेरे पास कुछ लेयर ग्रुप हैं, लेकिन उनके भीतर और भी ग्रुप हैं। चलो उन्हें माता-पिता और बच्चे कहते हैं। माता-पिता सभी अद्वितीय हैं, हालांकि प्रत्येक माता-पिता के भीतर बच्चे समान हैं। ईजी इंसिडेंट्स> बर्ड्स एंड ट्रांससेस> बर्ड। वहाँ वैसे भी दो पक्षी समूह परतों के संघर्ष से बचने के लिए एक ही नाम है?
ओलिवर बर्देकिन 18

जब मैंने AddLayerToGroup को कॉल किया, तो इससे मुझे एक त्रुटि मिली। मुझे यहाँ एक समाधान मिला: geonet.esri.com/thread/105771#comment-393442 groupLayer = arcpy.mapping.ListLayers(mxd, "AAAA", dataFrame)[0]
गेब्रियल लिटमैन

4

.lyrफ़ाइल के रूप में एक खाली समूह परत सहेजें । फिर आप AddLayerइसे अपने मानचित्र में जोड़ने के लिए उपयोग कर सकते हैं और फिर वहां से नई परतें जोड़ सकते हैं।


0

ArcGIS 10.2 और 10.3 के लिए, आप उस समूह में लेयर नहीं जोड़ सकते। आपको TOC में जोड़ी गई परत का उल्लेख करना चाहिए, न कि ड्राइव पर। निम्नलिखित पोस्ट में वर्णित चरणों के साथ समाप्त करें: AddLayertoGroup

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

फिर, सभी काम करता है!

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

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.