一、说明
MOD16A2.061是基于Penman-Monteith方程的8天复合蒸散量产品,空间分辨率为500米,时间范围自2001年起至今。基于GEE对ET进行时间变化分析,包括日、月、季节和年,并导出对应的栅格数据。
各位同学可以根据需求更改研究区、时间段和分辨率,当然也可以分析其他产品数据。
二、日变化特征
var geometry = table;
Map.centerObject(geometry, 7);
var dataset = ee.ImageCollection("MODIS/006/MOD16A2")
.filterDate('2018-01-01', '2020-12-31')
.filterBounds(geometry)
.select('ET');
var convertET = function(image) {
var img = image.multiply(0.1);
return img.set('system:time_start', image.get('system:time_start'));
};
dataset = dataset.map(convertET);
if (dataset.size().getInfo() === 0) {
print('Error: No data found for the given time and region');
} else {
print(ui.Chart.image.series(dataset, geometry, ee.Reducer.mean(), 1000));
}
function exportImageCollection(imgCol) {
var indexList = imgCol.reduceColumns(ee.Reducer.toList(), ["system:index"]).get("list");
indexList.evaluate(function(indexs) {
for (var i = 0; i < indexs.length; i++) {
var image = imgCol.filter(ee.Filter.eq("system:index", indexs[i])).first();
image = image.clip(geometry);
Export.image.toDrive({
image: image,
description: 'MODIS_ET_' + indexs[i],
fileNamePrefix: 'MODIS_ET_' + indexs[i],
folder: 'MODIS_ET_Images',
region: geometry,
scale: 1000,
crs: "EPSG:4326",
maxPixels: 1e13
});
}
});
}
exportImageCollection(dataset);
三、月尺度
var geometry = ee.FeatureCollection('users/yusuhenhao/beijing');
Map.centerObject(geometry, 8);
var dataset = ee.ImageCollection("MODIS/006/MOD16A2").select('ET');
var monthlyET = ee.FeatureCollection([]);
for (var i = 2015; i <= 2020; i++) {
for (var j = 1; j <= 12; j++) {
var startDate = ee.Date.fromYMD(i, j, 1);
var endDate = startDate.advance(1, 'month').advance(-1, 'day');
var data_collection = dataset.filterDate(startDate, endDate).sum();
var monthlySum = data_collection.multiply(0.1).clip(geometry).set({
'year': i,
'month': j,
'system:time_start': startDate.millis()
});
var meanET = monthlySum.reduceRegion({
reducer: ee.Reducer.mean(),
geometry: geometry,
scale: 1000,
maxPixels: 1e13
}).get('ET');
var feature = ee.Feature(null, {
'time': startDate.format('YYYY-MM'),
'ET_mean': meanET
});
monthlyET = monthlyET.merge(ee.FeatureCollection([feature]));
Export.image.toDrive({
image: monthlySum,
description: i + '_' + j + '_ET',
fileNamePrefix: i + '_' + j + '_ET',
folder: 'MOD17A2H_ET',
scale: 1000,
region: geometry,
crs: "EPSG:4326",
maxPixels: 1e13
});
}
}
var chart = ui.Chart.feature.byFeature(monthlyET, 'time', 'ET_mean')
.setChartType('LineChart')
.setOptions({
title: 'Monthly ET (2018-2020)',
hAxis: {
title: 'Time',
slantedText: true,
slantedTextAngle: 45
},
vAxis: {title: 'ET (mm)'},
lineWidth: 2,
pointSize: 4,
colors: ['#1f77b4']
});
print(chart);
四、季节尺度
春:3-5月,夏:6-8月,秋:9-11月,冬:12-次年2月
var geometry = table;
var etCollection = ee.ImageCollection("MODIS/006/MOD16A2").select('ET');
var seasons = {
'spring': [3, 4, 5],
'summer': [6, 7, 8],
'autumn': [9, 10, 11],
'winter': [12, 1, 2]
};
var table = ee.List([]);
for (var year = 2015; year <= 2020; year++) {
for (var season in seasons) {
var months = seasons[season];
var startYear = year;
var endYear = (season === 'winter') ? year + 1 : year;
var seasonalCollection = ee.ImageCollection(
months.map(function(month) {
var startDate = ee.Date.fromYMD(month === 12 ? year : startYear, month, 1);
var endDate = startDate.advance(1, 'month');
return etCollection.filterDate(startDate, endDate).sum().multiply(0.1); // 单位转换为毫米
})
);
var seasonalET = seasonalCollection.sum().clip(geometry);
var meanET = seasonalET.reduceRegion({
reducer: ee.Reducer.mean(),
geometry: geometry,
scale: 500,
maxPixels: 1e13
}).get('ET');
var row = ee.Feature(null, {
'Year': year,
'Season': season,
'Mean_ET': meanET
});
table = table.add(row);
Export.image.toDrive({
image: seasonalET,
description: year + '_' + season + '_ET',
fileNamePrefix: year + '_' + season + '_ET',
scale: 500,
crs: 'EPSG:4326',
region: geometry,
maxPixels: 1e13,
folder: 'seasonal_ET_data'
});
}
}
var featureCollection = ee.FeatureCollection(table);
Export.table.toDrive({
collection: featureCollection,
description: 'Seasonal_ET_Table',
fileNamePrefix: 'seasonal_et',
fileFormat: 'CSV'
});
五、生长季
代码中设置为了4-9月,可以根据研究区的生长季时间修改。
var geometry = table;
Map.centerObject(geometry, 6);
var dataset = ee.ImageCollection("MODIS/006/MOD16A2").select('ET');
var annualET = ee.FeatureCollection([]);
for (var i = 2001; i <= 2020; i++) {
var startDate = ee.Date.fromYMD(i, 5, 1);
var endDate = ee.Date.fromYMD(i, 9, 30);
var yearlyData = dataset.filterDate(startDate, endDate).sum();
var yearlyET = yearlyData.multiply(0.1).clip(geometry).set({
'year': i,
'system:time_start': startDate.millis()
});
var meanET = yearlyET.reduceRegion({
reducer: ee.Reducer.mean(),
geometry: geometry,
scale: 5000,
maxPixels: 1e13
}).get('ET');
var feature = ee.Feature(null, {
'year': i,
'ET_mean': meanET
});
annualET = annualET.merge(ee.FeatureCollection([feature]));
Export.image.toDrive({
image: yearlyET,
description: i + "_ET_SZJ",
fileNamePrefix: i + "_ET_SZJ",
folder: 'Annual_ET',
scale: 5000,
region: geometry,
crs: "EPSG:4326",
maxPixels: 1e13
});
}
var chart = ui.Chart.feature.byFeature(annualET, 'year', 'ET_mean')
.setChartType('LineChart')
.setOptions({
title: 'Annual ET (2001-2005)',
hAxis: {title: 'Year'},
vAxis: {title: 'Mean ET (mm)'},
lineWidth: 2,
pointSize: 4,
colors: ['#1f77b4']
});
print(chart);
六、年度变化
var geometry = table;
Map.centerObject(geometry, 6);
var dataset = ee.ImageCollection("MODIS/006/MOD16A2").select('ET');
var annualET = ee.FeatureCollection([]);
for (var i = 2001; i <= 2020; i++) {
var startDate = ee.Date.fromYMD(i, 1, 1);
var endDate = ee.Date.fromYMD(i, 12, 31);
var yearlyData = dataset.filterDate(startDate, endDate).sum();
var yearlyET = yearlyData.multiply(0.1).clip(geometry).set({
'year': i,
'system:time_start': startDate.millis()
});
var meanET = yearlyET.reduceRegion({
reducer: ee.Reducer.mean(),
geometry: geometry,
scale: 5000,
maxPixels: 1e13
}).get('ET');
var feature = ee.Feature(null, {
'year': i,
'ET_mean': meanET
});
annualET = annualET.merge(ee.FeatureCollection([feature]));
Export.image.toDrive({
image: yearlyET,
description: i + "_ET",
fileNamePrefix: i + "_ET",
folder: 'Annual_ET',
scale: 5000,
region: geometry,
crs: "EPSG:4326",
maxPixels: 1e13
});
}
var chart = ui.Chart.feature.byFeature(annualET, 'year', 'ET_mean')
.setChartType('LineChart')
.setOptions({
title: 'Annual ET (2001-2005)',
hAxis: {title: 'Year'},
vAxis: {title: 'Mean ET (mm)'},
lineWidth: 2,
pointSize: 4,
colors: ['#1f77b4']
});
print(chart);
七、成为会员