Je voudrais que ce qui suit sélectionne (surligne) la couche "projet" qui coupe la grille, puis tire un enregistrement de la "grille" sélectionnée. Je n'ai pas besoin de sauvegarder le calque.
Remarque: Exécution du script à partir d'ArcMap dans la fenêtre de la console Python.
import arcpy
# Make a layer from the feature class
arcpy.MakeFeatureLayer_management("project","project_lyr")
# Then add a selection to the layer based on location to features in another feature class
arcpy.SelectLayerByLocation_management("project_lyr","INTERSECT","Grid")
Ce code s'exécute et aucune erreur n'est donnée, mais il ne sélectionne (surligne) aucune fonctionnalité. Une idée pourquoi? Fonctionne également très lentement.
Fondamentalement, j'essaie de faire ceci:
Cela fonctionne très rapidement presque instantanément, mais je veux faire de même en utilisant python. J'ai juste besoin d'une valeur de la table de l'entité sélectionnée, je n'ai pas besoin d'une copie de la couche.
Une partie de la solution peut consister à utiliser l' espace de travail en mémoire qui est
L'écriture de données dans l'espace de travail en mémoire est souvent beaucoup plus rapide que l'écriture dans d'autres formats ...
Je ne sais pas comment implémenter l'espace de travail en mémoire
arcpy.MakeFeatureLayer()
ligne, car il project
s'agit déjà d'une couche. Faites-le arcpy.SelectLayerByLocation_management("project","INTERSECT","Grid")
.
import arcpy
commande prend un certain temps à s'exécuter.