Использование маскировки в Google Earth Engine - PullRequest
0 голосов
/ 07 мая 2018

У меня есть тезис, который я пишу об изменении покрытия льда на реках, и я решил использовать Google Earth Engine для этого.

У меня уже есть алгоритм, который может проверить, является ли пиксель ледяным или нет. Но проблема в том, что я должен замаскировать это, чтобы рассчитать его только на реках, а не где-либо еще.

У меня ограниченное знание JavaScript, и я посмотрел на API, чтобы найти решение для маскировки. Я попытался включить пример в мой код, но он выдает ошибку "updatemask" не определено в этой области.

Так как мне определить эту маску? Потому что на данный момент я просто создаю переменную, которая содержит площадь реки и назначаю ее маске.

var datamask = ShapeFile;      // Uploaded.
var mask     = datamask.eq(1); // As I understand this is where you tell the mask which part to use.
var dif      = updatemask(datamask);

1 Ответ

0 голосов
/ 07 мая 2018

Во-первых, функция называется updateMask. Во-вторых, это метод экземпляра для объекта ee.Image, который возвращает другой объект ee.Image. Поэтому вам нужно установить маску для определенного изображения. Предполагая, что у вас может быть изображение, представляющее лед, вы можете сделать что-то вроде

// I am assuming you are loading this via ee.FeatureCollection etc
var datamask = ShapeFile;      
var mask = datamask.eq(1); 

var ice = ee.Image(<some ice asset>);
var masked_ice = ice.updateMask(mask);
...