在遥感应用中,地表温度(LST)是研究区域生态、气候变化的重要参数。本文将详细介绍如何使用Google Earth Engine(GEE)平台,基于Landsat 7影像数据提取某区域特定站点的地表温度,并对目标日期进行数据插值处理,最后导出结果数据。
一、项目背景与数据准备
1.1 研究区域与目标
本研究以某区域为研究区域,选取坐标为[100.1378, 37.3306]的站点作为监测点,目标是获取2019年特定日期的地表温度数据。如果目标日期没有可用影像,则通过时间序列插值获取。
1.2 数据选择
- 遥感数据:Landsat 7 Collection 2 Tier 1数据(
LANDSAT/LE07/C02/T1_L2) - 辅助数据:某区域边界矢量数据(
projects/ee-hllutlu2024/assets/Region_Admin_Boundary) - 目标日期:2019年2月12日、4月10日、7月22日、9月24日
二、完整代码实现与解析
2.1 基础设置
首先进行基础参数设置,包括站点位置、目标日期和研究区边界:
// 定义站点位置
var site = ee.Geometry.Point([100.1378, 37.3306]);
// 定义日期列表
var dates = [
{
year: 2019, month: 4, day: 10},
{
year: 2019, month: 7, day: 22},
{
year: 2019, month: 9, day: 24},
{
year: 2019, month: 2, day: 12}
];
// 加载某区域边界
var roi = ee.FeatureCollection("projects/ee-hllutlu2024/assets/Region_Admin_Boundary");
// 加载Landsat 7 Collection 2 Tier 1数据
var landsat = ee.ImageCollection("LANDSAT/LE07/C02/T1_L2");
2.2 云掩膜处理
Landsat影像受云污染影响较大,需要进行云掩膜处理。这里使用QA_PIXEL波段进行云与云影的识别和去除:
// 修正云掩膜函数
function maskClouds(image) {
var qa = image.select('QA_PIXEL');
var cloud = qa.bitwiseAnd(1 << 3); // 云标志位 (bit 3)
var shadow = qa.bitwiseAnd(1 << 4); // 云影标志位 (bit 4)
return image.updateMask(cloud.eq(0).and(shadow.eq(0)));
}
原理说明:Landsat 7的QA_PIXEL波段中,第3位表示云,第4位表示云影。通过位运算提取这些信息,然后将云与云影区域的像素值屏蔽掉。
2.3 地表温度计算
从Landsat热红外波段计算地表温度需要进行辐射定标和大气校正,这里采用物理方法进行计算:
// 温度计算函数(物理校正)
function calculateTemp(image) {
// 1. 获取原始DN值并转换为表观温度(开尔文)
var dn = image.select('ST_B6');
var atsat = dn.multiply(0.00341802).add(149.0);
// 2. 水体比辐射率校正 (某区域适用)
var emissivity = 0.80; // 水体典型比辐射率
// 3. 物理参数设置
var lambda = 11.5; // Landsat 7 Band 6中心波长(μm)
var rho = 14380; // 物理常数(mK)
// 4. 地表温度计算公式 (Jiménez-Muñoz & Sobrino, 2003)
var lst_kel

最低0.47元/天 解锁文章
3919

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



