一、数据来源
var geometry = table;
var dataset = ee.ImageCollection("UCSB-CHG/CHIRTS/DAILY")
.filterBounds(geometry)
.select(["minimum_temperature", "maximum_temperature", "vapor_pressure_deficit", "relative_humidity"]);
var yearList = ee.List.sequence(1983, 2016);
var yearlyData = yearList.map(function(year) {
var startDate = ee.Date.fromYMD(year, 1, 1);
var endDate = ee.Date.fromYMD(year, 12, 31);
var yearlyCollection = dataset.filterDate(startDate, endDate);
var yearlyMean = yearlyCollection.mean().clip(geometry);
var Tmean = yearlyMean.expression(
"(Tmin + Tmax) / 2", {
'Tmin': yearlyMean.select('minimum_temperature'),
'Tmax': yearlyMean.select('maximum_temperature')
}).rename("Tmean");
var finalYearly = yearlyMean.addBands(Tmean);
var stats = finalYearly.reduceRegion({
reducer: ee.Reducer.mean(),
geometry: geometry,
scale: 5566,
maxPixels: 1e13
});
return ee.Feature(null, {
'year': year,
'Tmin_mean': stats.get('minimum_temperature'),
'Tmax_mean': stats.get('maximum_temperature'),
'Tmean_mean': stats.get('Tmean'),
'VPD_mean': stats.get('vapor_pressure_deficit'),
'RH_mean': stats.get('relative_humidity')
});
});
var yearlyFeatureCollection = ee.FeatureCollection(yearlyData);
var chart = ui.Chart.feature.byFeature(yearlyFeatureCollection, 'year', ['Tmin_mean', 'Tmax_mean', 'Tmean_mean', 'VPD_mean', 'RH_mean'])
.setChartType('LineChart')
.setOptions({
title: 'Annual Mean Tmin, Tmax, Tmean, VPD, RH (1983-2020)',
vAxis: {title: 'Temperature (°C), VPD (kPa), RH (%)'},
hAxis: {title: 'Year'},
lineWidth: 2,
pointSize: 3,
series: {
0: {color: 'blue', lineWidth: 2},
1: {color: 'red', lineWidth: 2},
2: {color: 'purple', lineWidth: 2},
3: {color: 'green', lineWidth: 2},
4: {color: 'orange', lineWidth: 2}
}
});
print(chart);