无法使用GDAL运行栅格计算

时间:2016-09-22 13:31:36

标签: raster gdal osgeo

我在通过GDAL运行栅格计算时遇到了一些麻烦。我正在尝试通过以下等式将栅格转换为dB

A =我的光栅文件

"10*log10(power(A,2))-83"

使用gdal_calc,如下所示。

C:\>gdal_calc.py -A "C:\Users\moses\Desktop\Calc_Test\test444.img" 
--outfile="C:\Users\moses\Desktop\Calc_Test\test555.img" 
--calc="10*log10(power(A,2))-83" --debug --overwrite

我试图在单独的部分中这样做。因此,将栅格提升到第二个幂,然后获得该结果的log10。但每次我这样做,我都会收到以下错误......

  

:1:运行时警告:在log10中遇到零除

关于如何解决这个问题的任何想法?

提前感谢任何潜在的帮助。

1 个答案:

答案 0 :(得分:0)

显然,您的某些像素值包含零。 因此,如果您使用log10(0),则会返回导致错误的-Inf

试试这个:

C:\>gdal_calc.py -A "C:\Users\moses\Desktop\Calc_Test\test444.img" --outfile="C:\Users\moses\Desktop\Calc_Test\test555.img" --calc="10*log10(power(A+0.0001,2))-83" --debug --overwrite

或者将您的0值设置为NA。