GDAL2.0版本的更新日志中提到了对RPC校正的优化,今天测试了一下,发现提升的速度还是蛮快的,测试的数据是一个IRS-P5的数据。

单线程测试

首先使用一个线程进行测试,使用下面的批处理进行运行,将OPENCL禁用,测试结果见图1.

echo  %time% 
F:\gdal1112\gdalwarp.exe -rpc -t_srs WGS84 -r cubic -wm 1024 -et 0 -wo USE_OPENCL=FALSE F:\Data\711_214_26sep2006_p5\P5\banda.tif F:\gdal1112.tif

echo %time%
F:\gdal20\gdalwarp.exe -rpc -t_srs WGS84 -r cubic -wm 1024 -et 0 -wo USE_OPENCL=FALSE F:\Data\711_214_26sep2006_p5\P5\banda.tif F:\gdal21dev.tif

echo %time%

GDAL 2.0版本RPC校正速度测试_单线程

图中黄色的部分为处理时间,可以看出2.0版本同样的数据大约处理时间提升了将近10s,提升了26%左右,大概测试了三次,基本都是这个量级。

多线程测试

接下来使用同样的数据用多线程进行测试,命令就是在上面的命令中加入-multi即可。测试结果见图2.

GDAL 2.0版本RPC校正速度测试_数据_02

对于多线程来说,2.0要比1.11.2版本快了14.46s,提升了42%左右,但是发现1.11.2版本中多线程处理的时间比单线程还要慢一点。对于2.0版本总体来说,对于RPC校正的速度要比之前有很大的提升,而且更新日志里面说如果指定了DEM文件,速度还有优化,下次找到测试数据测试下。