Cómo acceder a la metadata de las imágenes en GEE

Ciertos parámetros de la metadata de las imágenes son necesarios para programar en Google Earth Engine (GEE). Probablemente, si se conoce la existencia del método ‘getInfo’, se sentiría uno tentado a usarlo pero, en este tutorial de GEE, desaconsejan su uso en el código regular. No obstante, vamos a observar que información contiene para la imagen ‘LANDSAT/LT5_L1T_TOA_FMASK/LT50380322011235PAC01’. El código completo es el siguiente:

// Landsat Image
var im1 = ee.Image('LANDSAT/LT5_L1T_TOA_FMASK/LT50380322011235PAC01');

print (im1.getInfo());

El resultado se tiene en la parte derecha de la imagen a continuación:

meta1

Es una información voluminosa a la cual se puede acceder de manera específica con otros métodos. Vamos a evaluar algunos de ellos presentes en la pestaña Docs de GEE para ee.Image.

Con el método ‘propertyNames’ se obtiene una lista de todas las propiedades que pertenecen a la imagen considerada.

print (im1.propertyNames());

Si deseamos tener una visión global de los valores adscritos a cada una de ellas empleamos el método ‘toDict’ y si se quiere un valor particular se recurre al método ‘get’. El código siguiente, después de imprimir la lista completa de propiedades de la imagen (125 en este caso), con sus respectivos values, imprime el “PATH/ROW” y la “ELEVATION_SOURCE” para la referida imagen (En Console, 38, 32 y GLS2000; respectivamente).

var properties = im1.toDictionary();
print(properties);

print("PATH:", properties.get("WRS_PATH"), "ROW:", properties.get("WRS_ROW"));
print(properties.get("ELEVATION_SOURCE"));

Para obtener en el orden respectivo día, mes y año para la imagen se puede ejecutar el código siguiente. El método format hace posible que los objetos ee.Date de GEE puedan ser manipulados como strings de Java Script.

// Extract date of image
var date_string = im1.date().format();

// Show data
print("DAY:", date_string.slice(8,10));  //23
print("MONTH:", date_string.slice(5,7)); //08
print("YEAR:", date_string.slice(0,4));  //2011

Otro método importante que puede ser usado en ee.Image, heredado de ee.ImageCollection, es ‘filterMetadata’. El código siguiente permite seleccionar una imagen específica de la colección COPERNICUS, para un intervalo de tiempo dado, a partir de la Military Grid Reference System cuyo id es ’30STF’.

//setimageCollection
var imageCollection = ee.ImageCollection("COPERNICUS/S2");

//filtering by Date and Metadata
// 30STF is a Military Grid Reference System for somewhere in Spain
var image = ee.Image(imageCollection
  .filterDate('2017-01-01','2017-08-20')
  .filterMetadata('MGRS_TILE','equals','30STF').first());

print(image); //result is COPERNICUS/S2/20170102T111442_20170102T111441_T30STF

Map.centerObject(image, 10);
Map.addLayer(image, {bands: ['B4', 'B3', 'B2'], min:363, max: 6777});
This entry was posted in Google Earth Engine. Bookmark the permalink.

Leave a comment