Vorrei selezionare (evidenziare) il livello "progetto" che interseca la griglia e quindi estrarre un record dalla "Griglia" selezionata. Non ho bisogno di salvare il livello.
Nota: esecuzione dello script da ArcMap nella finestra di Python Console.
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")
Questo codice viene eseguito e non vengono forniti errori, tuttavia non seleziona (evidenzia) alcuna funzionalità. Qualche idea sul perché? Funziona anche molto lentamente.
Fondamentalmente sto cercando di fare questo:
Funziona molto velocemente quasi all'istante, ma voglio fare lo stesso usando Python. Ho solo bisogno di un valore dalla tabella della funzione selezionata, non ho bisogno di una copia del livello.
Parte della soluzione potrebbe essere quella di utilizzare lo spazio di lavoro in memoria che è
La scrittura di dati nell'area di lavoro in memoria è spesso significativamente più rapida rispetto alla scrittura in altri formati ...
Non sono sicuro di come implementare l'area di lavoro in memoria
arcpy.MakeFeatureLayer()
linea, poiché project
è già un livello. Fallo e basta arcpy.SelectLayerByLocation_management("project","INTERSECT","Grid")
.
import arcpy
esecuzione del comando richiede del tempo.