2016-09-22 12 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: деление на ноль встречается в log10

Любая идея о том, как я мог бы идти о решении этого?

Заранее благодарим за любую возможную помощь.

ответ

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 в НС.

+0

Это сработало, спасибо! –

 Смежные вопросы

  • Нет связанных вопросов^_^