如何解决GDAL - 多线程 gdalbuildvrt 和 gdalwarp
我需要将许多位于 S3 存储上的 geotiff 拼接到一个大的 geotif 中。
目前我使用以下命令
gdalbuildvrt -input_file_list filelist.txt -overwrite /tmp/output.vrt
gdalwarp -co COMPRESS=LZW /tmp/output.vrt -overwrite /tmp/result.tif
有效但非常缓慢。我们在 S3 上处理大约 5-11k geotiff。 我如何并行执行此操作。 CPU 和网络都没有接近极限,所以我假设它以一种“单线程模式”运行。 我看到 gdalwarp 有多个选项,但 gdalbuildvrt 没有。
感谢您的帮助!
解决方法
GDAL
并不天真地支持并发计算 - 但是在某些情况下您可以使用多个线程进行压缩。请参阅this nice answer on gis.stackexchange.com和relevant documentation。
所以你需要自己实现并发处理,这取决于你要使用的框架/软件/语言/等。因此,在这种情况下无法回答这个问题,您需要提出一个更简洁/具体的问题。
一个注意事项:当从 S3 读取 11k GeoTIFF 时,适当的格式(例如 Cloud Optimized Geotiff)和限制 API 调用的数量(例如通过重用线程和进程的凭据)可能会产生巨大的性能和成本-节省影响。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。