1 votos

Rayas en la imagen a escala de ajuste lineal en Google Earth Engine

He elaborado una imagen de ajuste lineal para dos geometrías arbitrarias en Norteamérica y Europa. Veo rayas en estas imágenes cuando miro la "escala" de banda única en escala de grises. ¿Alguien sabe por qué ocurre esto? Para mí no tiene sentido en esta serie temporal.

Aquí hay una muestra de código para los datos anuales y luego la colección ndvi que se hizo para el ajuste lineal.

var terra_2011 = terra.filterDate('2011-01-01', '2011-12-31').map(addTime);
var terra_bands_2011 = terra_2011.select('tmmx','pr','system:time_start');
var precip_accumulation_2011 = terra_bands_2011.select('system:time_start','pr').sum();
//Create min, max and Average tempearture bands and rename bands
var temp_minmax_2011 = terra_bands_2011.select('tmmx','system:time_start').reduce(ee.Reducer.minMax());
//print(temp_minmax_2011, 'max 2011');
var temp_avg_2011 = terra_bands_2011.select('tmmx','system:time_start').reduce(ee.Reducer.mean());
//print(temp_avg_2011, 'temp avg');
//Combine precip and temp bands into one "image"
var merge_climate_2011 = precip_accumulation_2011.addBands(temp_minmax_2011).addBands(temp_avg_2011);
//print(merge_climate_2011);
//Create NDVI composite image
var collection_2011= ee.ImageCollection('LANDSAT/LT05/C01/T1_TOA')
  .filterDate('2011-01-01','2011-12-31')
  .map(addQualityBand);
var only_NDVI_2011 = collection_2011.select('nd','system:time_start');
var ninety_five_percent_2011 = only_NDVI_2011.reduce(ee.Reducer.percentile([95]));
var eighty_five_percent_2011 = only_NDVI_2011.reduce(ee.Reducer.percentile([85]));
var median_2011 = only_NDVI_2011.reduce(ee.Reducer.median());
var mask95_2011 = ninety_five_percent_2011.select('nd_p95').gte(0.1);
var lte95_2011 = ninety_five_percent_2011.updateMask(mask95_2011);
var mask85_2011 = eighty_five_percent_2011.select('nd_p85').gte(0.1);
var lte85_2011 = eighty_five_percent_2011.updateMask(mask85_2011);
var mask50_2011 = median_2011.select('nd_median').gte(0.1);
var lte50_2011 = median_2011.updateMask(mask50_2011);
//Map.addLayer(lte95_2011, imageVisParam3, "95 mask_2011");

//Create Collection and Apply Linear Fit
var ndvi_collection = ee.ImageCollection([lte95_1990, lte95_1991,lte95_1992,lte95_1993,
  lte95_1994,lte95_1995, lte95_1996,lte95_1997,lte95_1998, lte95_1999,lte95_2000, lte95_2001,lte95_2002,
  lte95_2003,lte95_2004, lte95_2005,lte95_2006, lte95_2007,lte95_2008, lte95_2009,lte95_2010, lte95_2011]);
var linear_fit_ndvi = ndvi_collection.select(['system:time_start_p95', 'nd_p95'])
  .reduce(ee.Reducer.linearFit());
var fit_year = linear_fit_ndvi.expression(
  '31536000000 * SCALE', {
  'SCALE': linear_fit_ndvi.select('scale')
  });
////print(linear_fit_ndvi, 'linear fit');
//Map.addLayer(linear_fit_ndvi.clip(geometry), imageVisParam4, 'ndvi fit');
Map.addLayer(fit_year.clip(geometry), imageVisParam5, 'scaled fit');

Aquí está el enlace al guión completo: https://code.earthengine.google.com/9d0aba5699739485b44d9dc2c2a2f79c

1voto

Daniel Puntos 9

Quizá se deba al efecto BRDF ( https://en.wikipedia.org/wiki/Bidirectional_reflectance_distribution_function ). Esas rayas son donde las rutas/filas de Landsat se solapan entre sí. Tendrás el doble de imágenes para esos píxeles. La mitad tendrá el satélite mirando hacia el sol y la otra mitad mirando hacia otro lado.

Cuando envíe preguntas, intente proporcionar la menor cantidad de código posible para reproducir su problema. Hay pocas posibilidades de que alguien se ponga a leer más de 600 líneas de código para ayudarte.

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