Exportar a Google Drive ee.List con fecha y datos de precipitación obtenida en GEE a partir de imágenes CHIRPS daily

En el post anterior se consideró la forma de cómo producir una serie diaria de datos de precipitación a partir de CHIRPS/DAILY images con Google Earth Engine (GEE). El código propuesto permitía filtrar la ImageCollection considerada por fechas para luego acceder a los valores de precipitación para toda la serie empleando el método ‘reduceRegion’ con la ubicación de la Estación Metereológica (geometría tipo punto). Estos valores de precipitación se adicionaron al final de una lista previamente creada con la fecha (año, mes, día) de adquisición de la imagen (un total de 4 elementos por lista diaria).

Una vez obtenida la lista, el paso complicado es convertirla en FeatureCollection para poder exportarla con Export.table.toDrive. Me tocó preguntar en gis.stackexchange.com porque el tutorial de GEE se remite a lo más común. El código completo se resume a continuación:

//Selecting Image Collection of dayly precipitation
var chirps = ee.ImageCollection("UCSB-CHG/CHIRPS/DAILY");

var precip = chirps
  .filterDate('2015-01-01', '2016-01-01'); //366 days (leap year)

var count = precip.size();
  
// Print the filtered precipitation ImageCollection. 
print('precipitation series:', precip);

var getDatePrecip = function(image) {
  // weather station place: Valle de la Pascua 
  var p = ee.Geometry.Point(-66.00, 9.22);
  
  // Reducing region and getting value
  var value = ee.Image(image)
    .reduceRegion(ee.Reducer.first(), p).get('precipitation');
    
  var time = ee.Image(image).get('system:time_start');
  
  // Return the time (in milliseconds since Jan 1, 1970) as a Date
  var precipit_list = ee.Date(time)
    .format()
    .slice(0,10)
    .split('-')
    .add(value);
  
  return precipit_list;
};

var precipit_list = precip.toList(count).map(getDatePrecip);

print(precipit_list);

// weather station place: Valle de la Pascua 
var p = ee.Geometry.Point(-66.00, 9.22);

var myFeatures = ee.FeatureCollection(precipit_list.map(function(el){
  el = ee.List(el); // cast every element of the list
  var geom = p;
  return ee.Feature(geom, {
    'year':ee.Number(el.get(0)), 
    'month':ee.Number(el.get(1)),
    'day':ee.Number(el.get(2)),
    'value':ee.Number(el.get(3))
  });
}));

Map.addLayer(myFeatures); // see the result
Map.centerObject(myFeatures);

// Export features, specifying corresponding names.
Export.table.toDrive(myFeatures,
"date_chirps", //my task
"GEE_Folder", //my export folder
"daily_precipitation",  //file name
"CSV");

Después de ejecutado el código anterior se creó exitosamente el archivo daily_precipitation.csv; para el cual se puede observar su contenido en la imagen siguiente una vez abierto con LibreOffice Calc.

precip2

El archivo anterior puede ser modificado fácilmente para adecuarlo a la estructura de texto plano que demandan los modelos de simulación agroambiental.

This entry was posted in Google Earth Engine. Bookmark the permalink.

1 Response to Exportar a Google Drive ee.List con fecha y datos de precipitación obtenida en GEE a partir de imágenes CHIRPS daily

  1. Pingback: Exportar a Google Drive ee.List con días julianos (o días del mes) y datos de precipitación obtenida en GEE a partir de imágenes CHIRPS daily | El Blog de José Guerrero

Leave a comment