1 votos

Albedo utilizando Landsat 8 no da valores correctos

Estoy intentando obtener el albedo de mi zona de estudio pero los valores no me salen bien. Necesito valores en el rango de 0-1 pero estos valores están fuera de este rango. No sé cuando multiplico el valor de la escala, todavía no funciona. Mi código es

//cloud mask
function maskL8sr(col) {
  // Bits 3 and 5 are cloud shadow and cloud, respectively.
  var cloudShadowBitMask = (1 << 3);
  var cloudsBitMask = (1 << 5);
  // Get the pixel QA band.
  var qa = col.select('pixel_qa');
  // Both flags should be set to zero, indicating clear conditions.
  var mask = qa.bitwiseAnd(cloudShadowBitMask).eq(0)
                .and(qa.bitwiseAnd(cloudsBitMask).eq(0));
  return col.updateMask(mask);
}

var albedo = function(image){
  var alb = image.expression(
  "((0.356*blue)+(0.130*red)+(0.373*nir)+(0.085*swir)+(0.072*swir2)- 0.018)/ 1.016",
  {
    'red': image.select('B3'),
    'blue':  image.select('B1'),
    'nir':  image.select('B4'),
    'swir':  image.select('B5'),
    'swir2':  image.select('B7')
  });
  return(image.addBands(alb.rename("albedo"))).multiply(0.0001);
};

var dataset = ee.ImageCollection('LANDSAT/LC08/C01/T1_SR')
                  .filterDate('2016-01-01', '2020-12-31')
                  .filterBounds(geometry)
                  .map(albedo)
                  .map(maskL8sr);

// print("dataset",dataset);

var myAlbedo = dataset.select("albedo").mosaic(); 
// print("myAlbedo",myAlbedo);

Map.addLayer(myAlbedo, Albedo_pallete, "Albedo" )

El guión está dado: https://code.earthengine.google.com/0da82ade43f03592f22233123d40a67a

1voto

Daniel Puntos 9

En LANDSAT/LC08/C01/T1_SR tiene una escala de 0.0001 es decir, los valores están comprendidos entre 0 y 10,000 en lugar de 0 y 1 como espera la función albedo. Multiplica las bandas por 0.0001 antes de realizar el cálculo.

https://code.earthengine.google.com/c50c68a9e55f951fd7f44f75b6a5078c

Tenga en cuenta que esta colección de imágenes es obsoleta, por lo que puede que desee cambiar a LANDSAT/LC08/C02/T1_L2 . Para obtener estos valores entre 0 y 1 tienes que multiplicar con 2.75e-05 y restar 0.2 . Los nombres de las bandas también han cambiado y hay que ajustar la función de enmascaramiento de las nubes.

https://code.earthengine.google.com/85db598d7343fcb7588ce0f7c46e8055

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