<div dir="ltr">Hi,<div><br></div><div>I ran into something confusing when using gdal-2.2.0 to generate Cloud Optimized GeoTIFFs following the instructions at: <a href="https://trac.osgeo.org/gdal/wiki/CloudOptimizedGeoTIFF">https://trac.osgeo.org/gdal/wiki/CloudOptimizedGeoTIFF</a></div><div><div><br></div><div>Here's what I did:</div><div><br></div><div>1. Fetch an image:</div><div>env CPL_VSIL_CURL_ALLOWED_EXTENSIONS=tif GDAL_DISABLE_READDIR_ON_OPEN=YES VSI_CACHE=TRUE gdal_translate <a href="https://github.com/mapbox/rasterio/raw/master/tests/data/RGB.byte.tif">https://github.com/mapbox/rasterio/raw/master/tests/data/RGB.byte.tif</a> rgb_byte_jpg.tif -co TILED=YES -co COMPRESS=JPEG -co PHOTOMETRIC=YCBCR<br></div><div><br></div><div>Not a cloud-optimized GeoTIFF as expected:</div><div><br></div><div>validate_cloud_optimized_geotiff.py  rgb_byte_jpg.tif<br></div><div>rgb_byte_jpg.tif is NOT a valid cloud optimized GeoTIFF : The file should have overviews<br></div><div><br></div><div><br></div><div>2. Add internal overviews:<br>gdaladdo -r average rgb_byte_jpg.tif 2 4 8 16 32<br></div><div> <br></div><div><div>validate_cloud_optimized_geotiff.py  rgb_byte_jpg.tif</div><div><br></div><div>rgb_byte_jpg.tif is NOT a valid cloud optimized GeoTIFF : The offset of the first block of overview of index 3 should be after the one of the overview of index 4</div></div><div><br></div><div><br></div><div>3.  Translate the image again copying source overviews added above.</div><div><br>gdal_translate rgb_byte_jpg.tif rgb_byte_jpg_trans.tif -co TILED=YES -co COMPRESS=JPEG -co PHOTOMETRIC=YCBCR -co COPY_SRC_OVERVIEWS=YES<br></div><div><br></div><div>Now the image _is_ cloud-optimized.</div><div><br></div><div><div>validate_cloud_optimized_geotiff.py  rgb_byte_jpg_trans.tif</div><div>rgb_byte_jpg_trans.tif is a valid cloud optimized GeoTIFF</div></div><div><br></div><div><br></div><div>I expected the image to be "cloud optimized" at step 2.  Why do I need an additional translate?</div><div><br></div><div><br></div><div>Notes:</div><div><br></div><div>* I see similar behavior for COMPRESS=DEFLATE.</div><div>* Thinking that the default block size (256) was too big for the tiny 25x23 overview, I set this on the initial translate, but I see the same behavior:</div><div> -co BLOCKXSIZE=16 -co BLOCKYSIZE=16 --config GDAL_TIFF_OVR_BLOCKSIZE 16</div><div>* gdal-2.2.0 configured with "--with-libtiff=internal"</div><div>* Compiler::</div><div>Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1</div><div>Apple LLVM version 8.1.0 (clang-802.0.42)</div><div>Target: x86_64-apple-darwin16.5.0</div><div>Thread model: posix</div><div>InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin</div><div><br></div><div><div>Thanks,</div><div class="gmail_signature">Pete</div></div>
</div></div>