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

最新更新