2016-09-22 15 views
0

GDAL을 통해 래스터 계산을 실행하는 데 문제가 있습니다. 아래 방정식을 통해 래스터를 dB으로 변환하려고합니다.GDAL을 사용하여 래스터 계산을 실행할 수 없습니다.

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 : 0으로 나누기는 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 

을 또는 NA에 0 값을 설정

이보십시오.

+0

감사합니다. –