मेरी समस्या: आर्कपी के उपयोग से मैं बफ़र्स पर लूप करना चाहता हूं और प्रत्येक बफ़र के अंदर ज्योमेट्री_फ्रीचर का चयन करता हूं और उस विशिष्ट बफ़र के भीतर पाई जाने वाली वस्तुओं के बारे में केवल कुछ (अपडेट) करता हूं। नीचे दिया गया कोड बताता है कि मैं क्या करना चाहता हूं (कम या ज्यादा):
def _update_connections_inside_buffers(self):
buffers = arcpy.SearchCursor(self.__buffer_class_name)
in_layer = "connections"
for i_buffer in buffers:
shape = i_buffer.shape
# can not use a geometry to do a selection.. very inconvenient!!
connections = arcpy.SelectLayerByLocation_management(in_layer, "WITHIN", shape)
self._update_connections(connections)
हालाँकि: यह काम नहीं करेगा क्योंकि SelectLayerByLocation_management () एक ज्यामिति, "आकृति" को एक तर्क के रूप में स्वीकार नहीं करता है, लेकिन एक feature_class_name (परत नाम) की अपेक्षा करता है। क्या एक चापलूसी विधि है जो एक स्थानिक विधेय का उपयोग करके खोज कर सकती है। मुझे पता नहीं है कि ईएसआरआई मैनुअल से यह कैसे किया जा सकता है।