I'm running a script on GEE to download EVI images from a certain time period and place, and also the cloud masks from each image calculated from the QA60 band with the following function. But the mask I always export gives me all 1s, even when it's cloudy. Why could this be?
function maskS2clouds(image) {
// Seleccionar la banda 'QA60' de la imagen.
var qa = image.select('QA60');
// Los bits 10 y 11 representan las nubes y el cirrus, respectivamente.
var cloudBitMask = 1 << 10;
var cirrusBitMask = 1 << 11;
// Crear una máscara donde 1 indica nubes y 0 indica condiciones despejadas.
var mask = qa.bitwiseAnd(cloudBitMask).or(qa.bitwiseAnd(cirrusBitMask)).not();
// Convertir la máscara a un formato uint8.
var maskBand = mask.toUint8();
// Renombrar la banda de la máscara.
maskBand = maskBand.rename('cloudMask');
// Devolver la imagen con la banda de la máscara añadida y la misma información de fecha.
return image.addBands(maskBand).set('system:time_start', image.get('system:time_start'));
}
var colMask = col.map(maskS2clouds)
.select('cloudMask');
function exportmask(collection, folder, scale, region, crs) {
var list = collection.toList(collection.size());
var n = list.size().getInfo();
for (var i = 0; i < n; i++) {
var image = ee.Image(list.get(i));
var id = campo + '_' + ee.Date(image.date().format('YYYY-MM-dd')).format('YYYYMMdd').getInfo() + '_mask';
Export.image.toDrive({
image: image.toUint8(),
description: id,
folder: folder,
scale: scale,
region: region,
crs: 'EPSG:32720'
});
}
}
// Exportar todas las imágenes de la colección colEVI a Google Drive
exportmask(colMask, 'EVI_exports', 10, geometry);