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.

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.


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.