Il mio problema: usando ArcPy voglio passare in rassegna i buffer e selezionare geometria_features all'interno di ciascun buffer e fare qualcosa (aggiornare) solo gli oggetti trovati all'interno di quel buffer specifico. Il codice seguente spiega cosa voglio fare (più o meno):
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)
Tuttavia: questo non funzionerà perché SelectLayerByLocation_management () non accetta una geometria, "forma" come argomento ma prevede un feature_class_name (nome del layer). Esiste un metodo arcpico che può fare una ricerca usando un predicato spaziale. Non sono riuscito a trovare come farlo dal manuale ESRI.