无法 运行 使用 GDAL 进行栅格计算

Cannot Run Raster Calculation Using GDAL

我在通过 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: divide by zero encountered in log10

知道如何解决这个问题吗?

提前感谢您提供的任何帮助。

显然您的某些像素值包含零。 因此,如果您采用 log10(0),它 returns -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。