функция .map
применяет функцию к каждому отдельному изображению в коллекции изображений.А функция .iterate
применяет функцию к одному изображению, а вывод вычислений, выполненных к предшествующему изображению в коллекции изображений.Первое работает только с одним изображением каждый раз, а второе подразумевает модификацию каждого изображения и использование его для любых расчетов со следующим.
Мне нужна функция, которая работает как .iterate
, но не изменяет предыдущее изображение.Мне просто нужно сделать: image (time -1) / image (time 0)
.Я не могу найти способ сделать это,
спасибо за вашу помощь
Я пытался,
var first = ee.List([
ee.Image(1).set('system:time_start', time0).select([0], ['pc1'])
]);
var changeDET = function(image, list) {
var previous = ee.Image(ee.List(list).get(-1));
var change = previous.divide(image.select('pc1'))
.set('system:time_start', image.get('system:time_start'));
return ee.List(list).add(change);
};
var cumulative = ee.ImageCollection(ee.List(imageCollection.iterate(changeDET, first)))
.sort('system:time_start', false)