0

I want to filter time series in the google earth engine which requires two for loops over time-series of a single pixel. I searched around and not found any example related to this. I know about .map function and I am using it for the generation of RVI on the earth engine. I found about .toArray function but not found any example related to my problem.

I will appreciate any help in this regard. Also, I am new to the earth engine so this may be a trivial question for others.

This is the code that I have. I took it from a blog and modified it according to my need. I am stuck after this.

var sentinel1 = ee.ImageCollection('COPERNICUS/S1_GRD_FLOAT');

// Filter VH, IW
var vh = sentinel1
  // Filter to get images with VV and VH dual polarization.
  //.filter(ee.Filter.listContains('transmitterReceiverPolarisation', 'VH'))
  // Filter to get images collected in interferometric wide swath mode.
  .filter(ee.Filter.eq('instrumentMode', 'IW'))
  // reduce to VH polarization
  //.select('VH')
  // filter 10m resolution
  .filter(ee.Filter.eq('resolution_meters', 10));
// Filter to orbitdirection Descending
var vhDescending = vh.filter(ee.Filter.eq('orbitProperties_pass', 'DESCENDING'));
// Filter time 2015
var vhDesc2015 = vhDescending.filterDate(ee.Date('2021-01-01'), ee.Date('2021-04-30'));

// Filter to MKD roi
var s1_mkd = vhDesc2015.filterBounds(roi);

print('All metadata:', s1_mkd);
var count = s1_mkd.size();
print('Count: ', count);



//var dates = s1_mkd.aggregate_array("system:time_start")
//print('dates: ', dates);

var dates = s1_mkd
    .map(function(image) {
      return ee.Feature(null, {'date': image.date().format('YYYY-MM-dd')})
    })
    .distinct('date')
    .aggregate_array('date')
    
print('dates: ', dates);

var featureCollection = ee.FeatureCollection(dates
                        .map(function(element){
                        return ee.Feature(null,{prop:element})}))


//Export a .csv table of date, mean NDVI for watershed
Export.table.toDrive({
  collection: featureCollection,
  description: 'Timeseries',
  folder: 'WC_raw',
  fileFormat: 'CSV',
});

var rvi4s1 = function(img){
  var vh = img.select('VH');
  var vv = img.select('VV');
  var col = vv.divide(vv.add(vh)).sqrt().rename('dop');
  var dop = col.select('dop')
  var value = dop.multiply(vh.multiply(4).divide(vv.add(vh))).rename('rvi4s1');
  return value;
};

var rvi = s1_mkd.map(rvi4s1);
print(rvi);
gis.rajan
  • 517
  • 3
  • 20
  • You need to show the community what you have tried so far. – Charlie Sep 08 '21 at 06:44
  • So, you have an image collection, and you want to extract pixel values over specific region of interest? but you want to also have the dates and export the resulting data as feature collection? – Liman Sep 27 '21 at 12:35
  • My problem is solved from the google earth engine Fourier smoothing example. – gis.rajan Sep 28 '21 at 05:07

0 Answers0