青海湖作为中国最大的内陆湖,其季节性结冰与消融过程不仅是区域气候的“晴雨表”,也是生态监测的重要指标。本文将通过Google Earth Engine(GEE)平台,结合Landsat 8/9遥感数据,完整还原青海湖2022-2023年“未结冰—结冰—消融”的全周期变化,并附上可直接运行的代码与可视化成果,适合遥感初学者和生态爱好者参考。
一、研究背景与数据说明
1.1 青海湖结冰消融的科学意义
青海湖位于青藏高原东北部,由于海拔高(约3200米)、气候寒冷,每年冬季会经历完整的“结冰—封冻—消融”过程:
- 未结冰期(10-11月):湖面保持液态,水体吸热储存能量;
- 结冰期(12-次年3月):随气温下降,湖岸先结冰,逐步扩展至全湖;
- 消融期(4-7月):春季气温回升后,冰层从边缘向中心消融,最终完全消失。
这一过程受气温、风力等气候因素影响,通过遥感监测可直观反映区域气候变化对湖泊生态的影响。
1.2 数据选择:Landsat 8/9地表反射率数据
本次使用的遥感数据为Landsat 8和Landsat 9的T1_L2级地表反射率产品(数据集ID:LANDSAT/LC08/C02/T1_L2和LANDSAT/LC09/C02/T1_L2),优势在于:
- 空间分辨率30米:能清晰捕捉湖岸结冰细节;
- 时间覆盖完整:Landsat 8(2013年至今)与Landsat 9(2021年至今)衔接,可获取连续数据;
- 预处理完善:已完成大气校正,反射率数据可直接用于可视化。
我们将重点提取红(RED)、绿(GREEN)、蓝(BLUE)三个波段,合成真彩色影像,直观展示湖面结冰状态。
二、GEE代码实现全流程
2.1 核心思路
- 定义青海湖边界范围;
- 加载Landsat 8/9数据并预处理(云掩膜、波段重命名);
- 按“未结冰—结冰—消融”5个阶段,筛选对应月份数据;
- 合成月度影像(取当月无云影像的中值);
- 可视化并导出结果。
2.2 完整代码与关键步骤解析
第一步:定义研究区域与基础函数
// 青海湖边界(经纬度范围)
var qinghai_lake = ee.Geometry.Polygon([[
[99.5, 37.3],
[100.8, 37.3],
[100.8, 36.5],
[99.5, 36.5]
]]);
// 云掩膜函数:去除云及云阴影像素
function maskClouds(image) {
var qa = image.select('QA_PIXEL'); // 质量控制波段
// 云(bit3)和云阴影(bit4)的掩码
var cloudMask = qa.bitwiseAnd(1 << 3).or(qa.bitwiseAnd(1 << 4));
return image.updateMask(cloudMask.not()); // 保留非云像素
}
// 波段重命名:统一Landsat 8和9的波段名称(便于合并)
function renameBands(image) {
return image.select(
['SR_B2', 'SR_B3', 'SR_B4', 'SR_B5', 'SR_B6', 'SR_B7'],
['BLUE', 'GREEN', 'RED', 'NIR', 'SWIR1', 'SWIR2']
);
}
// 真彩色可视化参数(Landsat反射率值范围)
var visParamsTrueColor = {
bands: ['RED', 'GREEN', 'BLUE'], // 红、绿、蓝波段合成
min: 7000,
max: 22000,
};
关键说明:
- 青海湖边界用多边形定义,后续数据将裁剪至该范围;
- 云掩膜通过
QA_PIXEL波段的云标识位实现,确保影像“无云”; - 波段重命名后,Landsat 8和9的数据格式一致,可直接合并处理。<

最低0.47元/天 解锁文章
625

被折叠的 条评论
为什么被折叠?



