Junção Espacial (Spatial Join) no gvSIG

Buenas, pessoal!

Semana passada surgiu na Lista gvSIG_BR a dúvida se o gvSIG tem a opção de executar o geoprocesso Junção Espacial (Spatial Join). A necessidade que gerou a dúvida era a seguinte situação: havia um shape de polígonos, com a sua tabela de atributos vinculada, e um shape de pontos, sobrepostos aos polígonos. O que precisava ser feito era transferir os dados do shape de polígonos para o shape de pontos, de forma que os pontos que caem dentro de um polígono assumam os valores daquele polígono.

Esta situação pode ser resolvida com o geoprocesso Junção Espacial (Spatial Join), que está disponibilizado em todas as versões do gvSIG. Este geoprocesso é similar a um Join entre tabelas alfanuméricas, permite transferir os atributos de uma camada para outra com base em uma característica comum. A diferença entre o “Join Tradicional” e um Join Espacial é que as características comuns consideradas, não são que “um” ou “muitos” atributos das tabelas possuam o mesmo valor (ex: chaves primárias), mas sim as características espaciais. A junção de tabelas já foi muito bem explicada pelo Esdras no artigo Relacionar tabelas no gvSIG. Vamos ao tutorial, então:

Aberto o gvSIG, no Gestor de Projetos, criamos uma nova Vista, com as devidas configurações de suas propriedades. Para os fins do tutorial estou chamando esta vista de “Junção Espacial”.

juncao01 - Share on Ovi

Abrimos a Vista, e vamos adicionar os shapes em questão, clicando em Vista > Adicionar camada (ou utilizar o atalho Alt+O, ou ainda clicando no ícone correspondente). Na janela que se abre, na aba Arquivos, clicar em Adicionar, escolher o caminho onde estão armazenados os shapes e selecionar os dois shapes. Aqui estou usando um shape de polígonos, contendo a divisão municipal do RS, e um shape de pontos, com alguns pontos indicando as sedes dos municípios de meu interesse.

juncao03 - Share on Ovi

Só para facilitar o entendimento, essa é a tabela de atributos do shape de polígonos (visualizada através da opção Camada > Ver tabela de atributos, ou do ícone Ver tabela de atributos).

juncao04 - Share on Ovi

E essa é a tabela de atributos do shape de pontos:

juncao05 - Share on Ovi

Como pode ser visto, não há nenhum campo em comum entre as tabelas, pelo qual pudéssemos fazer a junção das tabelas.
Vamos ao geoprocesso: clicamos em Vista > Gestor de geoprocessos e, na árvore de geoprocessos que está a esquerda da janela que se abre, vamos abrindo as opções, até encontrar a desejada: Geoprocessos > Análises > Proximidade > Junção espacial

juncao06 - Share on Ovi

No lado direito da janela aparece uma descrição do geoprocesso, explicando a sua aplicação e as opções existentes. Clicamos em Abrir geoprocesso, na parte debaixo da janela. Abrirá uma nova janela: Ferramentas de análise.

juncao07 - Share on Ovi

Aqui é que está o coração do processo, No primeiro campo, Camada de entrada, definimos qual a camada que servirá como origem (a camada que irá receber os atributos, neste caso, a camada do shape de pontos). Se deixarmos marcada a opção “Usar somente os elementos selecionados” o geoprocesso será realizado somente para os elementos que estiverem previamente selecionados na camada. Não selecionaremos esta opção, pois queremos que a Junção espacial seja feita para todos os pontos do shape.

No segundo campo, Camada de recorte, selecionamos a camada que será juntada a primeira, cedendo os atributos de sua tabela. No nosso caso, a camada do shape de polígonos. Deixamos a opção “Usar o mais próximo” marcada, indicando que queremos uma relação 1 -> 1.

Por último, no campo Camada de saída, clicamos em Abrir e escolhemos o nome do shape que será gerado e o local de armazenamento do mesmo. Definido este ítem, basta clicar em Aceitar para que o geoprocesso seja executado.

De volta a janela principal, teremos a nova camada já inserida na Vista, como um novo shape.

juncao08 - Share on Ovi

Se abrirmos a tabela de atributos do novo shape, veremos que ocorreu a junção das tabelas, que era o nosso objetivo inicialmente proposto.´

juncao09 - Share on Ovi

Por enquanto é isso, pessoal…
Até a próxima! ;)

  • Alice [Visitor]

    Obrigada, ótimo tutorial!

  • Eliazer Kosciuk [Member]

    Alice,

    Muito obrigado pelo elogio, e muito obrigado por comentar!

    Eliazer