// 选取同一数据集的两个波段,计算两个波段的月均值,批量处理,导出数据
// 20240118 10:25 YMJ
// 定义区域
var geometry = ee.FeatureCollection("users/yuanmengjia9991/area");
// 定义时间范围
var start = ee.Date('2010-01-01');
var end = ee.Date('2018-12-31');
// 筛选数据集
var collection = ee.ImageCollection("MODIS/061/MCD43A3")
.select(["Albedo_BSA_shortwave", "Albedo_WSA_shortwave"])
.filterDate(start, end)
// 获取start和end之间的事件列表
var months = ee.List.sequence(0, end.difference(start, 'month'));
// 定义计算每月内影像均值的函数
var monthlyMeans = ee.ImageCollection.fromImages(
months.map(function (i) {
// 创建一个遍历
i = ee.Number(i);
var startMonth = start.advance(i, 'month');
var endMonth = start.advance(i.add(1), 'month');
// 筛选每个月的图像
var monthlyImages = collection.filterDate(startMonth, endMonth);
// 计算每月的平均值
var monthlyMean = monthlyImages.reduce(ee.Reducer.mean()).multiply(0.001);
// 设置时间属性
monthlyMean = monthlyMean.set('system:time_start', startMonth.millis());
// 计算两个波段的平均值并添加为新波段
monthlyMean = monthlyMean.addBands(monthlyMean.select("Albedo_BSA_shortwave_mean")
.add(monthlyMean.select("Albedo_WSA_shortwave_mean"))
.divide(2)
.rename("Albedo"));
monthlyMean = monthlyMean.clip(geometry)
return monthlyMean;
})
);
//引入批量导出函数
var batch = require('users/fitoprincipe/geetools:batch')
// 选择输出波段
var dataset = monthlyMeans.select('Albedo');
//导出影像
batch.Download.ImageCollection.toDrive(dataset, "Albedo_Folder3", {
// scale: 11100,
region: geometry,
crs: "EPSG:4326"
})
【GEE 学习】GEE提取一个数据集的两个波段,计算月均值,批量处理
最新推荐文章于 2024-08-24 15:00:00 发布