ComputeBandStats非常慢

时间:2016-06-14 11:26:41

标签: python python-2.7 python-3.x gdal

当我尝试使用ComputeBandStats时,需要很长时间才能完成。有没有办法加快这个过程?

这是我的代码:

inIMG = gdal.Open(infile)
bandas = [inIMG.GetRasterBand(b+1) for b in range(3)]
print('hej1')
meanSD = [b.ComputeBandStats(1) for b in bandas]
print('hej2')

打印出" hej1"非常快,但它只写" hej2"几个小时后。因此,似乎ComputeBandStats是问题所在。

我尝试了没有参数(早期工作)和1,但它似乎没有任何区别。

(我使用的是python 2.7和gdal 1.11.3)

1 个答案:

答案 0 :(得分:0)

我发现ComputeStatistics比ComputeBandStats快得多,所以我改用了它。我不确切知道区别是什么,但除了速度优势之外,ComputeStatistics还忽略了无数据值,这对ComputeBandStats来说是一个问题。它还计算min,max,mean和std,这些都是我所需要的。

这是我所做的改变:

inIMG = gdal.Open(infile)
bandas = [inIMG.GetRasterBand(b+1) for b in range(3)]
print('hej1')
stats = [b.ComputeStatistics(False) for b in bandas]
print('hej2')