[gdal-dev] overview sizes for COG

Even Rouault even.rouault at spatialys.com
Tue Mar 19 16:39:11 PDT 2024


Michael,
> Hi, can we specify overview sizes exactly?

No, the BuildOverviews() interface onlys take an array of overview 
factors. It is up to the driver implementation to decide how it computes 
the overview size from the main raster size and overview factor.

The COG driver is a bit of a special case, since it automagically 
compute overviews if they don't exist in the source dataset, and doesn't 
take an explicit list of overview factors. It simply divides by two 
successively, with floor truncation: 
https://github.com/OSGeo/gdal/blob/master/frmts/gtiff/cogdriver.cpp#L1092

> I have this odd grid that is 36000x17999, and I get consequently yucky 
> overview sizes:
>
> gdal_create -outsize 36000 17999 -ot Int8 -co SPARSE_OK=YES -a_srs 
> EPSG:4326 -a_ullr 0 17999 0 36000 weird.tif
> gdal_translate weird.tif cog.tif  -of COG
> gdalinfo cog.tif | grep Overviews
> #  Overviews: 18000x8999, 9000x4499, 4500x2249, 2250x1124, 1125x562, 
> 562x281, 281x14
>
> Should I worry about this?

Probably not ? :-)

> Can the sizes be specified via Translate? (I can see how they could be 
> generated externally and bundled, but I'm looking for a way at this 
> high level).
I guess someone could potentially add a OVERVIEW_SIZES=W1xH1,W2xH2,... 
creation option to the COG driver if that was really needed...
>
> ( Maybe I shouldn't even care about the sizes ... and maybe I should 
> resample the grid to be a better overall size, but I consider that out 
> of scope here.)
>
> I'm comparing with other COG creators, e.g. odc which makes tidy 
> overviews ( I will explore how it's getting done).

It looks like they might use (previous_size + 1) / 2 (or ceil rounding)

-- 
http://www.spatialys.com
My software is free, but my time generally not.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/gdal-dev/attachments/20240320/47b483a2/attachment.htm>


More information about the gdal-dev mailing list