पायथन कोड का उपयोग करते हुए डेस्कटॉप के लिए आर्कजीआईएस में चयनित सुविधाओं की सूची प्राप्त करना?


20

मेरे पास डेस्कटॉप के लिए ArcGIS में चयन के बारे में एक प्रश्न है। मान लिया कि मेरे पास ArcMap में एक परत है और मैंने दो पांच विशेषताओं का चयन किया है।

क्या पायथन का उपयोग करके सभी चयनित सुविधाओं की सूची प्राप्त करना संभव है?

यह ठीक रहेगा यदि सूची में संग्रहीत चयनित विशेषताओं में से एक विशेष (या सभी) विशेषता (ओं) को प्राप्त करने का एक तरीका है जिसे एक txt फ़ाइल में लिखा जा सकता है।

क्या डेस्कटॉप के लिए आर्कगिस में ऐसा करना संभव है?

जवाबों:


33

किसी भी समय आपके पास एक परत पर एक चयन होता है एक कर्सर ऑब्जेक्ट केवल चयनित पंक्तियों को वापस करेगा।

for row in arcpy.SearchCursor("name_of_layer_with_selection"):
    print row.field1, row.field2

6
हालाँकि समस्या यह है कि यदि आपको सभी सुविधाएँ वापस मिल जाती हैं तो आपको पता नहीं चलता है कि ALL या NONE को चुना गया है या नहीं।
मतज

2
क्या यह सुविधा वर्ग में चयनित सुविधाओं पर भी लागू होता है?
Jio

13

वर्णन फ़ंक्शन एक सूची भी लौटाएगा। मुझे यकीन नहीं है कि यह कर्सर विधि से तेज है, लेकिन मुझे यह एक उपयोगी उपकरण होने का शौक है। परिणामी सूची चयन सेट के लिए ऑब्जेक्ट आईडी है।

import arcpy

aa = arcpy.Describe("someFC")
ss = aa.FIDset
tt = ss.split("; ")
Print tt

[u'1363', u'1364', u'1365', u'1367', u'1369', u'1370']

अच्छा समाधान भी! दुख की बात है कि मैं दो बार हरी एड़ी सेट करने में सक्षम नहीं हूं। यह समाधान स्क्रिप्ट को अलग-अलग आर्कजीआईएस संस्करणों से भी स्वतंत्र बनाता है, क्योंकि आर्कजीआईएस 10.1 में कर्सर को आर्कजीआईएस 10.0 (आर्कजीआईएस 10.1 आर्कपी.डा.सचर्सकोर्स, आर्कजीआईएस 10.0 आर्कियोल.सोचर्सकोर्स ...) की तुलना में अलग तरीके से बुलाया जाता है।
स्वेन

4
दोनों कर्सर प्रकार 10.1 पर उपलब्ध हैं। आपको नए arcpy.da कर्सर का उपयोग करने की आवश्यकता नहीं है।
blah238

1
यह उत्तर खाली चयन के लिए जाँच करने का एक तरीका देता है, जो अनजाने में एक संपूर्ण फीचर वर्ग पर एक टूल को कॉल करने से रोकता है जब वास्तव में यह शून्य विशेषताएं थी जो आपके चयन मानदंडों को पूरा करने के लिए हुई थी।
निकब्रिक

महान टिप @Sam Flarity, यह एक अच्छा है (? तेज) विकल्प arcpy.SearchCursor या arcpy.da.SearchCursor उपयोग करने के लिए
grego
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.