मेरे पास एक ArcPy आधारित स्क्रिप्ट है जहां मैं दो परतों को एक दूसरे में ले जाने की कोशिश कर रहा हूं, जहां एक परत का दूसरी परत में होना जरूरी है।
चूँकि मुझे यह जानने की आवश्यकता है कि एक परत (फीचर_लेयर नीचे) में दूसरे का केंद्रक शामिल है, मैं arcpy.SelectLayerByLocation_management () टूल का उपयोग कर रहा हूं।
मेरे पास मैप डॉक्यूमेंट (* .mxd) नहीं है इसलिए ऐसा करने के लिए, मुझे इसे फीड करने के लिए मेक फ़ीचर लेयर का उपयोग करना होगा।
दस्तावेज़ीकरण नोट करता है कि प्रोग्राम के बाहर निकलने पर फीचर लेयर गायब हो जाएगी, लेकिन मुझे इसे जल्दी से गायब करने की आवश्यकता है क्योंकि मेरे पास नीचे दिए गए लूप में है
for feature_class in large_list_of_feature_classes:
some_function(feature_class)
def some_function():
feature = "{path to feature class}"
feature_layer = "feature_layer"
HUCs_layer = "all_HUCs" #HUCs being Hydrologic Unit Codes
arcpy.MakeFeatureLayer_management(feature, feature_layer)
arcpy.MakeFeatureLayer_management(feature, HUCs_layer)
arcpy.SelectLayerByLocation_management(HUCs_layer, "HAVE_THEIR_CENTER_IN", feature_layer, selection_type="NEW_SELECTION")
arcpy.CopyFeatures_management(HUCs_layer, selection_name)
मैं फ़ीचर लेयर्स को हटाने के लिए एक फंक्शन की तलाश कर रहा हूँ और मैं एक भी नहीं खोज पा रहा हूँ।
मुझे लगता है कि मैं कार्यक्रम के दायरे में हर एक को अद्वितीय बनाने के लिए कुछ प्रकार की गिनती रख सकता हूं, लेकिन यह आदर्श नहीं है जब तक कि फीचर परतों को हटाने का कोई तरीका नहीं है।