<div dir="ltr"><div dir="ltr"><div>Hello,</div><div><br></div><div>If I may, I would like to a few questions regarding how best to use the GDALWarp function (<a href="https://github.com/OSGeo/gdal/blob/master/gdal/apps/gdalwarp_lib.cpp#L748-L770">https://github.com/OSGeo/gdal/blob/master/gdal/apps/gdalwarp_lib.cpp#L748-L770</a>) and the datasets that it creates.</div><div><br></div><div>In particular, I am experimenting with using such datasets to read warped extents on an on-demand basis and in a thread-safe way.</div><div><br></div><div>I have found that the VRT output format is lazy with respect to computation and allocation which is great for my use case, but it appears not to be thread safe with respect to reading from a single warped dataset from multiple threads.<br></div><div><br></div><div>I have found that the MEM output format is safe with respect to concurrent reads, but is eager in its allocation and computation.</div><div><br></div><div>I have found that the GTIFF output format is also safe with respect to concurrent reads (but CPU utilization is low so it looks like there is internal locking), and it is once again eager with respect to allocation and computation. <br></div><div><br></div><div>What I would like to find is way to create a dataset that is both lazy and safe with respect to concurrent reads.  Can anyone share any suggestions with me?</div><div><br></div><div>(Note: the foregoing statements are based on experiments that I have done, not based on looking at the code; if any of the above is incorrect I am very happy to be corrected.)</div><div><br></div><div>On a more meta level, are datasets created by GDALWarp the right approach (if I want to lazy get warped extents in a thread-safe manner) or should I look elsewhere?</div><div><br></div><div>Thank you,</div><div>James McClain</div><div><br></div><div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr">"I prayed for freedom for twenty years, but received no answer until I prayed with my legs."<br>     -- Frederick Douglass<br><br></div></div></div></div></div></div></div>