0

我需要下载哨兵 5p 提供的每日一氧化碳浓度数据,但数据包含我感兴趣区域的空白

var dataset1 = ee.ImageCollection("COPERNICUS/S5P/NRTI/L3_CO")
             .filterDate('2021-03-01', '2021-03-31')   
             .filterBounds(roi)
             .select("CO_column_number_density")
print (dataset1)
var img = dataset1.filterMetadata('TIME_REFERENCE_DAYS_SINCE_1950', 'equals',25992 )
     .mean();
Map.addLayer(img)

谷歌地球引擎

这是使用的代码。我试图平均一天的可用数据,但存在差距。如果数据必须平均超过一天,该怎么做?如何创建一个循环遍历日期并计算平均值?

4

1 回答 1

0

试试这个代码

var batch = require('users/fitoprincipe/geetools:batch')
print("batch.help", batch.help)

var Sentinel_CO_Dataset = ee.ImageCollection("COPERNICUS/S5P/NRTI/L3_CO")
                          .filterDate('2021-03-01', '2021-03-10')   
                          .filterBounds(roi)
                          .select("CO_column_number_density")
print (Sentinel_CO_Dataset)

var count = Sentinel_CO_Dataset.size()
print("Collection count", count)

var all_Sentinel_CO_tiles = Sentinel_CO_Dataset.map(function(image) { return image.clip(roi).reproject('EPSG:4326', null, 1113.2); }); 

var check = ee.Image(all_Sentinel_CO_tiles.first());
var Sentinel_CO_Palette = ['FFFFFF', 'CE7E45', 'DF923D', 'F1B555', 'FCD163', '99B718',
               '74A901', '66A000', '529400', '3E8601', '207401', '056201',
               '004C00', '023B01', '012E01', '011D01', '011301'];

Map.addLayer(check, {min:0.02, max: 0.05, palette: Sentinel_CO_Palette}, 'Sentinel_CO_Palette_Check');


  
var colList = all_Sentinel_CO_tiles.toList(all_Sentinel_CO_tiles.size());
var n = colList.size().getInfo();
for (var i = 0; i < n; i++) {
      var img = ee.Image(colList.get(i));
      var id = img.id().getInfo();
      var listOfImages = all_Sentinel_CO_tiles.toList(all_Sentinel_CO_tiles.size());
      var Tile = listOfImages.get(i);
      var allRasters = ee.ImageCollection.fromImages([Tile]);
      batch.Download.ImageCollection.toDrive(allRasters, "Sentinel_CO", 
      {name: 'MONOXIDE_'+id,
      scale: 1113.2,
      region: roi
      })
}
于 2022-02-10T14:29:57.690 回答