¿Obtener el atributo de punto de la capa de polígono usando QGIS?

9

Tengo dos capas, una (A) tiene entidades de puntos y la otra (B) tiene polígonos.

¿Cómo produzco una nueva tabla con algunos (el ID) o todos los campos de la tabla A y algunos (el código de área) o todos de la tabla B donde el polígono B contiene el punto A?

Estoy usando QGIS.

Andrea Ballarati
fuente

Respuestas:

13

Es posible hacer una unión en la ubicación ("donde el polígono B contiene el punto A") usando "Atributos de unión por ubicación" desde el menú "Vector". La capa resultante contendrá todos los atributos de ambas capas.

Una alternativa más rápida es SAGA> Herramientas de puntos vectoriales> Agregar atributos de polígono a puntos que está disponible a través de la caja de herramientas Procesamiento en QGIS.

bajo oscuro
fuente
0

A través de SQL

Necesitará acceso a los datos y acceso a una base de datos SQL, puede derivar la información a través de una simple consulta SQL. Este ejemplo fue escrito para SQL Server en TSQL.

La consulta enumerará las ID de hidrante (capa A) y distrito de incendio (capa B) junto con identificadores comunes y la definición de geometría de cada uno. Debido a que tiene la geometría definida, si insertara estos resultados en una tabla, puede revisarlos en su mapa.

SELECT WHYDRANT.OBJECTID AS HYDID,
    WFIREDISTRICT.OBJECTID AS FDID, WHYDRANT.UNID AS UNID,
    WFIREDISTRICT.UNID AS FDUNID, WHYDRANT.SHAPE
FROM WFIREDISTRICT 
    INNER JOIN WHYDRANT ON 
        WFIREDISTRICT.SHAPE.STContains(WHYDRANT.SHAPE()) = 1
Rick Monteiro
fuente