我在通过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中遇到零除
关于如何解决这个问题的任何想法?
提前感谢任何潜在的帮助。
答案 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。