Tutorial: Importando Dados Tabulares para Dentro do QGIS

Site: Open Courseware for GIS
Disciplina: QGIS Para Aplicações Hidrológicas
Livro: Tutorial: Importando Dados Tabulares para Dentro do QGIS
Impresso por: Guest user
Data: domingo, 17 de outubro de 2021 às 11:52

1. Introdução

Com bastante frequência, obtemos dados em formato tabular, por exemplo, planilhas ou arquivos CSV. Às vezes, os dados vêm em duas tabelas, uma com as coordenadas e outra com os atributos de que você precisa para sua análise. 

Neste exemplo, vamos importar uma tabela com a temperatura média diária em 1 de setembro de 2013 em várias estações meteorológicas na Holanda. Os dados foram baixados do KNMI Data Centre (KNMI, the Royal Netherlands Meteorological Institute), mas reformatados para o propósito deste exercício.





2. Teoria

Primeiro, apresentaremos a teoria necessária para este exercício em alguns vídeos.
Assista a cada vídeo com atenção e responda às perguntas abaixo do vídeo.

2.1. Modelo de dados Raster

Assista a este vídeo sobre o Modelo de Dados Raster.


3. Verificação das planilhas

É uma boa prática verificar o conteúdo de planilha ou arquivos de texto delimitados antes de importa-los para qualquer software. Para arquivos CSG, por exemplo, é importante saber o separador de colunas.

Abra os arquivos KNMI_20130901_tday.xls e KNMI_stations.xls em um programa de planilha e verifique o conteúdo.

  • Qual planilha contém as coordenadas? Qual projeção foi usada?
  • Qual é a coluna comum que podemos combinar entre as duas planilhas?


4. Importando Planilhas

Existe diferentes formas no QGIS para importar dados tabulares:
  • Add delimited text layer buttonCamadas | Adicionar Camadas | Adicionar Camada de Texto Delimitado. Este é o importador padrão que nos permite importar arquivos de textos delimitados.
  • add spreadsheet layer buttonCamadas | Adicionar Camadas | Add spreadsheet layer. Esta ferramente pode carrear arquivos de planilha (*.ods, *.xls, *.xlsx) como uma camada com opções para usar a primeira linha como cabeçalho, ignorar linhas e carregar geometrias dos campos x e y.

Aqui usaremos a segunda opção, para a qual precisamos instalar o complemento Spreadsheet Layers.
1. Inicie o QGIS Desktop. Certifique-se de iniciar um novo projeto em vez de continuar o anterior.

2. No menu principal vá para Complementos | Instalar e Gerenciar Complementos e verifique se o complemento Spreadsheet Layers  está instalado. Se não, instale agora.

Os complementos são desenvolvido pela comunidade para adicionar funcionalidades extra ao QGIS. Com o complemento Spreadsheet Layers você pode, por exemplo, importar e exportar arquivos para o Excel.

Spreadsheet Layers plugin


3. Agora escolha Camada | Adicionar Camada | Add spreadsheet no menu principal.

add spreadsheet layer


4. Na caixa de diálogo, navegue até o arquivo com a localização das estações meteorológicas (KNMI_stations.xls).

5. Preencha os campos conforme mostrado na figura abaixo. Certifique-se de que campos de geometria (X e Y) e o sistema de referência corretos sejam escolhidos. Indique também os tipos de dados corretamente para os campos. Por exemplo, STN são número de estação e devem ser importados como números inteiros (interger), enquanto ALT(m) deve ser importado como números reais (Real).

Create layer from a spreadsheet file

6. Depois clicar em OK, um mapa com a estação meteorológicas e exibido.

7. Se você não vir o mapa, provavelmente precisará aumentar o zoom na extensão do mapa. Clique com o botão direito do mouse  na camada de estações KNMI e escolha Zoom Para Camada.

8. Adicione a tabela com os dados de temperatura da mesma forma. Como não há geometria (coordenadas) na tabela, devemos desmarcar a caixa.

Create layer without geometry

Agora você importou ambas as planilhas para o QGIS!

5. Converter Planilha em Camada Vetorial

Agora, a tabela de estações KNMI é salva como uma camada vetorial virtual temporária. Para processamento posterior, primeiro precisamos convertê-lo em um formato vetorial. Neste caso, vamos convertê-lo em um shapefile.


1. Clique com o botão direito na tabela das estações KNMI e escolha Exporta | Salvar Feições Como...

2. Na caixa de diálogo, use o botãoBrowse button para navegar até a pasta certa para salvar o arquivo como KNMI_stations.shp. Para alterar a projeção para a projeção holandesa local, escolha Amersfoort / RD New para o SRC clicando no botãoChoose projection icon. Dica: Use o campo de filtro para pesquisar o código EPSG 28992.

crs selector


Aqui você vê a vantagem de usar códigos EPSG: eles fornecem códigos padrão para cada projeção. É útil determinar o código EPSG da projeção que você deseja usar para seu projeto.

3. Clique em OK. Agora a caixa de diálogo se parece com a figura abaixo (marque também a caixa Adicionar arquivo salvo ao mapa e certifique-se de que ESRI Shapefile foi escolhido como formato).

save vector layer as


4. Clique em OK para prosseguir.

5. Remova a tabela de estações KNMI da lista de camada clicando com o botão direito e selecionando Remover Camada. Clique em OK para confirmar. Certifique-se de remover o arquivo correto. Se você passar o mouse sobre o item da camada, ele mostrará o nome do arquivo. Com Remover Camada, você apenas o remove da lista de camadas, o arquivo ainda está no seu disco rígido.

Embora a camada knmi_stations.shp esteja na projeção EPSG:28992 (Amersfoort / RD New), a tela de visualização do QGIS está usando a projeção  EPSG:4326 (lat/lon WGS 84) e reprojetou  a camada knmi_stations.shp na hora da visualização. A fim de visualizar todas as camadas EPSG 28992, temos que alterar as propriedades do projeto QGIS.

6. No menu principal escolha Projeto | Propriedades.

7. Vá até a guia Sistema de Referências de Coordenadas (SRC).

8. Na lista de Sistema de Referências de Coordenadas usados recentemente, escolha EPSG:28992 e clique em OK.
project crs

Outra maneira de definir o SRC do projeto para o da camada é clicar com o botão direito do mouse na camada e escolher Definir SRC | Definir SRC do Projeto a partir do SRC da Camada no menu de contexto.


Observe que a projeção do projeto é indicada no canto inferior da tela: otf reprojection. Você sempre pode verificar lá para ver se o código EPSG está correto. Este também é um botão no qual você pode clicar para ir para guia Propriedade do Projeto | SRC e mudar a projeção instantânea.

6. Unir Tabelas de Atributos

A localização das estações meteorológicas e os dados de temperatura ainda estão em tabelas separadas. Para uma análise posterior, precisamos combiná-los em uma camada vetorial. Em termos de GIS, isso é chamado de operação de junção. Só podemos juntar tabelas se elas tiverem uma coluna em comum.

1. Verifique a tabela de atributos KNMI_stations (clique com o botão direito em KNMI_stations e escolhe Abrir Tabela de Atributo) e  da mesma forma, verifique a Tabela de Temperatura KNMI.

2. Confirme se os campos STN são a chave entre as duas tabelas, conforme concluímos anteriormente nas planilhas originais.

Após de determinar qual coluna ambas as tabelas têm em comum, podemos juntar os dados da Tabelas de Temperatura KNMI atributos do nosso arquivo shapefile KNMI_stations.shp.

3. . Primeiro feche as tabelas de atributos.

4. Em seguinda, clique com o botão direito em KNMI_stations e escolha Propriedades.

5. Na caixa de diálogo, escolha o botão Unirjoin icon.

6. Clique no botãoplus button e verifique se a janela de diálogo é parecido como a figura abaixo.

add vector join

O campo comum é STN (o número da estação). Unimos apenas o campo de temperatura e damos à coluna o prefixo Temp_.

7. Clique em OK.

8. Clique em OK para executar a operação Unir.

9. Agora verifique novamente a tabela de atributos da KNMI_stations. O que aconteceu?

7. Editar a Tabela de Atributos Unidas

A tabela de atributos unida precisa de duas correções: (1) feições com dados ausentes precisam ser removidos, e (2) as temperatura devem ser convertidas para as unidades certas.

1. Clique nos números das linhas com NULL ou nenhum valor de temperatura, enquanto mantém a tecla Ctrl pressionada.

Agora a tabela de atributo se parece a figura a baixo.

select nodata

2. Na tabela de atributo, clique no botão Toggle editing button acima da tabela para alternar o modo de edição.

3. Clique no íconedelete selected button (na barra de ferramenta acima da tabela de atributo) para remover as duas feições com dados ausentes, então salve a tabela de atributo clicando no botãoSave layer edits.

O único problema agora é que as temperaturas da tabela estão em 0,1°C. Precisamos converter os valores para °C.

4. Clique no botão Novo Campoadd new field para adicionar uma nova coluna à tabela de atributo. Preencha a caixa de diálogo Adicionar um Campos conforme mostrado a figura abaixo.
add field

Comprimento é o número de dígito, Precisão é o número de casas de decimais.

5. Clique em OK para executar.

Agora, a tabela de atributos mostra um coluna extra com valores NULL.

6. Para calcular os valores corretos, clique no botão calculadora de campo field calculator buttonacima da tabela de atributo para abrir a caixa de diálogo Expressão (não confunda isso com o botão Selecionar por Expressão, que parece um pouco diferente). Preencha o diálogo conforme mostrado na figura abaixo. Para evitar erros, a prática recomendada é clicar duas vezes no nome do campo na parte central da tela de diálogo e clicar no botão *. em seguida, digite 0.1 para que a equação seja "TEMP_T(0.1C)" * 0.1. Clique em OK para executar.

expression dialog

Certifique-se de que a janela da Tabela de Atributos esteja parecida com a figura abaixo. Observe que T(C) deve ser selecionado com a coluna à qual os valores calculados serão atribuídos!

field calculator

7. Clique em Atualizar tudo para realizar o cálculo de todas as feições.

Agora verifique o resultado na tabela de atributos.

8. Clique no botão Toggle editing button para voltar o modo sem edição. Clique em Salvar para gravar as alterações quando solicitado e feche a tabela de atributo. Se você cometeu um erro, não salve, mas escolha  Descartar para desfazer todas as alterações desde o último salvamento.

9. Agora remova a tabela de Temperatura KNMI  da lista de camadas e verifique a tabela da KNMI_stations.

  • Que colunas você vê agora?
  • O que você pode concluir sobre a função unir?

Observe que você poderia ter salvo toda a tabela de atributos salvando KNMI_stations em um novo shapefile usando a função Exportar | Salvar Feições como.

8. Interpolar Feições de Pontos para Raster

A tarefa final é interpolar os valores de temperatura para um raster.

1. No menu principal, escolha  Raster | Análises | Grade (Vizinho Mais Próximo).

grid nearest neighbor

2. Na caixa de diálogo especifique de saída: tday_NN.tif usando a janela de navegação e especificando o formato .tif.

3. Selecione T(C) como valor no campo Z. Este é o campo que iremos interpolar para os chamados Polígonos Thiessen.

4. Marque a caixa Abrir arquivos de saída após a execução do algoritmo.

Para o resto dos campos, mantenha os valores padrões. A caixa de diálogo agora deve parecer com a figura abaixo.

grid nearest neighbor dialog

Observe que a caixa de diálogo gera um comando GDAL. A ferramenta é essencialmente uma GUI para a ferramenta de linha de comando gdal_grid.

5. Clique em Executar para prosseguir.

6. Clique em fechar para fechar o a caixa de diálogo.

7. Agora repita a interpolação usando o Raster | Análises | Grade (Inverso da Distância à Potencia) (IDW). Adicione o arquivo do resultado tday_IDW.tif.

9. Estilizando os resultados

Para dar sentido às interpolações, precisamos estilizar as camadas.

1. Arraste a camada KNMI_stations para que fique posicionada acima das camadas raster T_NN e T_IDW no Painel de Camadas.

Para fornecer algum contexto, você primeiro adicionará um mapa base usando o complemento QuickMapServices.

2. No menu principal escolha Web | QuickMapServices | OSM | OSM Standard.

3. Abra o  Painel de Estilo de Camada clicando no botão  Open layer styling panel button.  Defina a camada para KNMI_stations.

4. Selecione o componente Marcador Simples e defina a cor de preenchimento como preto e tamanho com 2,8.

5. Altere para a guia Rótulosstyling dock labels do Painel de Estilo de Camada. Mude de Sem Rótulos para Rótulos Simples.

6. Defina a opção Rotular Com para o Campo NAME.

Os nomes são todos em maiúsculos. Em seguida, você os converterá em maiúsculas e minúsculas.

7. Clique no botão Expression expression button para abrir a Janela de Diálogo de Expressão. Use a janela Pesquisar para encontrar a função title(). Faça Faça do campo NAME  a string usada com esta função. Sua expressão será será title( "NAME" ).

8. Para adicionar mais informações ao mapa, você agora adicionará a temperatura ao rótulo. Clique novamente no botão Expressãoexpression button . Como você fez no exercício anterior, use o operador Concatenação de stringconcatenation operator e o operador Nova linhanew line operator para adicionar a coluna T(C) ao rótulo na secunda linha. Podemos adicionar o símbolo de graus usando função char(), que retorna um caractere associado a um código unicode. Sua expressão de rotulagem agora deve ser title("NAME") || '\\n' || "T(C)" || char(0176) || ' C'.

9. Para centralizar o texto do rótulo, mude para a guia Formatação label formatting tab e defina o Alinhamento como  centro.

10. Defina a fonte como Calibri com um a Estilo negrito e tamanho de 10 pontos.

11. Mude para a guia Buffer de rótulos label buffer tabe marque a opção Desenha buffer de texto. Defina a Opacidade como 50%.

12. Para dar mais separação entre as etiquetas e o ícone das feições, alterne para a Guia Posicionamentolabel placement tab icon e defina a Distância como 2 mm.

Se os rótulos estiverem sendo cortados no limite do mapa, revise o exercício anterior para se lembrar de como usar as configurações de Posicionamento Automático.

Agora você vai voltar sua atenção para os dois rasters interpolados.

13. Comece mudando a camada no painel de estilo de camada  para T_NN.

14. Altere o renderizador de Banda Simples Cinza padrão para Banda Simples falsa-cor.

Para raster contínuos, usamos o renderizador Banda Simples Falsa-cor. Embora os polígonos de Thiessen na camada T_NN parace discretos, os pixels têm números reais, o que não é possível para rasters discretos.

15. Para a rampa de cores, escolha Spectral. Clique Classificar. Por padrão, essa rampa de cores é configurada para tornar os valores mais baixos em vermelho e os números maiores em azul. Isso é pouco intuitivo. Esses valores representam a temperatura, então os valores mais altos devem ser representados com cores mais quentes (vermelhas) e os valores mais baixos com cores mais frias (azul). Para fazer isso, clique no botão direito do mouse na rampa de cores e escolha Inverter Gradiente de Cores no menu de contexto. Para ver o mapa base, você aplicará um modo de mistura. Na seção de renderização escolha multiplicar.

Seu mapa deve se parecer com a figura abaixo.

 the T_NN layer


16. Em seguinda, desligue a camada T_NN e ligue o T_IDW. Use o Painel de Estilo de Camada para estilizar isso usando o renderizador de Banda Simples Falsa-cor com a mesma rampa de cor invertida. Desta vez, mude o modo para Quartil. Também aplique Multiplicar no modo de mistura para este raster.

Seu mapa agora deve se parecer com a figura abaixo.

stations idw styled

10. Conclusões

Nesta lição você aprendeu:

  • importar dados tabulares para um SIG
  • salva tabelas com geometrias para o formato SIG
  • Unir tabelas de atributos
  • editar tabela de atributos
  • interpolar dados de pontos para raster
  • estilo e rotular de camadas vetoriais de pontos
  • estilo contínuo de camadas rasters
Você pode assistir este webinar completo para ver o procedimento completo: