in

QGIS «Unir atributos por el más cercano» con la cláusula ¿dónde?

24.1-Tisler y la herramienta «Unir atributos por el más cercano» en Processing Toolbox que hace el 90% de lo que necesito, sin embargo, me gustaría poder agregar una cláusula where, así que una la capa 1 punto al punto más cercano en la capa 2, donde los atributos comunes de un campo en la capa 1 y la capa 2 coinciden. es posible?

Ejemplo: la capa 1 tiene geometrías de puntos, con un campo WATERWAY que contiene el valor del nombre del río. La capa 2 tiene geometrías de puntos, con un campo CUERPO DE AGUA que también contiene el valor del nombre del río.

La capa 1 son los datos de inspección de la orilla del río (símbolos de diamantes verdes en el mapa a continuación). La capa 2 es una serie de puntos creados con QChainage en la línea central del río que registra la distancia desde el inicio de la vía fluvial (círculos de color azul claro).

El problema con la herramienta «Unir atributos por el más cercano» surge cuando tenemos dos ríos que se encuentran en una intersección y los Puntos en la Capa 1 se unen a los puntos incorrectos en la Capa 2 (si están más cerca de un marcador de distancia de otro cuerpo de agua). Trabajando según lo diseñado, lo sé, pero no el resultado que necesito.

Cómo ejecutar «Unir atributos por el más cercano» con declaración adicional «where LAYER1.WATERWAY = LAYER2.WATERBODY

Las líneas negras muestran cómo «Unir atributos por el más cercano» realiza la unión, las flechas rojas muestran cómo se realizará la unión correcta si se puede agregar la cláusula «dónde».

Unión incorrecta de líneas negras, unión correcta de líneas rojas

1 respuesta
1

Probé «Unir atributos por valor de campo», pero no me dio el resultado correcto, así que decidí hacer mi propio script que crea una nueva capa que contiene solo puntos de la capa original que tiene los mismos valores que la capa de unión.

¿Te ayudó la respuesta?

Subscribirse
Notificar por
guest
0 Comentarios
Inline Feedbacks
Ver todas las Respuestas

¿Cómo resolver el error Proteus de carga excesiva de CPU?

Ejecute Algorithm completamente en GPU