Страница 1 из 1

Странное (?) поведение калькулятора растров

Добавлено: 27 авг 2012, 14:12
SS_Rebelious
Есть растр где есть пиксели со значениями 0 (nodata) и остальными значениями, превышающими 100. Хочу сделать так, чтобы вместо значений 0 была 1. Использую выражение:

Код: Выделить всё

(raster@1 = 0) +1
Подразумевается, что (raster@1 = 0) создаёт маску к которой потом применяется математическая операция (встречал этот рецепт на просторах интернета). В итоге получаю растр, где пиксели со значением 0 имеют теперь значение 2, а все остальные - значение 1. Что я делаю не так? :)

Re: Странное (?) поведение калькулятора растров

Добавлено: 27 авг 2012, 16:43
Максим Дубинин
если не ошибаюсь, то получается так:
1. Сравнить значения растра с 0, если true то 1, если false, то 0
2. Прибавить к результату сравнения 1, 1+1=2, 1+0=1

Voltron, похоже на правду?

Re: Странное (?) поведение калькулятора растров

Добавлено: 28 авг 2012, 12:44
Voltron

Код: Выделить всё

(raster@1 = 0)
читается как «если значение пикселя равно 0, присвоить ему значение 1, иначе присвоить значение 0»

Re: Странное (?) поведение калькулятора растров

Добавлено: 02 сен 2012, 22:23
SS_Rebelious
Спасибо за разъяснения! Это я с самого начала затупил - не так понял описание.