Mon problème: en utilisant ArcPy, je veux parcourir les tampons et sélectionner geometry_features à l'intérieur de chaque tampon et faire quelque chose (mettre à jour) uniquement les objets trouvés dans ce tampon spécifique. Le code ci-dessous explique ce que je veux faire (plus ou moins):
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)
Cependant: cela ne fonctionnera pas car SelectLayerByLocation_management () n'accepte pas une géométrie, "forme" comme argument mais attend un nom de classe_ d'entité (nom de couche). Existe-t-il une méthode arcpy qui peut faire une recherche en utilisant un prédicat spatial. Je n'ai pas pu trouver comment procéder à partir du manuel ESRI.
J'ai trouvé la solution au problème. J'ai dû fournir un feature_layer comme premier argument au lieu d'une chaîne faisant référence au class_layer. "
la source