0

我需要将很多位于 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 没有。

谢谢你的帮助!

4

2 回答 2

0

GDAL并不天真地支持计算的并发性 - 但是在某些情况下您可以使用多个线程进行压缩。请参阅gis.stackexchange.com相关文档上的这个不错的答案。

因此,您需要自己实现并发处理,具体取决于您要使用的框架/软件/语言/等。因此,在这种情况下无法回答,您需要问一个更简洁/具体的问题。

注意:从 S3 读取 11k GeoTIFF 时,适当的格式(例如Cloud Optimized Geotiff)和限制 API 调用的数量(例如,通过重新使用线程和进程的凭据)可以产生巨大的性能和成本节约影响。

于 2021-04-13T09:41:27.903 回答
0

为了加快进程 ue gdal_translate 而不是 gdalwarp。此外,您应该实现一个平铺系统,为每个平铺创建一个 vrt,然后是 gdal_translate。然后最后用 vrt + gdal_translate 再次合并图块。

于 2021-12-16T17:10:51.060 回答