无法 运行 使用 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。
我在通过 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。