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
объект с тем же номером коллекции изображений, что и годы.