¿Unir atributos desde el punto más cercano en QGIS?

27

Tengo dos capas con puntos, llámalos A y B, cada uno con atributos diferentes.

Para cada punto en A, quiero unir todos los atributos del punto más cercano en B.

Idealmente, esto también incluiría un campo que mide la distancia entre ambos puntos.

Sé cómo hacerlo en ArcGIS: la capa de clic derecho A > une y relaciona > une, luego une datos en función de la ubicación espacial y elige unir atributos desde el punto más cercano.

No pude encontrar una funcionalidad similar en QGIS. ¿Algún puntero?

    
pregunta Fred 22.06.2011 - 22:54

5 respuestas

24

Usando "Matriz de distancia" puedes calcular el punto más cercano. Asegúrese de que ambas capas estén en el mismo CRS! Luego, puede cargar los resultados y usarlos para unirse a las tablas A y B.

En "Matriz de distancia", elija: "Matriz de distancia lineal" y "use solo los k puntos de destino más cercanos: 1"

CargueelCSVutilizando"Agregar capa de vector" y junte las capas en las propiedades de capa de la Capa A - pestaña de unión.

Yelresultado:

    
respondido por el underdark 22.06.2011 - 23:44
12

El complemento NNJoin debería hacer el trabajo. Para cada entidad de la capa de entrada, agrega todos los atributos de la entidad más cercana en la capa de unión y también agrega un atributo de distancia con la distancia a esta entidad.

    
respondido por el Håvard Tveite 28.02.2015 - 10:40
4

Si puede vivir con solo unir un solo atributo de su capa "B", eche un vistazo a la herramienta "Distancia del centro" en mmqgis plugin .

Si necesita el resto de los atributos "B", debería poder unir el resto de sus atributos "B" a esta capa.

Si lo desea, también puede generar líneas de la A a la B, si lo desea. Esto es útil para visualizar las distancias y direcciones entre las funciones asociadas.

    
respondido por el RyanDalton 22.06.2011 - 23:56
0

Otro enfoque que utiliza el refFunctions .

(1) Conjunto de datos de muestra

(2)Abraunatabladeatributosdelacapaquetengamáscaracterísticas(points_blayerenesteejemplo)paraquenosepierdanpares.Crearnuevoscampos.

  • campodeIDdelaotracapa:geomnearest('points_a','id_a')
  • Campodedistanciadelosparesdetectados:geomnearest('points_a','$distance')

    
respondido por el Kazuhito 21.01.2018 - 02:28
-4

Utilizando QGIS 1.7 Vector > Data Management > Unir atributos por ubicación

    
respondido por el Mapperz 22.06.2011 - 23:36

Lea otras preguntas en las etiquetas