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