2 votos

Conecte los puntos utilizando la línea diferente tabla en QGIS3

Tengo dos mesas.

La tabla 1 tiene muchos objetos puntuales (ejemplo dado a continuación) La Tabla2 muestra la conectividad entre el objeto de punto (usando un enlace) y los detalles del enlace

Mi requisito es tener una nueva capa de línea que conecte los objetos de punto de la Tabla1 según el enlace de la Tabla2.

ejemplo : necesito tener una línea que conecte A1 con A3 con un nombre de "A1_A3", otra línea que conecte A5 con A4 el nombre de la línea será A5_A4)

He probado con algunos plugins como connectpoints y points2one... Pero no hubo suerte.

Points

Links

2voto

J. Monticolo Puntos 46

En QGIS, puede crear una capa virtual (Menú Edición > Crear capa > Nueva capa virtual) con el siguiente código:

SELECT t3."SI No",
       t3."Link ID",
       t3."Link Desc",
       make_line(ST_GeomFromText(t3.ptfrom), ST_GeomFromText(t3.ptto)) AS geom
FROM (SELECT "Table2"."SI No",
             "Table2"."Link ID",
             "Table2"."Link Desc",
              ST_AsText(t1from.geometry) AS ptfrom,
              ST_AsText(t1to.geometry) AS ptto
      FROM "Table2"
      INNER JOIN "Table1" t1from ON "Table2"."From" = t1from."Object name"
      INNER JOIN "Table1" t1to ON "Table2"."To" = t1to."Object name") AS t3

Normalmente, la consulta SQL es más sencilla pero aquí, he intentado reproducir tu caso con dos capas de memoria (Tabla1 punto, Tabla2 sin geometría) y he tenido que transformar la geometría del punto en texto (WKT) para tener los dos campos de la Tabla1.

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