ComputeBandStats 极慢

ComputeBandStats extremely slow

当我尝试使用 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)

我发现 ComputeStatistics 比 ComputeBandStats 快得多,所以我改用它。我不知道具体有什么区别,但除了速度优势之外,ComputeStatistics 还忽略了无数据值,这对 ComputeBandStats 来说是个问题。它还计算最小值、最大值、平均值和标准差,反正我都需要这些。

这是我所做的更改:

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')