3 votos

¿Selección de características basadas en la relación con otras características dentro de la misma capa utilizando ArcGIS Desktop?

Quiero seleccionar todas las características en mi capa de Líneas de Agua que comparten un segmento de línea con otras características en la misma capa. He hecho una complicada iteración del cursor de búsqueda en python que lleva un par de horas, pero preferiría tener algo más rápido.

He encontrado esta página que dice que se puede hacer simplemente con "seleccionar por ubicación" que no parece funcionar desde el menú de selección en arcmap, pero como que funciona en arcpy.

http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#/Select_By_Location_Select_based_on_spatial_relationship_within_the_layer/0017000000tr000000/

Cuando corrí esto:

arcpy.SelectLayerByLocation_management("waterlines_layer", "SHARE_A_LINE_SEGMENT_WITH", "", "", "NEW_SELECTION")

...seleccionó cosas que definitivamente no compartían un segmento de línea con nada más. Pero no seleccionó todo (lo que al menos habría tenido algún sentido).

0 votos

Si selecciona una sola característica en la capa y ejecuta la herramienta sobre ella, ¿la selección resultante contiene las características que esperaba?

0 votos

No veo el comportamiento que describes utilizando los datos de muestra que tengo. Podrías subir una muestra de tus datos con la que puedas reproducir este comportamiento? Yo esperaría que todas las características fueran seleccionadas.

0 votos

2voto

auramo Puntos 161

La razón por la que la selección por ubicación no es capaz de hacer esto de una sola vez es que considera cada característica en la capa contra cualquier otra característica, incluida ella misma. Por lo tanto, es necesario iterar con esta herramienta y considerar una característica a la vez.

Como ha mencionado, hay geometría sobre geometría revisiones en Data Reviewer que pueden hacer esto, pero no estoy seguro de cuánto más rápido sería, si es que lo es.

0 votos

Tiene sentido que tenga que seleccionar características antes de realizar la selección por ubicación dentro de una capa. Gracias.

2voto

Monroecheeseman Puntos 825

Aquí hay un proceso de 2 pasos que seleccionará las características lineales que están conectadas. Primero ejecute "Intersect" en los WaterLines, asegúrese de elegir "Point" para el tipo de salida. Esto creará un punto en cada nodo compartido o línea superpuesta. Finalmente, ejecute "Seleccionar por ubicación" para seleccionar las líneas de agua que intersectan los puntos. Tuve que utilizar una distancia de búsqueda de "1 metro" para que la selección funcionara.

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