<div dir="ltr"><div>This was my mistake. I had set `GDAL_DISABLE_READDIR_ON_OPEN=EMPTY_DIR`, which was preventing GDAL from noticing the .vrt.ovr file I had generated.</div><div><br></div><div>So, the answer is that the .vrt.ovr is just a TIF file, and it can be generated via gdal_translate and additional overviews added to it via gdaladdo 👍</div><div><br></div><div>Thanks :)<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, 17 Jul 2024 at 19:59, Craig de Stigter <<a href="mailto:craig.destigter@koordinates.com">craig.destigter@koordinates.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Hi folks</div><div><br></div><div>I have a VRT which is a mosaic of several thousand s3-stored COGs. Doing any kind of low-res downsampling from this VRT causes very slow performance and high memory usage because it causes requests to all the individual source tiles.</div><div><br></div><div>I'd like to add external overviews to the VRT via a `.vrt.ovr` file – and it appears I can do this with gdaladdo.</div><div><br></div><div>However, a naive call to gdaladdo seems to ignore the overviews on all the source files, rendering the overviews by downloading every pixel from the full-size sources. This is a nonstarter in this environment where the full set of source tiles is enormous and remote.<br></div><div><br></div><div>So, two questions:<br></div><div>1. Is there a way to force gdaladdo to use the COG overviews from the source VRT's source tiles?</div><div>2. If not, are there any other ways to generate a `.vrt.ovr` file which would use the source overviews? I have tried using gdal_translate to produce a .tif of the right pixel size and then renaming it to `.vrt.ovr`, but it doesn't seem to be used by GDAL – so I guess there's more to `ovr` files than just TIF files with the right name!</div><div><br><span class="gmail_signature_prefix">-- </span><br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px">Regards,</div><div style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px">Craig</div><div style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px"><br></div><div style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px">Platform Engineer<br></div><div style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px">Koordinates</div><div style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px"><br></div><div style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px"><a href="tel:+64%2021%20256%209488" style="color:rgb(17,85,204)" target="_blank">+64 21 256 9488</a> / <a href="http://koordinates.com/" style="color:rgb(17,85,204)" target="_blank">koordinates.com</a> / <a href="https://twitter.com/koordinates" style="color:rgb(17,85,204)" target="_blank">@koordinates</a></div></div></div></div></div>
</blockquote></div><br clear="all"><br><span class="gmail_signature_prefix">-- </span><br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px">Regards,</div><div style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px">Craig</div><div style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px"><br></div><div style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px">Platform Engineer<br></div><div style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px">Koordinates</div><div style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px"><br></div><div style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px"><a href="tel:+64%2021%20256%209488" style="color:rgb(17,85,204)" target="_blank">+64 21 256 9488</a> / <a href="http://koordinates.com/" style="color:rgb(17,85,204)" target="_blank">koordinates.com</a> / <a href="https://twitter.com/koordinates" style="color:rgb(17,85,204)" target="_blank">@koordinates</a></div></div></div>