Простое маскирование записи данных с NDSI - PullRequest
0 голосов
/ 18 октября 2018

Я не понимаю эту ошибку.Я попытался замаскировать изображение другим изображением (содержащим только 0 и 1).Маска не распознается как входное изображение 2.

Ссылка на код GEE

В этой строке создана следующая ошибка:

var MaskedBAI = First.updateMask(threshold);

Ошибка: отсутствует обязательный аргумент (image2) для функции: Image.first (image1, image2)

Выбирает значение первого значения для каждой подходящей пары полос в image1 и image2.Если либо image1, либо image2 имеет только 1 полосу, то она используется против всех полос в другом изображении.Если изображения имеют одинаковое количество полос, но не одинаковые имена, они используются попарно в естественном порядке.Выходные полосы названы для более длинных из двух входов или, если они равны по длине, в порядке image1.Тип выходных пикселей - это объединение типов ввода.

Аргументы:

image1 (Изображение): изображение, из которого взяты левые диапазоны операндов.image2 (Изображение): Изображение, из которого взяты правые полосы операндов.

миля Грейси

1 Ответ

0 голосов
/ 18 октября 2018

Маскировка в вашем коде работает просто отлично, ваша проблема связана с использованием .first().

Если вы используете ImageCollection, как вы делаете в начале вашего скрипта, первое изображениеколлекция возвращается.

При использовании на Image it

Выбирает значение первого значения для каждой подходящей пары полос в image1 и image2

какописание говорит.Что я думаю, не то, что вы хотите.Таким образом, решение легко, просто избавьтесь от .first():

Map.addLayer(MaskedBAI,BAIparam ,'BAI')

Просто упомяните, что ни один пиксель не ниже вашего порога 0,3, что означает, что вся маска равна 0, что, в свою очередь, покажетвам ничего не нужно для MaskedBAI ... на случай, если вам интересно.

...