Como fazer um mapa de cheios e vazios na prática
Você já tentou mapear áreas ocupadas versus áreas livres em uma cidade e percebeu que os dados nunca se encaixam direito? Eu também. O mapa de cheios e vazios é basicamente isso: uma representação visual onde regiões preenchidas indicam presença de algo — infraestrutura, população, vegetação — e regiões vazias mostram ausência ou cobertura nula. A parte chata é que quase todo mundo subestima a complexidade de definir o que é "preenchido" de verdade. O processo começa com dados raster ou vetoriais. Se você tem shapefiles de uso do solo, por exemplo, basta criar uma classificação binária: aquilo que interessa vira 1 (cheio), o resto vira 0 (vazio). Ferramentas gratuitas como o QGIS fazem isso em poucos minutos com o processador de modelos. Mas aqui vai o problema que ninguém conta: a resolução dos dados determina tudo. Um mapa de cheios e vazios feito com dados de 30 metros do Landsat vai parecer completamente diferente do mesmo mapa com Sentinel-2 a 10 metros. A diferença não é estética — é informação real que some ou aparece dependendo da escala.
Mapa de cheios e vazios passo a passo
O primeiro passo é importar seus dados no QGIS. Depois, vá em Raster > Conversão > Converta para matriz. Se estiver usando vetores, a ferramenta Reproljetar pode ajudar a padronizar a projeção. Aí vem a classificação: Camada > Propriedades > Simbolização, escolha classificado e defina os limites. Para transformar em binário, use a calculadora raster: "(\"sua_camada@1\" > limiar) * 1". Isso gera uma imagem onde pixels acima do valor escolhido viram 1 e o resto vira 0. Depois disso, exporte como GeoTIFF e ajuste a paleta de cores para preto e branco. Preto para vazio, branco para cheio. Simples assim. O detalhe importante é o limiar. Escolher um valor arbitrário sem analisar a distribuição dos dados pode gerar mapas completamente enganosos. Eu já perdi meia manhã porque setei um índice de vegetação como limiar baseado em uma média geral, quando na realidade a área tinha duas estações distintas com valores radicalmente diferentes. A solução foi fazer um histograma da camada e dividir por estação ou zona, em vez de tratar tudo como um bloco só.
👉 Clique no botão abaixo para saber mais sobre o assunto!
Outro ponto que causa dor de cabeça é a borda. Pixels na transição entre cheio e vazio muitas vezes ficam fragmentados, criando aquele efeito serrilhado que piora a leitura do mapa. Aplicar um filtro de maioria com núcleo 3x3 ou 5x5 resolve na maior parte dos casos. No QGIS, é Raster > Análise > Filtro de maioria. Leva segundos e elimina a maioria dos ruídos pontuais. Se você precisa automatizar isso recorrentemente, o processador de modelos do QGIS ou scripts Python com rasterio e numpy economizam bastante tempo. Um fluxo que eu monto aqui leva cerca de 10 minutos para gerar um mapa limpo a partir de dados brutos, desde que a classificação já esteja definida. Sem automação, o mesmo trabalho leva pelo menos uma hora e meia, dependendo da quantidade de camadas e da complexidade dos dados de entrada.
O que mais vejo gente errando é não validar o resultado contra uma imagem de referência. Um mapa de cheios e vazios bonito no papel pode estar totalmente errado no terreno. Sobreponha ao Google Earth ou a uma imagem de satélite real e confira se as áreas marcadas como cheias realmente correspondem ao que existe. Às vezes o problema é simples: uma nuvem que foi classificada como vazio quando na verdade era vegetação sob cobertura parcial. Há também limitações que esse método carrega. Mapas binários perdem informação sobre intensidade. Uma área marcada como cheia pode ter 10% de cobertura ou 90%, e o mapa não mostra diferença. Se o objetivo é quantificar densidade ou extensão real, o binário não basta — aí convém usar classes intermediárias ou dados contínuos em vez de conversão pura.
Para quem precisa de algo mais robusto, ferramentas como Google Earth Engine permitem processar mapa de cheios e vazios em escala regional com índices NDVI, NDWI e outros, aplicando limiares automáticos por período. O custo computacional é menor e a precisão melhora consideravelmente, mas exige algum conhecimento de JavaScript ou Python básico para configurar os scripts.