चयनित सुविधाओं से परत बनाएं एक डायनामिक परत नहीं बनाते हैं । परिणामी परत बिल्कुल भी गतिशील नहीं है। यह एक फिडसेट पर आधारित है।
यदि आप स्रोत डेटा बदलते हैं, तो FID बदल जाएगा और आपकी चयन परत टूट जाएगी।
चयन परत में कोई खंड नहीं है। यह FIDset पर आधारित है (FIDs जो तब चुने गए थे जब आपने 'चयनित सुविधाओं से परत बनाएँ' का उपयोग किया था)।
कृपया ध्यान दें कि यदि आप स्रोत डेटा से रिकॉर्ड जोड़ते या हटाते हैं, तो FID बदल जाएगा, और आपकी चयन परत गलत रिकॉर्ड दिखाएगी।
आप चयन परत को एक क्वेरी लेयर के साथ भ्रमित कर रहे हैं, जो एक क्लॉज को स्टोर करता है और गतिशील है।
EDIT: चयन परत के लिए सुविधाओं की सूची मेमोरी में संग्रहीत की जाती है। अस्थायी कार्य के अलावा अन्य चयन परतों का उपयोग करना बुरा है क्योंकि चयन परत के टूटने के बाद मूल चयन को पुनर्प्राप्त करने का कोई तरीका नहीं है।
चयन परत में सुविधाओं की सूची खोजने के लिए, आप आईडी की सूची बनाने के लिए SearchCursor सहित कई अलग-अलग तरीकों का उपयोग कर सकते हैं।
कुछ इस तरह:
OIDlist = []
with arcpy.da.SearchCursor(layer, 'OBJECTID') as scur:
for row in scur:
OIDlist.append(row[0])
Crmackey की टिप्पणी से :
FIDSet प्राप्त करने के लिए वर्णन के साथ एक अंतर्निहित तरीका भी है। यह एक स्ट्रिंग है, लेकिन सूची में बदलना आसान है:
OIDlist = map(int, arcpy.Describe(layer).FIDSet.split(';'))