【GEE 学习】GEE提取一个数据集的两个波段,计算月均值,批量处理

// 选取同一数据集的两个波段,计算两个波段的月均值,批量处理,导出数据
// 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(Google Earth Engine)是一个强大的云平台,用于处理地球科学相关的海量数据。在GEE计算均值降水量,通常会涉及以下几个步骤: 1. 数据获取:首先需要选择合适的数据集。对于降水量,常用的数据集有TRMM(Tropical Rainfall Measuring Mission)、GPM(Global Precipitation Measurement)等卫星观测数据。 2. 时间筛选:根据需求选择特定的时间范围,比如一年中的特定份或者多年的特定份。 3. 空间筛选:根据研究区域确定空间范围,可以是特定的地理位置或行政区划。 4. 计算均值:利用GEE的编程接口,将所选时间范围内的数据进行聚合,计算均值。例如,可以使用GEE提供的`reduce`方法来计算每个的平均降水量。 5. 结果分析与可视化:分析得到的均值数据,并使用GEE的可视化工具进行展示。 下面是一个简化的示例代码段,展示了如何在GEE中使用JavaScript API计算特定区域内某个份的降水量平均值: ```javascript var startDate = ee.Date('2020-01-01'); var endDate = ee.Date('2020-01-31'); // 加载TRMM数据集 var trmm = ee.ImageCollection('NASA/GPM_L3/IMERG_V06') .filterDate(startDate, endDate) .select('precipitationCal'); // 计算均降水量 var monthlyMeanPrecipitation = trmm.mean().clip(yourAreaOfInterest); // 将结果添加到地图上进行可视化 Map.centerObject(yourAreaOfInterest, 5); Map.addLayer(monthlyMeanPrecipitation, {min: 0, max: 300}, 'Monthly Mean Precipitation'); // 导出结果到Google Drive或作为资产保存 Export.image.toDrive({ image: monthlyMeanPrecipitation, description: 'monthly_precipitation', scale: 1000, region: yourAreaOfInterest }); ``` 请注意,上述代码仅为示例,实际应用时需要根据具体数据集和需求进行调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值