Automatize suas Análises MapBiomas com PyQGIS

Tutorial completo para aplicar simbologia padronizada em múltiplas camadas de uso e cobertura do solo de forma rápida e eficiente.

Resultado final da aplicação de simbologia MapBiomas

Introdução

Quem já trabalhou com dados do MapBiomas sabe o quão trabalhoso pode ser configurar a simbologia para múltiplas camadas de análise temporal. Repetir esse processo manualmente para cada ano é tedioso, propenso a erros e consome um tempo precioso que poderia ser dedicado à análise.

Pensando nisso, desenvolvi uma metodologia automatizada usando PyQGIS que permite aplicar a legenda oficial do MapBiomas em todas as camadas vetoriais de uma só vez. Neste tutorial, vou compartilhar cada etapa do processo que utilizei em projetos reais de mapeamento.

O que você vai aprender

  • Converter raster MapBiomas para formato vetorial
  • Limpar feições de borda indesejadas
  • Fazer join com a legenda oficial
  • Automatizar a aplicação de simbologia com PyQGIS

Pré-requisitos

  • QGIS 3.x instalado
  • Conhecimento básico de geoprocessamento
  • Dados raster do MapBiomas (Coleção 10 ou superior)
  • Legenda oficial do MapBiomas em formato CSV

Atenção

Este tutorial utiliza dados poligonizados. Para grandes áreas, o processo pode consumir recursos computacionais significativos. Considere trabalhar com recortes regionais se necessário.

Passo a Passo

1

Poligonizar o Raster

O primeiro passo é converter o raster MapBiomas para formato vetorial. Isso permite que façamos relações (joins) com tabelas externas e apliquemos simbologia categorizada.

No QGIS:

  1. Carregue seu raster MapBiomas (mapbiomas-brazil-collection-100-braganca-2024.tif) - baixe o arquivo deste tutorial
  2. Acesse: Raster → Conversão → Poligonizar (Raster para Vetor)
Menu de poligonização no QGIS

Na janela que se abre, configure:

  • Camada de entrada: Seu raster MapBiomas
  • Nome do campo da banda: DN (este campo armazenará o Code ID)
  • Usar indexação de 8 conexões: Ativado (melhora a geometria)
  • Saída: Deixe como "[Criar camada temporária]" - vamos salvá-la posteriormente
Janela de configuração da poligonização Resultado da poligonização

Resultado esperado

Você terá uma camada temporária com polígonos classificados, onde cada feição possui um atributo DN correspondente ao Code ID do MapBiomas.

2

Limpar Bordas

Durante a poligonização, são criadas feições indesejadas com valor DN = 0. Vamos removê-las para otimizar o desempenho e limpar a visualização.

Aplicar filtro de DN:

  1. Clique com botão direito na camada temporária → Filtrar...
  2. Ou acesse: Vetor → Ferramentas de Consulta → Selecionar por Expressão
Ferramenta de filtro

Configure a expressão:

"DN" != 0

Aplique o filtro e exporte apenas as feições filtradas para uma nova camada temporária.

Aplicação do filtro
3

Fazer Join com a Legenda Oficial

Agora vamos enriquecer nossos dados conectando o campo DN com a legenda oficial do MapBiomas.

Preparar a legenda:

  1. Utilize o arquivo Legenda-Colecao-10-Legend-Code.csv (versão PDF oficial). Este CSV é uma extração do PDF oficial da legenda da Coleção 10 do MapBiomas.
  2. Adicione o CSV ao QGIS como camada

Configurar o Join:

  1. Clique com o botão direito na camada vetorial → Propriedades
  2. Vá até a aba Joins
  3. Clique no botão + verde
  4. Configure:
    • Camada de junção: Legenda-Colecao-10-Legend-Code
    • Campo de junção: Code ID
    • Campo de destino: DN
    • Campos unidos: Selecione "COLEÇÃO 10 - CLASSES" e "Hexacode Number"
    • Marque "Campo personalizado e prefixo do nome"
    • Delete o prefixo padrão, deixando o campo vazio (isso cria campos sem prefixo)
Configuração do Join

Importante: Persistir o Join

Joins no QGIS são voláteis por padrão. Para torná-los permanentes, você precisa salvar uma nova camada com os dados unidos:

  1. Clique com botão direito na camada → Exportar → Salvar Feições Como...
  2. Formato: ESRI Shapefile
  3. Salve em: shape/mapbiomas-brazil-collection-100-braganca-2024.shp
  4. Este passo consolida o join, fazendo os campos mesclados fazerem parte do shapefile definitivamente
  5. Após salvar, você pode descartar a camada temporária
Salvando o join permanentemente

Verifique o resultado:

Abra a tabela de atributos do shapefile salvo. Você deve ver os campos da legenda já incorporados:

Tabela de atributos mostrando os campos do join

Resultado

Agora seu shapefile possui os campos COLEÇÃO 10 - CLASSES e Hexacode Number permanentemente integrados.

4

Automatizar com PyQGIS

Vamos usar o console Python do QGIS para aplicar a simbologia em todas as camadas de uma vez.

Abrir o Console Python:

  1. No QGIS, acesse: Plugins → Console Python (ou pressione Ctrl+Alt+P)
Abrindo o console Python

Abrir o Editor:

  1. No console Python, clique no ícone "Mostrar Editor"
Mostrando editor Python

Carregar o Script:

  1. Baixe o script: Download script_simbologia_pyqgis.py
  2. No editor, clique em "Abrir Script" e selecione o arquivo baixado
Abrindo o script

Entendendo o Script

O script faz três coisas principais:

  1. Lê os valores únicos dos campos COLEÇÃO 10 - CLASSES e Hexacode Number
  2. Cria categorias de simbologia baseadas nessas informações
  3. Aplica o renderer categorizado em todas as camadas listadas

Configurar as Camadas:

Edite a linha 12-14 do script para listar todas as camadas que deseja estilizar:

LAYER_NAMES = [ "mapbiomas-brazil-collection-100-braganca-2024", "mapbiomas-brazil-collection-100-braganca-2023", "mapbiomas-brazil-collection-100-braganca-2022" # adicione quantas camadas precisar ]
Listando camadas no script
5

Executar e Visualizar o Resultado

Com tudo configurado, chegou a hora de executar o script.

  1. No editor Python, clique no botão "Executar script"
  2. Aguarde a mensagem de confirmação no console
Executando o script

Mensagens de Sucesso

Se tudo correu bem, você verá mensagens como:

Classes únicas encontradas: 29. Simbologia aplicada com sucesso na camada: mapbiomas-brazil-collection-100-braganca-2024 Simbologia aplicada com sucesso na camada: mapbiomas-brazil-collection-100-braganca-2023 Processo de Simbologia Concluído.

Resultado final:

Todas as suas camadas agora estão com a simbologia oficial do MapBiomas aplicada automaticamente.

Resultado final com simbologia aplicada

Vantagens desta Abordagem

  • Velocidade: Aplica simbologia em dezenas de camadas em segundos
  • Padronização: Garante cores consistentes com a legenda oficial
  • Reprodutibilidade: Mesmos parâmetros geram mesmos resultados
  • Escalabilidade: Funciona para qualquer quantidade de camadas
  • Automação: Reduz trabalho manual e possibilidade de erros

Baixe os Arquivos do Tutorial

Acesse o repositório no GitHub para baixar o script, dados de exemplo e a legenda oficial.

Ver no GitHub

Conclusão

A automação de tarefas repetitivas é essencial para profissionais de geoprocessamento que trabalham com análises temporais extensas. Este tutorial demonstrou como o PyQGIS pode transformar horas de trabalho manual em segundos de processamento automatizado.

Espero que esta metodologia seja útil em seus projetos. Se tiver dúvidas ou sugestões, sinta-se à vontade para entrar em contato.

Contato

Entre em contato para mais informações sobre geoprocessamento e análise espacial