O recurso de junção ou união espacial (spatial join) de atributos é um interessante recurso para gestão de dados geográficos vetoriais e suas tabelas com informações alfanuméricas. Neste tutorial iremos considerar um exemplo prático sobre como unir tabelas pela localização espacial no ambiente do software livre QGIS. Certamente esta dica será muito útil para diversos de nossos leitores, pois ela aborda uma dúvida bastante comum.
Este tutorial é um Guest Post, elaborado por Leonardo Figueiredo de Meneses, graduado em Geografia pela UFPB (2006) e em Tecnologia Em Geoprocessamento pelo IFPB (2007). É Mestre em Engenharia Urbana pela UFPB (2007). Atualmente é Professor Assistente da Universidade Federal da Paraíba – Campus Litoral Norte. Tem experiência na área de Geociências, com ênfase em Geoprocessamento, atuando principalmente nos seguintes temas: geoprocessamento aplicado a estudos ambientais, tecnologias de mapeamento de áreas e estudos sobre geodiversidade e geoconservação.
UNIÃO DE ATRIBUTOS A PARTIR DA LOCALIZAÇÃO
Imagine a seguinte situação: Temos duas camadas, uma com a divisão do Estado do Acre (do tipo polígono) em seus 22 municípios e um conjunto de 60 pontos representando a localização de casos de determinada doença ao longo desta região região geográfica (veja a imagem).
Caso queira realizar os passos deste tutorial como exercício, baixe os dados geográficos clicando aqui (32 KB).
Na tabela de atributos da camada Acre temos duas colunas, uma com o nome do estado e outra que contém o nome dos municípios (NOME_MUN). Na tabela da camada Ocorrencias_Doenca temos apenas um código identificador (ID) para cada um dos pontos.
Nossa demanda é importar, por assim dizer, os nomes dos municípios presentes na tabela da camada Acre como uma nova coluna na camada Ocorrencias_Doenca, para que possamos consultar em qual cidade ocorreu determinado caso de doença.
É interessante que este é um recurso básico e nativo do QGIS, não é necessário instalar nenhum complemento nem fazer uso da integração com outros programas.
Acesse, como ilustrado na imagem abaixo, o menu Vetor → Gerenciar dados → Unir atributos por localização.
Em Camada vetorial alvo, indique a camada para onde deseja que os dados tabulares sejam copiados (neste exemplo, Ocorrencias_Doenca). Indique a camada vetorial usada como base para importação dos dados (camada Acre).
Escolha o local onde os novos dados gerados serão salvos e execute a ferramenta clicando em OK.
Para o exemplo em questão, chamados a camada de saída de Spatial_Join (shapefile). O QGIS perguntará de você deseja carregar imediatamente o dado processado.
A imagem abaixo mostra um exemplo de visualização da camada pontual gerada após o processo de união de atributos por localização.
Para conferir o resultado, veja a tabela de atributos da camada pontual. Note na imagem abaixo que na tabela da camada Spatial_Join temos agora as colunas NOME_UF e NOME_MUN, originárias da camada Acre.
Você entendeu a aplicabilidade desta funcionalidade oferecida pelo QGIS? Ficou com alguma dúvida? Entre em contato!
Como dicas extras, recomendo que não deixe de ler as seguintes matérias onde há destaque para outros trabalhos desenvolvidos pelo autor deste tutorial:
Sobre o QGIS, creio que seja significativo consultar também os seguintes tutoriais que publicamos anteriormente no site:
14 respostas
Olá, estou tentando fazer uma união com esta ferramenta no QGIS 3.4 e a janela das entradas de dados é um pouco diferente.
Poderia comentar rapidamente o que diferencia os “Join types”: a) “Criar feição separada para cada feição localizada (um-para-muitos)” e b) Tomar atributos da primeira feição localizada (um-para-um)”?
Estou fazendo operação com duas camadas de polígono, diferentemente do exemplo do tutorial.
Agradeço desde já.
Att
Um para muitos ele vai criar uma feição para cada “match” do código, e a outra opção ele vai criar apenas para o primeiro “match”.
Um exemplo: Vc tem 2 pontos de uma camada dentro de 1 polígono de outra.
Caso vc escolha um para muitos serão criados 2 polígonos idênticos, porém cada um vai ter atributo de cada ponto que estava dentro do polígono
Esse tutorial salvou meu trabalho! Muito obrigada!
gostaria de filtrar e agrupar dados …por exemplo uma planilha com varias informações que 3 colunas podem ter linhas com informações identicas…alguém pode me auxiliar?
Estou usando o Qgis versão 2.18 e nesta opção para “Join attributes by location” aparecem diversas opções de critérios para geometrias: intersect, within, contains, overlaps. Estou querendo calcular a soma áreas de um shape file contendo polígonos em um outro shape file com limites de EStados do Brasil. Qual destas opções devo usar. A minha questão é que alguns destes polígonos podem estar localizados na fronteira de EStados tendo uma porção em cada Estado. Se usar a opção “within” posso estar desconsiderando as áreas destes polígonos no caĺculo da soma das áreas em cada Estado.
Oi Anderson,
Tenho uma dúvida quando envolve polígono com polígono. Acaba que as vezes a informação que é trazida é de um polígono adjacente, porém não o correto. Já se deparou com esse tipo de join e como resolver de forma automática?
abs
Caro Anderson, grato pelo tutorial, bastante útil.
No caso de ter dois shapes de polígonos, por exemplo, “imóveis rurais” e “municípios”. Quero unir na tabela de atributos dos “imóveis rurais” o atributo “nome do município”.
No caso do imóvel rural sobrepor dois municípios, tem como ele adicionar o nome dos dois na tabela?
Boa tarde!
Quando uso essa ferramenta, aparece que o SRC não é transmissivel. Oq seria isso?
Grande Anderson, salvou mais uma!
Muito obrigado!
Estávamos aqui com uma grande demanda, e esse tutorial resolveu nossos problemas.
Obrigado e parabéns!
Esse função é uma mão na roda na hora de agregar valor a um dado específico.
Bom Tuts!
Oi Sadeck, agradeço seu comentário.
Sempre é bom ter você por aqui.
Forte abraço!