0

The following code is conceived to create a thumbnail image of landsat 7 images:

 // Feature Collection 
var aoi = geometry
print(aoi);
Map.addLayer(aoi);
var centroid = aoi.centroid(1)
print(centroid);
var coors = centroid.coordinates().getInfo()
var x = coors[0]
var y = coors[1];
Map.setCenter(x, y, 10);


// Elaborating the dates
// Getting Temperatures for Every Month
var period = ['-01-01', '-12-01']; 

var years = [['1999', '2000'],
              ['2000', '2001'],
              ['2001', '2002'],
              ['2002', '2003'],
              ['2003', '2004'],
              ['2004', '2005'],
              ['2005', '2006'],
              ['2006', '2007'],
              ['2007', '2008'],
              ['2008', '2009'], 
              ['2009', '2010'], 
              ['2010', '2011'],
              ['2011', '2012'],
              ['2012', '2013'],
              ['2013', '2014'],
              ];
              
var add_period = function(year){
  var start_date = period[0]; 
  var end_date = period[1];
  return [year[0] + start_date, year[1] + end_date];
};


var concatenate_year_with_periods = function(years, period){
  return years.map(add_period);
};

var Dates = concatenate_year_with_periods(years, period);


/**********************************************************************
                              Landsat 7 
***********************************************************************/
var visualization = {
  bands: ['B4', 'B3', 'B2'],
  min: 0.0,
  max: 0.3,
};

var visualization_ = {
  bands: ['B4_median', 'B3_median', 'B2_median'],
  min: 0.0,
  max: 0.3,
  gamma: [0.95, 1.1, 1]
};

// Applies scaling factors.
var cloudMaskL7 = function(image) {
  var qa = image.select('BQA');
  var cloud = qa.bitwiseAnd(1 << 4)
                  .and(qa.bitwiseAnd(1 << 6))
                  .or(qa.bitwiseAnd(1 << 8));
  var mask2 = image.mask().reduce(ee.Reducer.min());
  return image
       //.select(['B3', 'B4'], ['Red', 'NIR'])
       .updateMask(cloud.not()).updateMask(mask2)
       .set('system:time_start', image.get('system:time_start'));
};

var dataset = ee.ImageCollection('LANDSAT/LE07/C01/T1_TOA')
    .filterDate('1999-01-01', '2020-12-31')
    .filterBounds(aoi)
    //.map(applyScaleFactors)
    .map(cloudMaskL7)
    .map(function(image){return image.clip(aoi)});

// Creating composites using median pixel value
var median_yearly_landsat_7 = function(start, end){
  var dataset_ =  dataset.filter(ee.Filter.date(start, end));
  var median_yearly = dataset_.reduce(ee.Reducer.median());
  return median_yearly;
};

var composite_name_list_l7 = ee.List([]);

var apply_monthly_composite = function(date_list){
    var start = date_list[0];
    var end = date_list[1]; 
    var output_name = start + "TO" + end + "_LANSAT_7";
    var composite = median_yearly_landsat_7(start, end);
    composite_name_list_l7 = composite_name_list_l7.add([composite, output_name]);
    Map.addLayer(composite, visualization_, output_name, false);
    Export.image.toDrive({
      image: composite,
      description: output_name,
      fileFormat: 'GeoTIFF',
      crs : 'EPSG:4326',
      folder : 'LANDSAT_LST_LAS_LOMAS',
      region: aoi
    });
    return 0; 
};

Dates.map(apply_monthly_composite); 


/******************************************************************
// Animation gif 
// Create RGB visualization images for use as animation frames.
/******************************************************************/
var text = require('users/gena/packages:text');
var annotated_collection_list = ee.List([])
var annotations = [
  {position: 'left', offset: '0.25%', margin: '0.25%', property: 'label', scale: 1.5} //large scale because image if of the whole world. Use smaller scale otherwise
  ];
  
var create_annotated_collection = function(image_and_id) {
  var img = image_and_id[0];
  var image_id = image_and_id[1];
  console.log(img);
  console.log(image_id);
  var img_out = img.visualize(visualization_)
  .clip(aoi)//.paint(municipalities, 'FF0000', 2)
  .set({'label': image_id});
  Map.addLayer(img_out);
  var annotated = text.annotateImage(img_out, {}, Bayern, annotations);
  annotated_collection.add(annotated);
  return 0;
};

var municipalities_geom = geometry;
var n = composite_name_list_l7.size().getInfo();
print(n);
for (var i = 0; i < n; i++) {
    var img_info = ee.List(composite_name_list_l7.get(i));
    print(img_info);
    var img = ee.Image(img_info.get(0));
    var img_id = ee.String(img_info.get(1));
    var year = ee.String(ee.List(img_id.split("-").get(0)));
    var month = ee.String(ee.List(img_id.split("-").get(1)));
    var img_id_ = year.getInfo() + "_" + month.getInfo();
    var img_out = img.visualize(visualization_)
      .set({'label': img_id_});
    var annotated = text.annotateImage(img_out, {}, municipalities_geom, annotations);
    Map.addLayer(annotated);
    var annotated_collection_list = annotated_collection_list.add(annotated)
}

var annotated_col = ee.ImageCollection(annotated_collection_list)

// Define GIF visualization parameters.
var gifParams = {
  'region': geometry,
  'dimensions': 254,
  'crs': 'EPSG:32632',
  'framesPerSecond': 1
};

// Print the GIF URL to the console.
print(annotated_col.getVideoThumbURL(gifParams));
// Render the GIF animation in the console.
print(ui.Thumbnail(annotated_col, gifParams));

However, this thumbnail appears black, but the images I load into the map project, are in the color visualization parameters that I need.

The geometry parameter is a Polygon I drew using the drawing tool. The coordinates are below:

Coordinates: List (1 element)
0: List (5 elements)
0: [-82.35277628512759,8.432445555054713]
1: [-82.314667459444,8.432445555054713]
2: [-82.314667459444,8.460632259476993]
3: [-82.35277628512759,8.460632259476993]
4: [-82.35277628512759,8.432445555054713]

Could someone tell my why the thumbnail appears black?

Roger Almengor
  • 442
  • 5
  • 16

0 Answers0