मैं हाल ही में "in_memory" का काफी उपयोग कर रहा हूं। यह बहुत उपयोगी हो सकता है, क्योंकि इसमें कुछ कार्यों के लिए प्रसंस्करण गति को नाटकीय रूप से बढ़ाने की क्षमता है, हालांकि यदि आप बहुत बड़े डेटासेट के साथ काम कर रहे हैं, तो यह आपके प्रोग्राम को क्रैश करने का कारण बन सकता है।
आप प्रक्रिया आउटपुट को परिभाषित करने के लिए "in_memory" का उपयोग कर सकते हैं ... अक्सर, यदि मैं एक फीचर क्लास पर कोई कार्य कर रहा हूं, तो मैं इसे पहले "in_memory" कार्यक्षेत्र में कॉपी करूंगा:
inFeature = r'C:\myDir.gdb\myFeature'
memoryFeature = "in_memory" + "\\" + "myMemoryFeature"
arcpy.CopyFeatures_management(inFeature, memoryFeature)
ध्यान दें कि आपको मैमोरीफ्रीचर को एक साथ मिलाना नहीं है जैसे मैंने किया था, आप इसे "in_memory \ myMemoryFeature" के रूप में लिख सकते हैं, मैं बस इसे "in_memory" और एक भौतिक निर्देशिका के बीच आगे और पीछे स्विच करने का तरीका पसंद करता हूं। आप स्मृति में अपनी सुविधा पर प्रक्रिया कर सकते हैं। जब आप कर लेते हैं, तो आप इसे वापस एक निर्देशिका में सहेजने के लिए प्रक्रिया को उल्टा कर सकते हैं।
मैं गलत हो सकता हूं, लेकिन मेरा मानना है कि यह फीचर लेयर बनाने जैसा नहीं है। फीचर लेयर्स आपको चयन के तरीकों और अन्य लेयर स्पेसिफिक ऑपरेशंस तक पहुंच प्रदान करते हैं। "In_memory" डायरेक्टरी को रैस्टर ऑब्जेक्ट (raster = arcpy.Raster (myRasterLocation)) के बराबर वेक्टर के रूप में सोचें
"In_memory" का उपयोग करने के बाद सफाई करने के लिए बस कोड की निम्नलिखित पंक्ति जोड़ें:
arcpy.Delete_management("in_memory")
उम्मीद है की वो मदद करदे।