1 votos

Exportación de la colección de imágenes MODIS con máscara de nubes desde el motor de Google Earth

Estoy trabajando en el enmascaramiento de nubes, en una colección de imágenes Modis en el motor de google earth.El código de abajo funciona para la parte de enmascaramiento de nubes sin embargo cuando trato de exportar la colección devuelve un error como el siguiente Error: Image.clipToBoundsAndScale, argumento 'input': Tipo inválido. Esperado: Image. Actual: ImageCollection.
error returned No sé dónde está el problema que está causando el error

var maskEmptyPixels = function(image) {
  var withObs = image.select('EVI').gt(0);
  return image.updateMask(withObs); 
  };
var maskClouds = function(image) {
  var QA = image.select('SummaryQA');
  var bitMask = 1 << 10;
  return image.updateMask(QA.bitwiseAnd(bitMask).eq(0));
}; 
var table_bounds = function(image){
 return image.clip(table); 
};
var collection =ee.ImageCollection('MODIS/006/MOD13Q1' )
               .filterDate('2019-03-01', '2019-07-30')
                .filterBounds(table).select('EVI','SummaryQA')
                .map(maskEmptyPixels);
var evicollection = collection.map(table_bounds);
var totalObsCount = evicollection
        .select('EVI')
        .count();
var collectionCloudMasked = evicollection.map(maskClouds);
var clearObsCount = collectionCloudMasked
        .select('EVI')
        .count()
        .unmask(0);
Map.setCenter(35.94,-0.37,8);
Map.addLayer(
    collectionCloudMasked.median(),
    {bands: ['EVI'],
     gain: 0.07,
     gamma: 1.4
    },
    'median of masked collection'
  );
  print(collectionCloudMasked);
var list = collectionCloudMasked.toList(11);
for(var i=1;i<11;i++){
  var nam=ee.String('EVI_img')
             .cat(ee.String(ee.Number(i)))
             .getInfo();
}
Export.image.toDrive({   
       image: collectionCloudMasked,
       description: nam,
       scale:250,
       maxPixels:1e13
});

1voto

Peter Villar Puntos 11

Sólo se puede exportar una sola imagen con la opción Export.toDrive() . Asegúrese de que el bucle for que proporciona devuelve un nombre y una imagen correspondiente, y luego exportarlo dentro del bucle. Tenga en cuenta también que el índice de inicio de la lista GEE es cero.

var list = collectionCloudMasked.toList(11);
for(var i=0;i<11;i++){
  // make a client-side name for export
  var nam = ee.String('EVI_img')
             .cat(ee.String(ee.Number(i)))
             .getInfo();

  // get the image from the collection.toList()
  var imgExport = ee.Image(list.get(i))

  Export.image.toDrive({   
         image: imgExport,
         description: nam,
         scale:250,
         maxPixels:1e13
  });
}

código de enlace

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X