Obtendo o atributo de ponto da camada de polígono usando o QGIS?

9

Eu tenho duas camadas, uma (A) possui pontos e a outra (B) possui polígonos.

Como produzo uma nova tabela com alguns (o ID) ou todos os campos da tabela A e alguns (o código de área) ou todos da tabela B onde o polígono B contém o ponto A?

Estou usando o QGIS.

Andrea Ballarati
fonte

Respostas:

13

É possível fazer uma junção no local ("onde o polígono B contém o ponto A") usando "Associar atributos por local" no menu "Vetor". A camada resultante conterá todos os atributos das duas camadas.

Uma alternativa mais rápida é SAGA> Ferramentas de pontos vetoriais> Adicionar atributos de polígono a pontos disponíveis na caixa de ferramentas Processamento no QGIS.

underdark
fonte
0

Através do SQL

Você precisará acessar os dados e acessar um banco de dados SQL, pode derivar as informações por meio de uma simples consulta SQL. Este exemplo foi escrito para o SQL Server no TSQL.

A consulta listará os IDs de hidrante (camada A) e distrito de incêndio (camada B), juntamente com identificadores comuns e a definição de geometria de cada um. Por ter a geometria definida, se você inserir esses resultados em uma tabela, poderá revisá-los em seu 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
fonte