20 votos

Recuperación de los puntos de inicio y final de cada línea en el shapefile de líneas en ArcGIS Desktop o QGIS

Tengo un shapefile vectorial (polilínea) y necesito recuperar los puntos de inicio y final de cada línea (nodos) y crear un shapefile con estos puntos. Luego necesito añadir a la tabla de atributos de la polilínea el punto inicial y final de cada línea basado en el ID de los puntos.

¿Cómo podría hacerlo de forma sencilla en ArcGIS Desktop o QGIS?

2 votos

En ArcGIS, si tiene una licencia avanzada, puede utilizar la herramienta Caja de herramientas de gestión de datos->Conjunto de herramientas de características->Vértices de características a puntos con la opción Ambos extremos. Todos los atributos de la línea se conservan. Sin embargo, tendría que añadir un campo a su clase de característica de línea original y calcular el ID de la característica en su línea para que ese valor se conserve en los puntos. Si tiene otro campo de valor único en sus líneas, podría unir y calcular el FID después de ejecutar la herramienta. La última opción sería hacer un Spatial Join con la opción One To Many y eliminar las copias con malos atributos.

0 votos

¿Responde esto a su pregunta? "¿Cómo recupero las coordenadas del punto inicial y final con Python/arcpy?" gis.stackexchange.com/q/31684/8104

0 votos

Intenté un enfoque similar pero me perdí por el camino. Intentaré rehacerlo. Lo mejor será crear una macro que haga todo este trabajo a la vez para que cualquiera pueda hacer el mismo procedimiento después. ¡Saludos!

16voto

Lee Puntos 359

Solución QGIS: Es posible extraer los nodos inicial y final (coordenadas) de un archivo vectorial de líneas, simplemente utilizando xat e yat en la calculadora de campos, con los respectivos índices 0 (inicio) y -1 (final).

xat(0)    
yat(0)
xat(-1)
yat(-1)

9voto

Joe Puntos 16

Eso es una línea única para GDAL. Este comando crea un shapefile a partir de los nodos de inicio con los atributos seleccionados:

ogr2ogr -f "ESRI Shapefile" -dialect sqlite output.shp -sql "select ST_StartPoint(geometry), attribute_1, attribute_2, attribute_3 from input" input.shp

Utilice ST_EndPoint para los puntos finales.

0 votos

Muchas gracias, probablemente esto sirva, pero buscaba algo más sencillo (visual) para que otras personas sin conocimientos de programación pudieran realizar la tarea.

0 votos

¿Dónde se escribe ese comando?

0 votos

A la línea de comandos. En Linux utilice el shell normal. En Windows usa la ventana de comandos pero ten cuidado de que tu entorno tenga las rutas correctas. El shell Osgeo4w lo hace automáticamente.

8voto

user26836 Puntos 11

Existe un plugin de QGIS "Localizar puntos a lo largo de líneas" . Para obtener los puntos de inicio y final, seleccione Añadir puntos finales y utilizar un Intervalo más largo que su línea más larga.

6voto

john Puntos 11

Para una solución de ArcGIS, he creado una herramienta de geoprocesamiento que crea puntos en líneas.

Puede descargarlo y ver el código aquí: Crear puntos en líneas

Para el Tipo, querrá elegir PUNTOS DE INICIO/FINAL. Esto creará una nueva clase de característica de punto que contiene los puntos de inicio y final para cada polilínea.

La clase de característica de punto de salida también tendrá un campo llamado LineOID, que registra el OID de la polilínea de la que fue creada. De este modo, podrá volver a unir sus datos de atributos.

Aquí tienes una captura de pantalla de cómo configurar los parámetros:

enter image description here

0 votos

¡Esto es genial Ian! Lo descargaré, lo probaré y te daré mi opinión lo antes posible. Creo que esta herramienta será muy útil para lo que necesito y ayudará a automatizar mejor el proceso. ¡Gracias!

0 votos

Hola Ian, no sé por qué pero no consigo que tu herramienta funcione en ArcGIS 10.0 o 10.1... He añadido a la caja de herramientas, pero no el almuerzo ... =/

1 votos

@user51651 ¿Recibes un mensaje de error? No funcionará con la versión 10.0, pero debería funcionar con la 10.1 y superiores. Si entras en el menú de Geoprocesamiento y luego en Resultados. ¿Hay algún mensaje ahí?

5voto

das Keks Puntos 680

En QGIS utilice Extraer vértices específicos herramienta. Establecer Índices de vértices a 0 para obtener puntos de partida y -1 para obtener puntos finales o 0,-1 para conseguir ambos.

QGIS Extract Specific Vertices

Fíjate en la descripción:

El primer vértice corresponde a un índice 0, el segundo vértice tiene un índice de 1, etc. Los índices negativos pueden utilizarse para encontrar vértices en vértices al final de la geometría, por ejemplo, un índice de -1 corresponde al último vértice, -2 corresponde al penúltimo vértice, etc.

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