Este post traz um tutorial de como unir planilhas excel com shapefiles no QGIS.
Em trabalhos com softwares SIG (Sistema de Informação Geográfica), é comum a busca por arquivos shapefiles que contenham um determinado dado/ fenômeno, para espacializa-lo em um mapa temático. Porém, e se os dados requeridos estão apenas em formato de planilha de textos? A união de dados em forma de texto (planilhas excel, por exemplo) com arquivos shapefiles é uma das formas de se espacializar informações, uma vez que nem sempre estes dados já estão inseridos nos arquivos shp.
COMO FUNCIONA A UNIÃO DE PLANILHAS COM O SHAPEFILE?
O princípio de união de planilha é simples: imagine um arquivo shapefile, que contém 3 pontos. Na tabela de atributos deste shape, existem duas colunas (atributos): “id” (um código numérico para identificar cada ponto) e “população” nestes pontos. Porém, você precisa de dados de renda e faixa etária destes pontos, que estão numa planilha excel (juntamente com a coluna “cod” que são os código dos pontos, igual à coluna “id” no shapefile).
O QGIS tem uma função de união que permite unir os dados da tabela excel à tabela shapefile, desde as duas apresentem uma coluna com dados em comum. Neste exemplo, seria a coluna de identificação dos pontos (id no “shapefile” e “cod” na planilha). Desta forma, as informações de renda e faixa etária são incluída diretamente na tabela de atributos do shapefile.

CONFIGURAÇÕES BÁSICAS PARA A UNIÃO DE PLANILHA EXCEL COM ARQUIVO SHAPEFILE
Para que a união entre a planilha excel e o arquivo shapefile seja bem sucedida, deve-se atentar à algumas configurações básicas nos arquivos utilizados:
- A planilha excel deve estar em formato .csv (valores Separados por Vírgulas): o formato padrão de planilhas excel é .xls e .xlsx. No entanto, há outros formatos utilizados, e softwares SIG fazem a importação destas planilhas se estiverem no formato .csv (Valores Separados por Vírgula). Caso a planilha que deseja utilizar não esteja neste formato, utilize a função “salvar como” e salve em .csv;
- A planilha excel e o arquivo shapefile devem possuir, ao menos, uma coluna em comum com o outro: tanto a tabela de atributos do shapefile como a planilha excel devem possuir uma coluna (campo) com dados em comum entre as duas tabelas. Os valores contidos nessa coluna devem ser únicos para cada célula, a fim de evitar que ocorra a união errada de dados. No Brasil, Estados, Municípios e Setores Censitários possuem códigos próprios, desenvolvidos pelo IBGE (Instituto Brasileiro de Geografia e Estatística), tanto em planilhas de dados como em arquivos shapefiles, o que facilita a união entre as duas fontes.
- Os dados na planilha excel devem estar em formatação uniforme (caixa alta ou baixa, separação de decimais etc.): todos os dados, tanto numéricos como textuais, devem estar devidamente formatados. O QGIS não reconhece o separador de milhares, então valores como “10.000” devem estar escritos como “10000”. O separador de decimais dever ser único, ou ponto ou vírgula (e deve ser dito, no ato de importação da planilha, qual é o utilizado nela). Verifique também a formatação de dados textuais. O QGIS é sensível à diferenciação de letras maiúsculas e minúsculas (ex. para o QGIS, “AA”, “Aa” “aA” e “aa” são 4 valores diferentes, por estarem escritos de forma diferentes).

EXEMPLO DE UNIÃO ENTRE PLANILHA EXCEL E ARQUIVO SHAPEFILE
Como exemplo prático, vamos inserir dados de produto interno bruto (PIB) per Capita, de 2017 nos municípios brasileiros. O exemplo pode ser aplicado a qualquer fonte de dados, loca, nacional ou internacional, desde que o shapefile e a planilha possuam uma coluna (campo) em comum.
A primeira coisa que deve ser feita é baixar o arquivo shape dos municípios brasileiro. Para isso, acesse o portal geociências do IBGE e baixe o shapefile da malha municipal, como na figura abaixo.

Agora, acesse o portal de dados estatísticos do IBGE e faça download da planilha de dados do produto interno bruto dos municípios, como na figura abaixo. Assim você possui os dois arquivos necessários para fazer a união de tabelas e, consequentemente, poderá fazer um mapa temático de PIB dos Municípios Brasileiros.

Antes de começarmos a trabalhar no QGIS, devemos primeiro tratar a planilha baixada. Acesse-a e verifique que há várias colunas com códigos de Identificação (município, Estados, etc.). Interessa, a esse tutorial a coluna de códigos municipais, marcada em amarelo na figura abaixo.

Utilizando a barra de rolagem no canto inferior da tela, você pode navegar entre as demais colunas. a coluna “AN” possui dados de PIB per Capita (marcados em laranja na figura baixo), que são do interesse do tutorial.

No entanto, perceba que ela possui separador de milhares e, como foi escrito acima, deve formatar os números de maneira que sejam retirados os marcadores de milhares. Para isso, clique no nome “AN” para selecionar todas as células da coluna, vá na caixa de formatação e escolha a formatação “geral”. Assim, os valores só terão separador de decimais (decore o fato de o separador ser em vírgula, isto será importante ao importar a planilha no QGIS). Salve a planilha no formato .csv (Valores Separados por Vírgula).

No QGIS (aqui estamos utilizando a versão 3.4), insira o shapefile dos limites municipais.

Agora, no “Gerenciador de Fontes de Dados”, onde escolheu o arquivo shapefile a ser inserido, clique na aba “Texto delimitado”. Clique nos três pontos (“…”) para procurar a planilha em csv.

Agora deve-se configura como a planilha será inserida no QGIS, conforme a figura abaixo:
- Em “Formato do arquivo”, marque a opção “delimitadores personalizados” e em “ponto-e-vírgula”;
- Em “Opções de Gravações de Campos”, marque as opções “Primeiro registro tem nomes de campos”, “tipos de campos detectados” e “Separador decimal é a vírgula” (lembra que, na planilha, os decimais eram separados por vírgulas?);
- Em “definição de geometria”, marque a opção “Sem geometria (atributo apenas de tabela). Escolha o SRC do projeto.
Verifique se na amostras de dados é possível identificar corretamente as colunas (campos) e seus respectivos valores. Quando estiver tudo configurado, clique em “Adicionar” e feche a tela. Veja que agora a tabela foi adicionada como uma camada, mas como não possui geometria, não parece na tela.

Clique no shapefile e depois, abra a tabela de atributos dele. Veja que, na camada, existe uma coluna (campo) com o geocódigo do município, assim como a planilha excel. Portanto, esse dado será utilizados para unir as duas tabelas.

Agora é a etapa de unir as tabelas. Clique com o botão direito no shapefile dos limites municipais e depois clique em “Propriedades”.

Na aba “Uniões”, clique no símbolo de “+” verde, para adicionar uma união. Uma tela vai aparecer, para configurar a união das duas tabelas:
- Em “Unir camadas”, escolha a planilha que foi importada para o QGIS (se for a única disponível, já deve estar sendo exibida);
- Em “Unir campo”, escolha a coluna da planilha que possui os códigos municipais (no caso, a coluna “Código dos Municípios”);
- Em “Campo alvo”, escolha a coluna (campo) do shapefile que possui os mesmos dados de códigos municipais (no caso, o campo “CD_GEOCMU”)
- Deixe a opção “Armazenar temporariamente a camada unida na memória virtual”, para que a união ocorra inicialmente em arquivo temporário. Caso a união seja feita corretamente, pode-se salvar em definitivo o shapefile com os novos dados;
- Clique em “Campos unidos” para selecionar que colunas da planilha excel quer que sejam unidas ao shapefile. Caso não marque esta opção, todos os dados da planilha serão automaticamente inseridos, o que pode gerar excesso de dados desnecessários ao shapefile, tornando-o desnecessariamente pesado. Para este tutorial, interessa somente a coluna de “Produto Interno Bruto per Capita, a Preços Correntes (R$ 1,00)”. Marque somente ela;
- Clique em “Personalizar prefixo de nome do campo”. Esta opção permite criar um prefixo antes de do nome de cada coluna. Porém como os campos de shapefiles possuem uma quantidade limitada de caracteres, deixar o nome padrão pode tornar a maioria dos campos novos com o mesmo nome, dificultando sua identificação. Portanto, e delete o texto padrão apresentado para que os novos campos apresentem o nome de origem contido na planilha.
Após esta configuração, clique em “OK”.

Agora vai aparecer as uniões realizadas nesse projeto do QGIS. Clique em “Apply”/”Aplicar” (o nome depende da tradução da sua versão do QGIS) e em “OK”.

Abra a tabela de atributos do shapefile de limites municipais e uma nova coluna com o PIB per Capita foi adicionada à tabela. Se sua tabela de atributos está igual à figura abaixo, parabéns! Você acabou de adicionar dados de planilha excel em um shapefile! Feche a tabela de atributos, clique com o botão direito do mouse sobre a camada de limites municipais e salve-a no seu pc, para que o novo campo de PIB per Capita fique salvo permanentemente no shapefile.

Agora você pode manipular os novos dados e criar mapas temáticos!

Se você tiver outros dados de municípios para adicionar, é só repetir este procedimento com as demais planilhas de dados.
Até a próxima!

6 respostas para “QGIS: União entre Planilhas Excel e Shapefiles”
[…] Os dados de população foram obtidos da Estimativa Populacional dos Municípios Brasileiros para o ano de 2019, disponibilizado no sítio eletrônico do Instituto Brasileiro de Geografia e Estatística (IBGE), bem como os limites municipais e as divisas estaduais. O mapa temático foi elaborado no software SIG (sistema de Informação Geográfica) livre QGIS 3.4, utilizando os procedimentos de união de planilhas excel com shapefiles, cujo tutorial você encontra aqui. […]
CurtirCurtir
[…] brasileiros (para saber mais sobre como unir planilhas excel com arquivos shapefiles, clique aqui para acessar o […]
CurtirCurtir
[…] em planilha excel e importados para o software QGIS (para mais detalhes deste procedimento, veja este tutorial), onde foram elaborados os mapas temáticos. A partir da organização e compilação dos casos de […]
CurtirCurtir
[…] geocod: contém o geocódigo de cada município, designado pelo Instituto Brasileiro de Geografia Estatística (IBGE), que pode utilizado para realiza a união de planilhas excel com outra camada no QGIS (para mais detalhes, veja este tutorial). […]
CurtirCurtir
[…] Os mapas foram gerados no QGIS 3.4. Para normalizar os valores, foi realizada uma álgebra de mapas, utilizando dados dos casos de Covid-19 entre os dias 25 de fevereiro e 10 de abril de 2020 (obtidos no site do Wesley Cota) e a população estimada dos municípios em 2019 (obtida na estimativa populacional do IBGE para 2019). Os dados normalizados para 100 mil habitantes, em formato CSV (Valores Separados por Vírgula) foram unidos ao shapefile de pontos das sedes municipais (para saber como unir uma tabela excel com shapefile, veja este tutorial). […]
CurtirCurtir
[…] QGIS: União entre Planilhas Excel e Shapefiles Mapas de densidade populacional com dados do IBGE e QGIS […]
CurtirCurtir