Google Earth Engine - объединить год для итерации по функции

Я хотел повторить функцию, взяв год в качестве аргумента для получения желаемых коллекций Landsat в год. Я объединяю аргумент 'yr' и повторяю, используя функцию.map.

_.Concat не является ошибкой функции появляется.

Любая помощь приветствуется! Спасибо!

-Nands

var per_year = function(yr){
    var start = '-01-01';
    var end = '-12-31';

    var collect = ee.ImageCollection("LANDSAT/LE07/C01/T1_RT_TOA")
     .filter(ee.String(yr).concat(start), ee.String(yr).concat(end));

    return (collect);
}

var years = ee.Array(ee.List.sequence(2006, 2012));
print (years);

var year_list = years.map(per_year(years));

1 ответ

Вам нужно будет нанести на карту более ee.List объекта, который имеет все годы, вызовите коллекцию изображений Landsat в функции и приведите результаты в коллекцию изображений.

var landsat = ee.ImageCollection("LANDSAT/LE07/C01/T1_RT_TOA")
var years = ee.List.sequence(2013,2017)

var yearlyCollections = years.map(function(i){
    i = ee.Number(i)
    var date = ee.Date.fromYMD(i,1,1)
    return landsat.filterDate(date, date.advance(1,'year')
})

print(yearlyCollections)

Результат должен быть ee.List объект с тем же номером коллекции изображений, что и годы.

Другие вопросы по тегам