Le 06/10/2022 à 07:55, thomas bonfort a écrit :
There are only very specific cases where it would be valid to directly
copy overview tiles, namely if both image sizes are an exact power of
2. I'll let Even contradict me if I'm wrong, but I highly doubt that
what you are trying to do is possible.
If your input files have the same overview levels and resolution,
gdalbuildvrt should already build a VRT with the <OverviewList> element
listing those overview levels
Demo with a file from GDAL autotest suite
$ gdal_translate autotest/gdrivers/data/small_world.tif left.tif -srcwin
0 0 200 200 -outsize 1024 0 -of COG
$ gdal_translate autotest/gdrivers/data/small_world.tif right.tif
-srcwin 200 0 200 200 -outsize 1024 0 -of COG
$ gdalbuildvrt out.vrt left.tif right.tif
$ grep Overview out.vrt
<OverviewList resampling="nearest">2</OverviewList>
$ gdalinfo out.vrt | grep Overview
Overviews: 1024x512
and that should be useable by the COG driver with -co
OVERVIEWS=FORCE_USE_EXISTING
Note however that the overview exposed by the VRT is a virtual overview:
so in the general case, there's no guarantee that the values of the
pixel exactly match those of the source overview, depending on the
spatial registration of each VRT source. If you have a nice mosaic of
adjacent sources with power-of-2 dimensions, then yes, you're in the
good situation.
But, if you were to produce a JPEG-compressed COG, don't expect
*lossless* copy of overviews in the case of JPEG compression for target
overviews: GDAL will get the decompressed values of the JPEG compressed
overviews of the sources and would re-compress them. In the above
mentioned perfect case, that could potentially be implemented (like
"gdal_translate input.jpeg output.tif -co COMPRESS=JPEG" does
currently), but it isn't and it would be a very specific non-trivial
code to write.
Even
regards,
Thomas
Le jeu. 6 oct. 2022, 05:58, Ian Reese <[email protected]> a écrit :
Hi GDAL,
Let's say I have two GTiff files in COG format:
f1.tif
f2.tif
f1.tif and f2.tif are created like so:
gdal_translate input.tif f1.tif \
-of COG \
-co BLOCKSIZE=256 \
-co COMPRESS=JPEG \
I can easily create a vrt of these two COGs and get the expected
behaviour where the VRT honours the overviews of the f1 and f2 COGs.
gdalbuildvrt cog.vrt f1.tif f2.tif
This is my question, is it possible to create a COG Tif from this
VRT that copies over the overviews from each COG in the VRT?
For example something like:
gdal_translate cog.vrt cog.tif -of COG -co
OVERVIEWS=FORCE_USE_EXISTING
I suspect this may not be possible. My guess is that translate is
confused by which overviews to use when creating the single
cog.tif? Or that when I created f1.tif and f2.tif I missed a setting?
I have tried many combinations to get this to work, but I think it
might be time to ask the experts. Any insight to this would be
greatly appreciated.
Cheer,
Ianto
--
Ian C Reese
https://xycarto.com
_______________________________________________
gdal-dev mailing list
[email protected]
https://lists.osgeo.org/mailman/listinfo/gdal-dev
_______________________________________________
gdal-dev mailing list
[email protected]
https://lists.osgeo.org/mailman/listinfo/gdal-dev
--
http://www.spatialys.com
My software is free, but my time generally not.
_______________________________________________
gdal-dev mailing list
[email protected]
https://lists.osgeo.org/mailman/listinfo/gdal-dev