Mi problema es el siguiente: tengo una línea shp (capa de destino) y un punto shp (capa de unión). la segunda (capa de puntos) contiene un atributo que quiero unir con una capa de línea basada en la distancia más cercana a la línea. Los puntos y las líneas no se cruzan.
Puedo hacer esto con ArcGIS y la unión espacial (opción de coincidencia: más cercana), pero no sé cómo puedo lograr esto en QGIS.
qgis
attribute-joins
attribute-table
Miha Požauko
fuente
fuente
Respuestas:
No creo que haya una función QGIS 'central' para esto. Sin embargo, instale el complemento MMQGIS y use la herramienta 'distancia de concentrador'. Elija sus puntos como la capa "Puntos de origen" y sus líneas como la "Capa de concentradores de destino" y establezca "Tipo de forma de salida" en "Línea a concentrador". Esto le dará un archivo de formas de líneas (con longitud) que unen las características más cercanas. Convenientemente, también agrega la ID de la característica más cercana a la tabla de atributos.
Editar / Comentar: este enfoque funciona bien si hay menos puntos que líneas, o si hay una situación de línea a punto uno a uno. Tener más puntos que líneas complica las cosas. La herramienta 'Distancia de concentrador' agrega el ID de la entidad de línea a la tabla de atributos de punto como 'Nombre de concentrador' junto con la distancia entre el punto y el centro de la línea como 'HubDist'. Si hay más puntos que líneas, se requiere trabajo adicional para determinar dentro de cada subconjunto de puntos (esos registros múltiples vinculados a cada centro de línea) cuál de ellos es el más cercano a cada línea, y / o cuál es uno con el conjunto deseado de atributos para unir a la línea.
fuente
La función GRASS v.distance se puede utilizar para esto. En QGIS puede acceder a la función a través del complemento GRASS (la versión de procesamiento actualmente no funciona). El complemento NNJoin QGIS puede ser una alternativa más simple.
fuente
El complemento NNJoin nunca me ha decepcionado y funciona bien con grandes conjuntos de datos .
Complementos> Instalar: NNJoin> NNJoin> elija la capa de entrada y la capa de unión> Luego haga clic en unirse.
Examine los resultados de la nueva capa de salida con la tabla de atributos. Advertencia: asegúrese de que ambas capas estén usando la misma proyección espacial, de lo contrario sus resultados estarán en blanco.
fuente
En 2019 esto puede ser posible con la herramienta QGIS 3 Zanzíbar 'Unir atributos por el más cercano'. Esta herramienta le permite encontrar la característica más cercana y unir los atributos seleccionados. También es posible hacer una unión de uno a muchos, si especifica la distancia máxima y los vecinos más cercanos.
fuente