Estoy tratando de exportar algunas imágenes desde el motor de la Tierra utilizando Export.image.toDrive
pero parece que todos los archivos que genero parecen corruptos.
Cuando me refiero a corruptos, significa que si los abro con cualquier visor como Photoshop, Vista Previa, etc, se ven todos negros con líneas (imagen de ejemplo en la parte inferior). También intenté abrirlas con OpenCv en Python y las imágenes no tenían sentido (tienen tres canales, pero el número en los canales no tiene ningún sentido).
Busqué varios ejemplos en internet donde la gente exportaba imágenes y no encontré ninguna diferencia con mi código. Además, si trazo en el mapa del Motor de la Tierra los datos parecen estar bien. Así que supongo que estoy haciendo algo mal con la exportación, pero no puedo conseguirlo.
El procedimiento que sigo es el siguiente.
- Selecciono un área del mapa con la herramienta cuadrada.
- Ejecuto el script.
- Voy a la tarea y exporto algunas de las capas que aparecen allí.
- Voy a Drive y descargo el archivo para abrirlo.
- El archivo está corrupto :(.
fragmento de código
var s2 = ee.ImageCollection('COPERNICUS/S2') // Level-C1 (TOA), for Level-2A (BOA) use 'COPERNICUS/S2_SR'
.filterBounds(geometry)
.filter(ee.Filter.lessThanOrEquals('CLOUDY_PIXEL_PERCENTAGE', 50))
.filter(ee.Filter.date('2020-01-01', '2020-01-10'))
var clip_all = function(img){
return img.clip(geometry)
}
var s2_clip = s2.map(clip_all)
var s2_list = s2_clip.toList(s2_clip.size())
var n = s2_list.size().getInfo()
for (var i = 0; i < n; i++){
var img = ee.Image(s2_list.get(i))
var rgb = img.select('B2','B3', 'B4')//.float()
var date = img.date().format('yyyyMMdd').getInfo()
Map.addLayer(img, {bands: ['B4', 'B3', 'B2'], max: 5048}, 'Image_'+date)
//export
Export.image.toDrive({
image: rgb,
description: 'COPERNICUS_RGB'+ date,
scale: 30,
region: geometry,
maxPixels: 1e10,
fileNamePrefix: 'exampleExport',
folder: 'test_earthengine_2'
})
}
algunas variaciones que he probado:
- usando otra escala 30-->10, lo mismo.
- añadiendo float a la línea var
rgb = img.select('B2','B3', 'B4').float()
no hay cambios.
Me pregunto si el problema es que la exportación puede tardar mucho tiempo y las cosas que aparecen en mi disco todavía necesitan algo de procesamiento. (Ya esperé 8 horas y los archivos no parecían cambiar en mi disco).
Cuando me refiero a corrupto este es el tipo de imágenes que estoy obteniendo: