Excellent!  Thanks for the answers.

When I've explored a bit more I might implement the overview sizes just so
we can match downstream tools (the current motivation is like-for-like
performance comparison, I haven't looked there but I think odc goes very
low level to eke out speed).

Cheers, Mike



On Wed, Mar 20, 2024 at 10:39 AM Even Rouault <even.roua...@spatialys.com>
wrote:

> 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.
>
>

-- 
Michael Sumner
Software and Database Engineer
Australian Antarctic Division
Hobart, Australia
e-mail: mdsum...@gmail.com
_______________________________________________
gdal-dev mailing list
gdal-dev@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/gdal-dev

Reply via email to