Dados raster estão entre os datasets mais pesados do mundo GIS. Ortomosaicos, imagens de satélite e modelos digitais de elevação frequentemente possuem dezenas ou até centenas de gigabytes.

Historicamente, trabalhar com esses arquivos sempre foi um desafio para profissionais de geotecnologia. Entre os principais problemas estão:

  • Leitura lenta de arquivos grandes
  • Alto consumo de disco
  • Necessidade de armazenamento local
  • Dificuldade de uso em ambientes cloud
  • Baixa escalabilidade em servidores GIS

Foi nesse cenário que surgiu o Cloud Optimized GeoTIFF (COG).

Hoje o COG é considerado um dos formatos mais importantes para infraestruturas modernas de dados geoespaciais, permitindo trabalhar com rasters gigantes de forma muito mais eficiente.

Neste artigo vamos entender:

  • O que é COG
  • Como ele funciona
  • Por que ele é muito mais rápido
  • Vantagens e desvantagens
  • Como criar um COG
  • Como usar COG com servidores GIS
  • Impacto real na performance para usuários

1. O problema dos rasters tradicionais

Um GeoTIFF tradicional não foi projetado para acesso remoto eficiente.

Imagine um ortomosaico de 20 GB. Um usuário acessa apenas uma pequena área no mapa. O que acontece internamente:



Mesmo que o usuário precise de apenas 1% da imagem, o servidor pode acabar lendo uma grande parte do arquivo. Isso gera:

  • Alto I/O de disco
  • Grande uso de CPU
  • Lentidão no acesso
  • Pouca escalabilidade

2. O que é Cloud Optimized GeoTIFF (COG)

O Cloud Optimized GeoTIFF (COG) é uma variação do formato GeoTIFF otimizada para acesso eficiente via rede. Ele foi projetado para permitir que aplicações leiam apenas os pedaços necessários do arquivo. Em vez de carregar o raster inteiro, o cliente acessa somente os blocos relevantes.

Isso permite acessar rasters muito grandes diretamente em:

  • Servidores HTTP
  • Object Storage
  • Infraestruturas Cloud

Sem precisar baixar o arquivo completo.

3. Como o COG funciona internamente

A performance do COG depende de três características principais.

3.1 Tiling interno

No COG o raster é dividido em blocos menores chamados de tiles.

Esses blocos normalmente possuem tamanho como:

512 x 512 pixels

Quando um cliente pede uma área específica do mapa, apenas os tiles necessários são lidos.

3.2 Overviews (pirâmide de resolução)

COGs normalmente possuem overviews internas. Isso significa que versões reduzidas da imagem são armazenadas dentro do próprio arquivo. Exemplo:



Quando o usuário está visualizando o mapa em escalas menores, o servidor lê apenas as versões reduzidas. Isso reduz drasticamente:

  • Leitura de dados
  • Tempo de renderização
  • Consumo de CPU

3.3 HTTP Range Requests

Uma das principais características do COG é permitir leitura parcial do arquivo via HTTP. Exemplo de requisição:

GET /imagem.tif
Range: bytes=10000-20000

O servidor retorna apenas aquela parte do arquivo.

Isso permite acessar COGs sem baixar o raster inteiro diretamente em:

  • Servidores web
  • S3
  • MinIO
  • Cloud Storage

4. Comparação prática: GeoTIFF vs COG

Comparação visual – GeoTIFF vs COG

4.1 GeoTIFF tradicional



Problemas:

  • Alto uso de disco
  • Leitura pesada
  • Baixa escalabilidade

4.2 COG



Benefícios:

  • Leitura mínima de dados
  • Muito mais rápido
  • Ideal para cloud

5. Vantagens do COG

Principais vantagens:

  • Leitura parcial do raster
  • Acesso eficiente via HTTP
  • Ideal para cloud computing
  • Integração com object storage
  • Redução de I/O de disco
  • Excelente para grandes datasets

6. Desvantagens

Apesar das vantagens, existem alguns pontos a considerar:

  • Criação pode ser demorada para rasters muito grandes
  • Arquivos podem ficar maiores devido às overviews
  • Não é ideal para edição constante
  • Exige processamento inicial

Por isso o COG é mais indicado para dados finais de publicação.

7. Como criar um COG

O primeiro passo é converter o raster tradicional para Cloud Optimized GeoTIFF (COG). A maneira mais comum é usar o GDAL:

gdal_translate input.tif output_cog.tif \
-of COG \
-co COMPRESS=LZW \
-co BLOCKSIZE=512 \
-co BIGTIFF=YES

7.1 Parâmetros importantes

Parâmetro Função
-of COG gera um Cloud Optimized GeoTIFF
COMPRESS=LZW compressão sem perdas
BLOCKSIZE=512 otimização para leitura em blocos
BIGTIFF=YES necessário para arquivos grandes

7.2 Validação do COG

Depois da conversão, é importante verificar se o arquivo foi gerado corretamente, da seguinte forma:

gdalinfo arquivo_cog.tif

Se aparecer:

LAYOUT=COG

Significa que o arquivo foi criado corretamente.

8. COG e Object Storage

Uma das maiores vantagens do COG é funcionar perfeitamente com Object Storage.

  • S3
  • MinIO
  • Google Cloud Storage
  • Azure Blob Storage

Arquitetura típica:



Isso permite criar infraestruturas altamente escaláveis.

9. COG com servidores GIS

Servidores como GeoServer podem acessar COGs diretamente via HTTP.

Fluxo típico:



Uma grande vantagem é que o raster não precisa ficar no servidor GIS.

10. COG substitui o Cache (GWC)?

Não. O COG e cache resolvem problemas diferentes. Enquanto o COG otimiza leitura do raster, o cache otimiza entrega de mapas renderizados.

Arquitetura recomendada:



11. Benchmark de performance

Vamos comparar três cenários. Vamos supor que você tem um ortomosaico de 20GB. Como seria a performance dele nos cenários abaixo:

GeoTIFF tradicional

Primeiro acesso:

3 a 8 segundos

Alta leitura de disco.

COG

Primeiro acesso:

0.5 a 2 segundos

Leitura parcial.

COG + GeoWebCache

Após cache:

20 a 80 milissegundos

Praticamente instantâneo.

12. Conclusão

O Cloud Optimized GeoTIFF se tornou um dos formatos mais importantes para infraestruturas modernas de dados raster.

Ele permite acesso eficiente a grandes rasters, integração com cloud e publicação escalável em servidores GIS.

Quando combinado com object storage e servidores como GeoServer, o COG possibilita arquiteturas altamente performáticas para distribuição de dados geoespaciais.