我的问题:使用ArcPy我想遍历缓冲区并在每个缓冲区内选择geometry_features,然后仅对在该特定缓冲区内找到的对象进行某些操作(更新)。下面的代码解释了我想要做什么(或多或少):
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()不接受几何图形“ shape”作为参数,但需要一个feature_class_name(图层名称)。是否有一个arcpy方法可以使用空间谓词进行搜索。我从ESRI手册中找不到如何执行此操作。