Gostaria do seguinte para selecionar (destacar) a camada "projeto" que cruza a grade e, em seguida, puxar um registro da "Grade" selecionada. Não preciso salvar a camada.
Nota: Executando o script no ArcMap na janela do 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")
Esse código é executado e nenhum erro é fornecido, mas não seleciona (destaca) nenhum recurso. Alguma idéia do porquê? Também corre muito lento.
Basicamente, estou tentando fazer isso:
Isso roda muito rápido quase instantaneamente, mas eu quero fazer o mesmo usando python. Eu só preciso de um valor da tabela do recurso selecionado, não preciso de uma cópia da camada.
Parte da solução pode ser usar o espaço de trabalho na memória que é
Gravar dados no espaço de trabalho na memória geralmente é significativamente mais rápido do que gravar em outros formatos ...
Só não sei como implementar o espaço de trabalho na memória
arcpy.MakeFeatureLayer()
linha, pois project
já é uma camada. Apenas faça arcpy.SelectLayerByLocation_management("project","INTERSECT","Grid")
.
import arcpy
comando demora um pouco para ser executado.