0

我在通过 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: RuntimeWarning: 在 log10 中遇到除以零

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

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

4

1 回答 1

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。

于 2016-09-23T15:22:41.420 回答