Quiero crear promedios mensuales para el producto MODIS Land Surface Temperature (LST) para varios ROIs. Puedo crear una colección de imágenes que contenga los datos MODIS promediados mensualmente, pero no he averiguado cómo reducir estos datos para los ROI.
Aquí está la primera parte, con la ayuda de aquí y aquí :
var modis = ee.ImageCollection('MODIS/006/MOD11A2');
var months = ee.List.sequence(1, 12);
Map.centerObject(areas, 7);
Map.addLayer(areas, {}, 'ROI');
// First I divide the data into monthly averages
var byMonth = ee.ImageCollection.fromImages(
months.map(function (m) {
return modis.filter(ee.Filter.calendarRange(m, m, 'month'))
.select(0).mean() // selecting band 1: LST_Day_1km
.set('month', m);
}));
print('byMonth:', byMonth);
var check = ee.Image(byMonth.first());
Map.addLayer(check, {}, 'check');
Luego viene la siguiente parte, en la que intento usar .reduceRegions() para reducir sobre múltiples regiones (mis "áreas" de FeatureCollection). La idea es hacer un bucle/mapa a través de los 12 meses, reduciendo los datos mensuales de "byMonth" a un valor para cada ROI. Desafortunadamente no funciona.
var reduced = months.map(function(mm) {
return byMonth.reduceRegions({
collection: areas, // a featureCollection containing multiple polygons
reducer: ee.Reducer.mean(),
scale: 30,
maxPixels: 1e9
}).filter(ee.Filter.eq('month', mm));
});
print(reduced);