Saltar al contenido

Distancia más cercana entre capas de puntos y líneas en QGIS

Luego de investigar con especialistas en este tema, programadores de deferentes ramas y maestros dimos con la solución al dilema y la plasmamos en este post.

Solución:

Como alternativa, podrías:

  1. Utilizar el Convertir Líneas a Puntos herramienta de:

    Caja de herramientas de procesamiento > SAGA > Formas – Puntos > Convertir líneas en puntos

    (Agregue puntos en distancias pequeñas. Por ejemplo, agregue un punto cada 1 m si la línea total es de 100 m)

    Convertir líneas en puntos

  2. Utilizar el Distancia al centro más cercano de:

    Caja de herramientas de procesamiento > Geoalgoritmos de QGIS > Herramientas de análisis vectorial > Distancia al centro más cercano

    (Establecer los parámetros, utilizando la capa de salida de la Convertir Líneas a Puntos herramienta como la Capa de centros de destino y estableciendo el Tipo de forma de salida como Línea a concentrador)

    Distancia al centro más cercano

  3. El resultado final debe ser una capa de línea que conecte la capa de puntos original con la capa de línea original (con puntos convertidos en línea):

    Resultado final con puntos

    (sin puntos convertidos en línea):

    Resultado final sin puntos

Usé QGIS 2.12.3-Lyon.

En QGIS puedo sugerir usar un “Capa virtual” mediante Layer > Add Layer > Add/Edit Virtual Layer....

Supongamos que tenemos dos capas. 'points' y 'river' con su correspondiente attribute tablas, vea la imagen de abajo.

aporte

Con la siguiente consulta, es posible crear nuevas líneas que representarán la conexión entre puntos a las características de línea más cercanas.

SELECT ST_ShortestLine(r.geometry, p.geometry),
        p.id AS pid,
        r.id AS rid,
        ROUND(ST_Length(ST_ShortestLine(r.geometry, p.geometry)), 6) AS distance
FROM points AS p, river AS r
WHERE distance < 0.5
GROUP BY p.id
ORDER BY MIN(distance)

Nota:

  • WHERE distance < 0.5 especifica la distancia más larga aceptable entre el punto y la entidad de línea

La capa virtual de salida con su tabla de atributos tendrá el siguiente aspecto

producción

El ClosestPoint hace lo que está buscando, actualmente limitado solo a funciones seleccionadas. Puedes echar un vistazo al código y modificarlo según tus necesidades.

Si entiendes que te ha sido útil nuestro artículo, nos gustaría que lo compartas con más seniors así contrubuyes a extender este contenido.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *