gdalwarp太慢(与gdal_merge相比)

时间:2014-03-21 11:18:24

标签: gis raster gdal

我有70多种TIFF格式的光栅图像,我正在尝试合并。

原作可以在这里找到: http://www.faa.gov/air_traffic/flight_info/aeronav/digital_products/vfr/

预处理后(pct2rgb,gdalwarp个别图表,gdal_translate剪切项圈)我尝试通过gdalwarp运行它们,使用如下命令拼接它们:

gdalwarp --config GDAL_CACHEMAX 3000 -overwrite -wm 3000 -r bilinear -srcnodata 0 -dstnodata 0 -wo "NUM_THREADS=3" /data/aeronav/sec/c/Albuquerque_c.tif .....70 other file names ...master.tif

处理12小时后:

创建321521P x 125647L的输出文件。 处理输入文件/data/aeronav/sec/c/Albuquerque_c.tif。 0 ... 10 ... 20 ... 30 ... 40 ...

这意味着gdalwarp永远不会完成。

相反。像这样的gdal_merge命令:

gdal_merge.py -n 0 -a_nodata 0 -o /data/aeronav/sec/master.tif /data/aeronav/sec/c/Albuquerque_c.tif ......70 plus files.....

几个小时后完成。

由于“平均”采样,gdal_merge的问题是质量较差的输出。如果可能的话,我想尽量使用“双线性”和“立方”采样,并且需要使用gdalwarp。

为什么这两者的表现有如此大的差异? gdalwarp为什么不想完成?是否有任何其他命令行选项可以加速gadalwarp或者是否有办法向gdal_merge添加采样选项?

1 个答案:

答案 0 :(得分:10)

似乎gdalwarp不是合并这些GeoTiff的理想命令(因为我对再次变形不感兴趣)。相反,我使用

gdalbuildvrt /data/aeronav/sec/master.virt .... 70+ files in order

构建虚拟马赛克。然后我使用gdal_translate将virt文件转换为GeoTiff:

gdal_translate -of GTiff  /data/aeronav/sec/master.virt /data/aeronav/sec/master.tif

这就是它 - 这花了不到一个小时(甚至比gdal_merge更快,并保留了原始文件的质量)。