Obtengo el número de imágenes a ImageCollection
utilizando el size()
pero cuando utilizo ese número en un bucle for, no funciona.
Véase el último trozo de código de este script:
// study area
var roi = ee.FeatureCollection([
ee.Feature( // study area.
ee.Geometry.Rectangle(20, -5, 75, 35), {label: 'study Area'})
]);
// images
var now = ee.Date(Date.now())
var NDVICollection=ee.ImageCollection('MODIS/006/MOD13Q1')
.filterDate('2019-12-01',now)
.select('NDVI');
// masker
var masker = function(image){
var mask1 = image.select('NDVI').lte(10000);
var mask2 = image.select('NDVI').gte(2000);
return image.updateMask(mask1).updateMask(mask2);
};
// Create clipping function
var clipper = function(image){
return image.clip(roi);
};
var ndvi = NDVICollection.map(clipper);
// PREPARE DATA FOR EXPORT
// Tyler Erickson provided the stacking function
// https://gis.stackexchange.com/a/254778/67264
var stackCollection = function(collection) {
var first = ee.Image(collection.first()).select([]);
// Write a function that appends a band to an image.
var appendBands = function(image, previous) {
var dateString = ee.Date(image.get('system:time_start')).format('yyyy-MM-dd');
return ee.Image(previous).addBands(image.rename(dateString));
};
return ee.Image(collection.iterate(appendBands, first));
};
var ndvi_img = stackCollection(ndvi);
print(ndvi_img);
var visParams = {
min: 0.0,
max: 9000.0,
palette: [
'FFFFFF', 'CE7E45', 'DF923D', 'F1B555', 'FCD163', '99B718', '74A901',
'66A000', '529400', '3E8601', '207401', '056201', '004C00', '023B01',
'012E01', '011D01', '011301'
],
};
Map.centerObject(roi,2);
var size =NDVICollection.size() ;
print(size);//4
Map.addLayer(roi,{},'Study Area');
// it does not work!!!!!!!!!!!!!!!!!!!!!!
for(var i = 0;i<size;i++){
Map.addLayer(ndvi_img.select(i),visParams,'img_'+i);
}