{"id":10205,"date":"2026-03-13T17:02:00","date_gmt":"2026-03-13T20:02:00","guid":{"rendered":"https:\/\/www.fernandoquadro.com.br\/html\/?p=10205"},"modified":"2026-03-13T17:02:00","modified_gmt":"2026-03-13T20:02:00","slug":"o-que-e-cog-e-por-que-ele-esta-mudando-a-forma-de-publicar-rasters","status":"publish","type":"post","link":"https:\/\/www.fernandoquadro.com.br\/html\/2026\/03\/13\/o-que-e-cog-e-por-que-ele-esta-mudando-a-forma-de-publicar-rasters\/","title":{"rendered":"O que \u00e9 COG e por que ele est\u00e1 mudando a forma de publicar rasters"},"content":{"rendered":"<p>Dados raster est\u00e3o entre os datasets mais pesados do mundo GIS. Ortomosaicos, imagens de sat\u00e9lite e modelos digitais de eleva\u00e7\u00e3o frequentemente possuem <strong>dezenas ou at\u00e9 centenas de gigabytes<\/strong>.<\/p>\n<p>Historicamente, trabalhar com esses arquivos sempre foi um desafio para profissionais de geotecnologia. Entre os principais problemas est\u00e3o:<\/p>\n<ul>\n<li>Leitura lenta de arquivos grandes<\/li>\n<li>Alto consumo de disco<\/li>\n<li>Necessidade de armazenamento local<\/li>\n<li>Dificuldade de uso em ambientes cloud<\/li>\n<li>Baixa escalabilidade em servidores GIS<\/li>\n<\/ul>\n<p>Foi nesse cen\u00e1rio que surgiu o <strong>Cloud Optimized GeoTIFF (COG)<\/strong>.<\/p>\n<p>Hoje o COG \u00e9 considerado um dos formatos mais importantes para infraestruturas modernas de dados geoespaciais, permitindo trabalhar com rasters gigantes de forma muito mais eficiente.<\/p>\n<p>Neste artigo vamos entender:<\/p>\n<ul>\n<li>O que \u00e9 COG<\/li>\n<li>Como ele funciona<\/li>\n<li>Por que ele \u00e9 muito mais r\u00e1pido<\/li>\n<li>Vantagens e desvantagens<\/li>\n<li>Como criar um COG<\/li>\n<li>Como usar COG com servidores GIS<\/li>\n<li>Impacto real na performance para usu\u00e1rios<\/li>\n<\/ul>\n<h2>1. O problema dos rasters tradicionais<\/h2>\n<p>Um GeoTIFF tradicional n\u00e3o foi projetado para acesso remoto eficiente.<\/p>\n<p>Imagine um ortomosaico de <strong>20 GB<\/strong>. Um usu\u00e1rio acessa apenas uma pequena \u00e1rea no mapa. O que acontece internamente:<\/p>\n<p><center><br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2026\/03\/fluxo_rasters_tradicionais_01-1024x683.png\" alt=\"\" width=\"500\" height=\"334\" class=\"aligncenter size-large wp-image-10241\" srcset=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2026\/03\/fluxo_rasters_tradicionais_01-1024x683.png 1024w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2026\/03\/fluxo_rasters_tradicionais_01-300x200.png 300w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2026\/03\/fluxo_rasters_tradicionais_01-768x512.png 768w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2026\/03\/fluxo_rasters_tradicionais_01-600x400.png 600w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2026\/03\/fluxo_rasters_tradicionais_01-945x630.png 945w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2026\/03\/fluxo_rasters_tradicionais_01.png 1536w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><br \/>\n<\/center><\/p>\n<p>Mesmo que o usu\u00e1rio precise de apenas <strong>1% da imagem<\/strong>, o servidor pode acabar <strong>lendo uma grande parte do arquivo<\/strong>. Isso gera:<\/p>\n<ul>\n<li>Alto I\/O de disco<\/li>\n<li>Grande uso de CPU<\/li>\n<li>Lentid\u00e3o no acesso<\/li>\n<li>Pouca escalabilidade<\/li>\n<\/ul>\n<h2>2. O que \u00e9 Cloud Optimized GeoTIFF (COG)<\/h2>\n<p>O Cloud Optimized GeoTIFF (COG) \u00e9 uma varia\u00e7\u00e3o do formato GeoTIFF otimizada para acesso eficiente via rede. Ele foi projetado para permitir que aplica\u00e7\u00f5es leiam <strong>apenas os peda\u00e7os necess\u00e1rios do arquivo<\/strong>. Em vez de carregar o raster inteiro, o cliente <strong>acessa somente os blocos relevantes<\/strong>.<\/p>\n<p>Isso permite acessar rasters muito grandes diretamente em:<\/p>\n<ul>\n<li>Servidores HTTP<\/li>\n<li>Object Storage<\/li>\n<li>Infraestruturas Cloud<\/li>\n<\/ul>\n<p>Sem precisar baixar o arquivo completo.<\/p>\n<h2>3. Como o COG funciona internamente<\/h2>\n<p>A performance do COG depende de tr\u00eas caracter\u00edsticas principais.<\/p>\n<h4>3.1 Tiling interno<\/h4>\n<p>No COG o raster \u00e9 dividido em blocos menores chamados de <em>tiles<\/em>.<\/p>\n<p>Esses blocos normalmente possuem tamanho como:<\/p>\n<pre>512 x 512 pixels<\/pre>\n<p>Quando um cliente pede uma \u00e1rea espec\u00edfica do mapa, <strong>apenas os tiles necess\u00e1rios s\u00e3o lidos<\/strong>.<\/p>\n<h4>3.2 Overviews (pir\u00e2mide de resolu\u00e7\u00e3o)<\/h4>\n<p>COGs normalmente possuem <strong>overviews internas<\/strong>. Isso significa que vers\u00f5es reduzidas da imagem s\u00e3o armazenadas dentro do pr\u00f3prio arquivo. Exemplo:<\/p>\n<p><center><br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2026\/03\/cog_overviews_600px.png\" alt=\"\" width=\"600\" height=\"281\" class=\"aligncenter size-full wp-image-10247\" srcset=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2026\/03\/cog_overviews_600px.png 600w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2026\/03\/cog_overviews_600px-300x141.png 300w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><br \/>\n<\/center><\/p>\n<p>Quando o usu\u00e1rio est\u00e1 visualizando o mapa em escalas menores, o servidor l\u00ea apenas as vers\u00f5es reduzidas. Isso reduz drasticamente:<\/p>\n<ul>\n<li>Leitura de dados<\/li>\n<li>Tempo de renderiza\u00e7\u00e3o<\/li>\n<li>Consumo de CPU<\/li>\n<\/ul>\n<h4>3.3 HTTP Range Requests<\/h4>\n<p>Uma das principais caracter\u00edsticas do COG \u00e9 permitir leitura parcial do arquivo via HTTP. Exemplo de requisi\u00e7\u00e3o:<\/p>\n<pre>\r\nGET \/imagem.tif\r\nRange: bytes=10000-20000\r\n<\/pre>\n<p>O servidor retorna apenas aquela parte do arquivo.<\/p>\n<p> Isso permite acessar COGs sem baixar o raster inteiro diretamente em:<\/p>\n<ul>\n<li>Servidores web<\/li>\n<li>S3<\/li>\n<li>MinIO<\/li>\n<li>Cloud Storage<\/li>\n<\/ul>\n<h2>4. Compara\u00e7\u00e3o pr\u00e1tica: GeoTIFF vs COG<\/h2>\n<div id=\"attachment_10239\" style=\"width: 840px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-10239\" src=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2026\/03\/geotiff_vs_cog.png\" alt=\"\" width=\"830\" height=\"309\" class=\"size-full wp-image-10239\" srcset=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2026\/03\/geotiff_vs_cog.png 830w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2026\/03\/geotiff_vs_cog-300x112.png 300w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2026\/03\/geotiff_vs_cog-768x286.png 768w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2026\/03\/geotiff_vs_cog-600x223.png 600w\" sizes=\"auto, (max-width: 830px) 100vw, 830px\" \/><p id=\"caption-attachment-10239\" class=\"wp-caption-text\">Compara\u00e7\u00e3o visual &#8211; GeoTIFF vs COG<\/p><\/div>\n<h4>4.1 GeoTIFF tradicional<\/h4>\n<p><center><br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2026\/03\/fluxo_rasters_tradicionais_01-1024x683.png\" alt=\"\" width=\"500\" height=\"334\" class=\"aligncenter size-large wp-image-10241\" srcset=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2026\/03\/fluxo_rasters_tradicionais_01-1024x683.png 1024w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2026\/03\/fluxo_rasters_tradicionais_01-300x200.png 300w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2026\/03\/fluxo_rasters_tradicionais_01-768x512.png 768w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2026\/03\/fluxo_rasters_tradicionais_01-600x400.png 600w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2026\/03\/fluxo_rasters_tradicionais_01-945x630.png 945w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2026\/03\/fluxo_rasters_tradicionais_01.png 1536w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><br \/>\n<\/center><\/p>\n<p>Problemas:<\/p>\n<ul>\n<li>Alto uso de disco<\/li>\n<li>Leitura pesada<\/li>\n<li>Baixa escalabilidade<\/li>\n<\/ul>\n<h4>4.2 COG<\/h4>\n<p><center><br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2026\/03\/fluxo_rasters_cog_01.png\" alt=\"\" width=\"500\" height=\"333\" class=\"aligncenter size-full wp-image-10249\" srcset=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2026\/03\/fluxo_rasters_cog_01.png 500w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2026\/03\/fluxo_rasters_cog_01-300x200.png 300w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><br \/>\n<\/center><\/p>\n<p>Benef\u00edcios:<\/p>\n<ul>\n<li>Leitura m\u00ednima de dados<\/li>\n<li>Muito mais r\u00e1pido<\/li>\n<li>Ideal para cloud<\/li>\n<\/ul>\n<h2>5. Vantagens do COG<\/h2>\n<p>Principais vantagens:<\/p>\n<ul>\n<li>Leitura parcial do raster<\/li>\n<li>Acesso eficiente via HTTP<\/li>\n<li>Ideal para cloud computing<\/li>\n<li>Integra\u00e7\u00e3o com object storage<\/li>\n<li>Redu\u00e7\u00e3o de I\/O de disco<\/li>\n<li>Excelente para grandes datasets<\/li>\n<\/ul>\n<h2>6. Desvantagens<\/h2>\n<p>Apesar das vantagens, existem alguns pontos a considerar:<\/p>\n<ul>\n<li>Cria\u00e7\u00e3o pode ser demorada para rasters muito grandes<\/li>\n<li>Arquivos podem ficar maiores devido \u00e0s overviews<\/li>\n<li>N\u00e3o \u00e9 ideal para edi\u00e7\u00e3o constante<\/li>\n<li>Exige processamento inicial<\/li>\n<\/ul>\n<p>Por isso o COG \u00e9 mais indicado para <strong>dados finais de publica\u00e7\u00e3o<\/strong>.<\/p>\n<h2>7. Como criar um COG<\/h2>\n<p>O primeiro passo \u00e9 converter o raster tradicional para Cloud Optimized GeoTIFF (COG). A maneira mais comum \u00e9 usar o GDAL:<\/p>\n<pre>\r\ngdal_translate input.tif output_cog.tif \\\r\n-of COG \\\r\n-co COMPRESS=LZW \\\r\n-co BLOCKSIZE=512 \\\r\n-co BIGTIFF=YES\r\n<\/pre>\n<h4>7.1 Par\u00e2metros importantes<\/h4>\n<table>\n<thead>\n<tr>\n<th>Par\u00e2metro<\/th>\n<th>Fun\u00e7\u00e3o<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>-of COG<\/td>\n<td>gera um Cloud Optimized GeoTIFF<\/td>\n<\/tr>\n<tr>\n<td>COMPRESS=LZW<\/td>\n<td>compress\u00e3o sem perdas<\/td>\n<\/tr>\n<tr>\n<td>BLOCKSIZE=512<\/td>\n<td>otimiza\u00e7\u00e3o para leitura em blocos<\/td>\n<\/tr>\n<tr>\n<td>BIGTIFF=YES<\/td>\n<td>necess\u00e1rio para arquivos grandes<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h4>7.2 Valida\u00e7\u00e3o do COG<\/h4>\n<p>\nDepois da convers\u00e3o, \u00e9 importante verificar se o arquivo foi gerado corretamente, da seguinte forma:\n<\/p>\n<pre>\r\ngdalinfo arquivo_cog.tif\r\n<\/pre>\n<p>Se aparecer:<\/p>\n<pre>LAYOUT=COG<\/pre>\n<p>Significa que o arquivo foi criado corretamente.<\/p>\n<h2>8. COG e Object Storage<\/h2>\n<p>Uma das maiores vantagens do COG \u00e9 funcionar perfeitamente com Object Storage.<\/p>\n<ul>\n<li>S3<\/li>\n<li>MinIO<\/li>\n<li>Google Cloud Storage<\/li>\n<li>Azure Blob Storage<\/li>\n<\/ul>\n<p>Arquitetura t\u00edpica:<\/p>\n<p><center><br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2026\/03\/fluxo_geotiff_cog_gs_600px.png\" alt=\"\" width=\"600\" height=\"102\" class=\"aligncenter size-full wp-image-10251\" srcset=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2026\/03\/fluxo_geotiff_cog_gs_600px.png 600w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2026\/03\/fluxo_geotiff_cog_gs_600px-300x51.png 300w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><br \/>\n<\/center><\/p>\n<p>Isso permite criar infraestruturas altamente escal\u00e1veis.<\/p>\n<h2>9. COG com servidores GIS<\/h2>\n<p>Servidores como GeoServer podem acessar COGs diretamente via HTTP.<\/p>\n<p>Fluxo t\u00edpico:<\/p>\n<p><center><br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2026\/03\/fluxo_geotiff_cog_gs02.png\" alt=\"\" width=\"927\" height=\"233\" class=\"aligncenter size-full wp-image-10253\" srcset=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2026\/03\/fluxo_geotiff_cog_gs02.png 927w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2026\/03\/fluxo_geotiff_cog_gs02-300x75.png 300w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2026\/03\/fluxo_geotiff_cog_gs02-768x193.png 768w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2026\/03\/fluxo_geotiff_cog_gs02-600x151.png 600w\" sizes=\"auto, (max-width: 927px) 100vw, 927px\" \/><br \/>\n<\/center><\/p>\n<p>Uma grande vantagem \u00e9 que <strong>o raster n\u00e3o precisa ficar no servidor GIS<\/strong>.<\/p>\n<h2>10. COG substitui o Cache (GWC)?<\/h2>\n<p>N\u00e3o. O COG e cache resolvem problemas diferentes. Enquanto o COG otimiza leitura do raster, o cache otimiza entrega de mapas renderizados.<\/p>\n<p>Arquitetura recomendada:<\/p>\n<p><center><br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2026\/03\/fluxo_gwc_900px.png\" alt=\"\" width=\"900\" height=\"268\" class=\"aligncenter size-full wp-image-10257\" srcset=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2026\/03\/fluxo_gwc_900px.png 900w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2026\/03\/fluxo_gwc_900px-300x89.png 300w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2026\/03\/fluxo_gwc_900px-768x229.png 768w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2026\/03\/fluxo_gwc_900px-600x179.png 600w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><br \/>\n<\/center><\/p>\n<h2>11. Benchmark de performance<\/h2>\n<p>Vamos comparar tr\u00eas cen\u00e1rios. Vamos supor que voc\u00ea tem um ortomosaico de 20GB. Como seria a performance dele nos cen\u00e1rios abaixo:<\/p>\n<h4>GeoTIFF tradicional<\/h4>\n<p>Primeiro acesso:<\/p>\n<pre>3 a 8 segundos<\/pre>\n<p>Alta leitura de disco.<\/p>\n<h4>COG<\/h4>\n<p>Primeiro acesso:<\/p>\n<pre>0.5 a 2 segundos<\/pre>\n<p>Leitura parcial.<\/p>\n<h4>COG + GeoWebCache<\/h4>\n<p>Ap\u00f3s cache:<\/p>\n<pre>20 a 80 milissegundos<\/pre>\n<p>Praticamente instant\u00e2neo.<\/p>\n<h2>12. Conclus\u00e3o<\/h2>\n<p>O <strong>Cloud Optimized GeoTIFF<\/strong> se tornou um dos formatos mais importantes para infraestruturas modernas de dados raster.<\/p>\n<p>Ele permite acesso eficiente a grandes rasters, integra\u00e7\u00e3o com cloud e publica\u00e7\u00e3o escal\u00e1vel em servidores GIS.<\/p>\n<p>Quando <strong>combinado com object storage e servidores como GeoServer<\/strong>, o <strong>COG possibilita arquiteturas altamente perform\u00e1ticas<\/strong> para distribui\u00e7\u00e3o de dados geoespaciais.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dados raster est\u00e3o entre os datasets mais pesados do mundo GIS. Ortomosaicos, imagens de sat\u00e9lite e modelos digitais de eleva\u00e7\u00e3o frequentemente possuem dezenas ou at\u00e9 centenas de gigabytes. Historicamente, trabalhar com esses arquivos sempre foi um desafio para profissionais de&#8230; <a class=\"more-link\" href=\"https:\/\/www.fernandoquadro.com.br\/html\/2026\/03\/13\/o-que-e-cog-e-por-que-ele-esta-mudando-a-forma-de-publicar-rasters\/\">Continue Reading &rarr;<\/a><\/p>\n","protected":false},"author":275,"featured_media":10261,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[24],"tags":[356,208,187],"class_list":["post-10205","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-gis","tag-cog","tag-geoserver","tag-raster"],"_links":{"self":[{"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/posts\/10205","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/users\/275"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/comments?post=10205"}],"version-history":[{"count":48,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/posts\/10205\/revisions"}],"predecessor-version":[{"id":10260,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/posts\/10205\/revisions\/10260"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/media\/10261"}],"wp:attachment":[{"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/media?parent=10205"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/categories?post=10205"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/tags?post=10205"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}