9 votos

Arcmap Seleccionar por atributos con Python

Me gustaría que el siguiente para seleccionar (resaltar) el "proyecto" de la capa que se cruza con la cuadrícula y, a continuación, tire de un registro de los seleccionados de la "Rejilla". No necesito guardar la capa.

Nota: la Ejecución de la secuencia de comandos desde dentro de ArcMap en la Consola de Python ventana.

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")

Este código se ejecuta y errores no se da, sin embargo, no seleccione(resalte) cualquiera de las funciones. Alguna Idea de por qué? También ejecuta muy lento.

Results

Básicamente estoy tratando de hacer esto:

enter image description here

Esto va muy rápido, casi instantáneo, pero quiero hacer lo mismo usando python. Sólo necesito un valor de la función seleccionada de la tabla, no necesito una copia de la capa.

Parte de la solución puede ser usar el espacio de trabajo en memoria , que es

La escritura de datos en el espacio de trabajo en memoria es a menudo mucho más rápido que escribir a otros formatos...

Simplemente no está seguro de cómo implementar espacio de trabajo en memoria

2voto

CesarB Puntos 908

Buena pregunta!

Dmahr es correcto, es más rápido, simplemente seleccione la capa en lugar de crear una capa de entidades. También me gustaría añadir el resto de las variables, aunque son opcionales.

arcpy.SelectLayerByLocation_management ("project_lyr", "INTERSECT", "Grid", "#", "NEW_SELECTION")

Otra cosa que me parece, es que las cosas que se ejecutan en la ventana de python de ArcMap es siempre más lenta. Me parece que si escribe el código para un .py archivo, añadir un script en el cuadro de herramientas y, a continuación, la ejecución, el procesamiento más rápido.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X