Junção - csv + shapefile

37 views
Skip to first unread message

Gabrielly Andrade

unread,
Mar 30, 2023, 2:22:32 PM3/30/23
to qgisb...@googlegroups.com
Olá, espero que estejam bem.

Eu gostaria unir um csv com um shapefile, porém eu precisava que essa junção ocorresse com base em duas colunas. Explico melhor abaixo.

Estou trabalho com um loteamento, então ao ir no shapefile
propriedades > união > unir campo 
Só consigo escolher uma coluna para unir (print), mas eu precisava selecionar duas colunas, uma com número de lote e outra com número de quadra.

Se eu seleciono apenas o número de lote terei informações duplicadas, por isso precisava também da coluna de quadra.

Tem alguma outra forma de fazer a união e então conseguir selecionar duas colunas?


image.png

Obrigada desde já,

Marcelo P. Pinelli

unread,
Mar 30, 2023, 2:42:01 PM3/30/23
to qgisb...@googlegroups.com
Gabrielly,
Crei uma  coluna com 'Quadra_número' e cada banco de dados.
Depois faça a união por esse campo.
Foi assim que fiz quando deparei com essa situação.

Marcelo P. Pinelli
Geólogo


--
Comunidade QGIS Brasil: http://qgisbrasil.org/
---
You received this message because you are subscribed to the Google Groups "qgisbrasil" group.
To unsubscribe from this group and stop receiving emails from it, send an email to qgisbrasil+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/qgisbrasil/CAFZk_kB6YFJnroBqE2qY%2BHDrJ7xjHV4W2qXxoiEQwNts6entXw%40mail.gmail.com.

Henrique Maza

unread,
Mar 31, 2023, 9:15:29 AM3/31/23
to qgisbrasil
Olá Gabrielly,

uma opção é criar uma seleção SQL por meio da camada virtual.
Segue um arquivo de teste para vc usar.
Vá em Camada > Criar nova camada > Nova camada virtual

Dê um nome para a camada e então no segundo quadro pode colocar sua query (veja a imagem). 

camadaVirtual.png
select shape.*, pop from shape
left join plnA3 on concat(plnA3.chv_1,plnA3.chv_2) = shape.chave

A primeira linha indica que eu quero que traga todos os campos da minha camada vetorial que chamei de "shape" e o campo "pop", que está na tabela plnA3.
A segunda linha faz um join (similar ao union), com a planilha plnA3, onde o valor do campo "chave" da camada vetorial é igual aos campos "chv_1" e "chv_2" da planilha concatenados (abaixo estão as tabelas dessas camadas)

tabelas.png

Acho que consegue fazer isso apenas substituindo os nomes pelos respectivos nomes dos seus arquivos. Manda aqui se conseguiu.

Na figura abaixo da pra ver o resultado dessa união com um campo concatenado, em que aparece o valor da população vinculado à geometria.
Ao final você pode exportar o resultado se quiser...e essa operação pode ser vista como a criação de uma view em um banco de dados.

resultado.png

Abs
ArquivosParaTesteCamadaVirtual.zip

Glalko Ferreira

unread,
Mar 31, 2023, 1:59:03 PM3/31/23
to qgisb...@googlegroups.com
Boa tarde,

Gabrielly temos algumas coisas a serem analizadas: 
1 - Primeira questão é se realmente você precisa das duas colunas juntas (lote e quadra). Você está tentando unir Código do CSV com Id do shape. Esse  JOIN ou junção ou união (tudo a mesma coisa e o mesmo conceito) é melhor que usar quadra e lote, se tivermos o Código do CSV = ao Id do Shape. Se por um acaso não tiverem a mesma informação, penso que a melhor solução é criar um campo no shape com o nome de código e colocar os dois iguais.O problema é que os campos Código e Id são de tipos diferentes -  Código é texto e Id é número inteiro. Daí não dá certo!
2 - Não sendo a mesma informação, daí concordo em usar quadra e lote, mas de toda forma você precisa ter a mesma informação em um único campo. Assim, uma solução é concatenar o campo quadra e lote. No CSV é complicado. Ou faz isso no software que exportou ou então abre no excell e concatena os dois criando um campo quadra_lote. No shape tem que criar também o campo quadra_lote, e lembrando que os dois tem que ser do mesmo formato. Como não vai fazer cálculos com ele, sugiro que os dois sejam texto.

É simples!

Abraço e sucesso. 

Em qui., 30 de mar. de 2023 às 15:22, Gabrielly Andrade <andradec...@gmail.com> escreveu:
--
Comunidade QGIS Brasil: http://qgisbrasil.org/
---
You received this message because you are subscribed to the Google Groups "qgisbrasil" group.
To unsubscribe from this group and stop receiving emails from it, send an email to qgisbrasil+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/qgisbrasil/CAFZk_kB6YFJnroBqE2qY%2BHDrJ7xjHV4W2qXxoiEQwNts6entXw%40mail.gmail.com.


--
Glalko Machado Ferreira
Tecnólogo em Geoprocessamento
(62) 99154-9913
Reply all
Reply to author
Forward
0 new messages