<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
span.Shkpostityyli19
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 2.0cm 70.85pt 2.0cm;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="FI" link="blue" vlink="purple" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">Hi,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US">There are documentation about overviews in
<a href="https://gdal.org/drivers/raster/cog.html">https://gdal.org/drivers/raster/cog.html</a>,
<a href="https://gdal.org/drivers/raster/gtiff.html">https://gdal.org/drivers/raster/gtiff.html</a>, and
<a href="https://gdal.org/programs/gdal_translate.html">https://gdal.org/programs/gdal_translate.html</a>. Probably in other places, too, but reading those carefully is a good start. They deal also a bit with zoom levels.
<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US">What happens when a client opens an image with only one overview [16] is totally up to the client. It knows that the 1/16 downsampled version is available and it may decide to use the
 closest available overview: first full resolution till 1/8 and then jump to use 1/16. This is the AUTO approach of gdal_translate. Some other client would prefer better quality and use the full resolution up till 1/16 to avoid upsampling data that has downsampled
 earlier.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US">The COG driver has options for creating the overviews to match with the zoom levels of the selected tiling schema. Then there will be no need to resample the overview data again when
 the client makes zoom level based requests.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US">-Jukka Rahkonen-<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b>Lähettäjä:</b> gdal-dev <gdal-dev-bounces@lists.osgeo.org>
<b>Puolesta </b>James Sammone via gdal-dev<br>
<b>Lähetetty:</b> sunnuntai 8. lokakuuta 2023 1.02<br>
<b>Vastaanottaja:</b> gdal-dev@lists.osgeo.org<br>
<b>Aihe:</b> [gdal-dev] The relationship between overview levels and zoom levels?<o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">I'm not sure if this is the best channel to ask this question as it might be beyond the scope, but I've asked it in a few others and have had no responses aside from others also being curious.<o:p></o:p></p>
<div>
<div>
<div>
<p>I am trying to understand the relationship between overviews and zoom levels so I know how to make more efficient Cloud Optimized GeoTIFFs. Using gdaladdo or gdal.BuildOverviews(), I can create overviews at [2,4,8,16] or at just [16]. From my understanding,
 this means the size is being divided by those values to provide downsample arrays of the original source. In the first example [2,4,8,16], I've created 4 separate overview arrays into the GeoTIFF that are 2x, 4x, 8x, and 16x downsampled. And in the second
 example using only [16], I've built one overview array into the GeoTIFF that is 16x downsampled.
<o:p></o:p></p>
<p>How can I understand how these overviews are applied when it comes to zoom levels? Does the 16x downsample appear sooner in the second example when zooming out than for the first example due to being first in order? Or do the 16x downsamples appear at the
 same zoom level for both cases but the second example has additional 2x, 4x, and 8x downsamples that also appear before getting there?<o:p></o:p></p>
<p>Thanks for any insight into this anyone can provide. Despite using overviews all the time, I've struggled with this for a while and had largely consigned to not understanding it.<o:p></o:p></p>
<p>Best, <o:p></o:p></p>
<p>James<o:p></o:p></p>
</div>
</div>
</div>
</div>
</div>
</body>
</html>