I need to export CSV but my input is a list of lists so I have an error "FeatureCollection (Error)
List.get: Parameter 'list' is required." How can I change my input data? Or the export mode?
var mod = ee.ImageCollection('MODIS/061/MOD11A1');
var point = ee.Geometry.Point(-116.0199,36.62418);
var buffer = point.buffer(564.2);
var collection = mod.filterBounds(buffer)
.filterDate('2022-01-01', '2023-01-01')
.select(['LST_Day_1km', 'Day_view_time']);
//print(collection.size());
//Map.centerObject(point, 6);
//Map.addLayer(point);
var filtered_scaled = collection.map(function(image) {
var buffer = point.buffer(564.2);
var time = image.select('Day_view_time').multiply(0.1).add(8).copyProperties(image);
var lst = image.select('LST_Day_1km').multiply(0.02).copyProperties(image, ['system:time_start', 'system:index']);
return image.addBands(time, null, true)
.addBands(lst, null, true)
.clip(buffer)});
var nImages = filtered_scaled.size();
var ImageList = filtered_scaled.toList(nImages);
var img_indices = ee.List.sequence(0,nImages.subtract(1)).getInfo();
function reduceAndPrint(index) {
var nomScale = filtered_scaled.select('LST_Day_1km').first().projection().nominalScale();
var nomScale2 = filtered_scaled.select('Day_view_time').first().projection().nominalScale();
var buffer = point.buffer(564.2); // CALCULATION LST BUFFER
var image = ee.Image(ImageList.get(index));
var TmeanDay = image.select('Day_view_time').reduceRegion({
reducer: ee.Reducer.mean(),
maxPixels: 1e9,
scale: nomScale2,
geometry: buffer
});
var time = TmeanDay.get('Day_view_time');
//print(time);
//print('time', time);
var hours = ee.Number(time).floor().divide(1).int();
var minutes = ee.Number(time).subtract(hours).multiply(60).round().int();
var result = hours.format('%02d').cat(':').cat(minutes.format('%02d')).cat(':00');
var systemTimeStart = ee.Date(image.get('system:time_start')).format('YYYY-MM-dd ');
var sts = ee.String(systemTimeStart).cat(ee.String(result));
//print('sts:', sts);
var date = image.get('system:index');
return ee.Algorithms.If(time, [image.id(), sts, date], null);
}
var stats = img_indices.map(reduceAndPrint);
//print(stats);
var fc = ee.FeatureCollection(stats.map(function(list) {
list = ee.List(list);
var dict = {
a_image_id: list.get(0),
b_Day_view_time: list.get(1),
c_date: list.get(2),
};
return ee.Feature(null, dict);
}));
print(fc);
// Export.table.toDrive({
// collection: wholeYearFC,
// description: 'DesertRock_Modis',
// fileFormat: 'CSV',
// folder:'ResultsFromGEE'
// });```
Best Answer
You can solve your issue by using following lines instead:
After running complete code (where it was also avoided the use of getInfo), I got following CSV: