对于单个省(以内蒙古为例,内蒙古数据质量较好)生成时间序列
//单个省的时间序列
var neimeng = ee.FeatureCollection('users/peisipand/cn_province')
.filter(ee.Filter.eq('OBJECTID',5)).geometry();
Map.addLayer(neimeng)
var CH4_col = ee.ImageCollection('COPERNICUS/S5P/OFFL/L3_CH4')
.filter(ee.Filter.date('2020-01-01', '2021-01-01'))
.select('CH4_column_volume_mixing_ratio_dry_air');
// Define the chart and print it to the console.
var chart = ui.Chart.image
.doySeries({
imageCollection: CH4_col,
region: neimeng,
regionReducer: ee.Reducer.mean(),
scale: 5000,
yearReducer: ee.Reducer.mean(),
startDay: 1,
endDay: 365
})
.setOptions({
title: 'Average CH4 for Neimeng',
hAxis: {
title: 'Day of year',
titleTextStyle: {italic: false, bold: true}
},
vAxis: {
title: 'CH4(ppb)',
titleTextStyle: {italic: false, bold: true}
},
lineWidth: 5,
colors: ['39a8a7'],
});
print(chart);
效果如图:
内蒙古甲烷一年的变化趋势,先降低再升高再降低。
TROPOMI的数据一天大概是13景左右,一年下来4000多景,如果时间范围继续扩大的话,imageCollection的数量会超过5000,这时候貌似就会报错,所以先把collection处理成日均的比较好,反正也不关心一天内的变化。
var china = ee.FeatureCollection('users/peisipand/cn_province');
var doy = ee.List.sequence(1,365)
var imgDay = doy.map(function(day){
var startDay = ee.Date('2020-01-01').advance(day,"day")
var image = ee.ImageCollection('COPERNICUS/S5P/OFFL/L3_CH4')
.filterDate(startDay,startDay.advance(1,"day"))
.select('CH4_column_volume_mixing_ratio_dry_air')
.mean()
.clip(china).set('system:time_start',startDay)
return image
})
var vegIndices = ee.ImageCollection(imgDay)
print(vegIndices)
Map.addLayer(vegIndices.first())
var neimeng = china.filter(ee.Filter.eq('OBJECTID',5)).geometry().bounds();
var neimeng = ee.Feature(neimeng,{name:'neimeng'})
print(neimeng)
var xinjiang = china.filter(ee.Filter.eq('OBJECTID',31)).geometry().bounds();
var xinjiang = ee.Feature(xinjiang,{name:'xinjiang'})
var ecoregions = ee.FeatureCollection([neimeng,xinjiang]);
var chart = ui.Chart.image
.doySeriesByRegion({
imageCollection: vegIndices,
bandName: 'CH4_column_volume_mixing_ratio_dry_air',
regions: ecoregions,
regionReducer: ee.Reducer.mean(),
scale: 5000,
yearReducer: ee.Reducer.mean(),
seriesProperty: 'name',
startDay: 1,
endDay: 365
})
.setOptions({
title: 'Average CH4 by Day of Year',
hAxis: {
title: 'Day of year',
titleTextStyle: {italic: false, bold: true}
},
vAxis: {
title: 'CH4 (ppb)',
titleTextStyle: {italic: false, bold: true}
},
lineWidth: 5,
colors: ['f0af07', '0f8755'],
});
print(chart);