landsat计算lst
时间: 2025-07-21 21:15:32 浏览: 3
### 如何利用 Landsat 数据计算地表温度 (LST)
#### 地表温度的概念及其重要性
地表温度(Land Surface Temperature, LST)是指地球表面的物理温度,它反映了地面的能量平衡状态。传统的气象站和现代遥感技术都可以用于测量 LST[^1]。然而,由于气象站点的空间覆盖率较低,而遥感技术能够提供大范围、高分辨率的数据,因此成为研究全球变化背景下地表温度的重要工具。
#### 使用 Landsat 数据计算 LST 的基本流程
##### 1. 获取并预处理 Landsat 数据
Landsat 卫星系列提供了丰富的多光谱影像数据,其中 Landsat 8 是目前最常用的一种。为了计算 LST,通常需要下载包含热红外波段(Band 10 或 Band 11)以及可见光/近红外波段的数据集。这些数据可以从 USGS Earth Explorer 下载,并经过辐射校正、大气校正等预处理步骤来提高精度[^2]。
##### 2. 辐射亮度转换
通过以下公式将原始 DN 值(Digital Number)转化为辐亮度 $L$:
$$
L = M_L \cdot Q_{cal} + A_L
$$
其中:
- $M_L$: 影像元数据中的乘法因子;
- $Q_{cal}$: 波段对应的像素值;
- $A_L$: 影像元数据中的加法因子;
此过程需依据具体使用的 Landsat 数据版本完成参数提取[^3]。
##### 3. 计算亮温 Brightness Temperature ($T_B$)
由 Planck 定律推导出的亮温公式如下所示:
$$
T_B = K_2 / (\ln(K_1/\lambda + 1))
$$
这里需要注意的是不同波段对应不同的常数项 $K_1$, $K_2$ 可从官方文档查询得到。上述 $\lambda$ 表示实际测得的辐亮度值。
##### 4. 考虑发射率修正最终获得真实地表温度
理想情况下假设目标物体具有统一已知的发射率 ε,则可进一步调整得出精确结果:
$$
T_s=\frac{T_b}{\left(\varepsilon+\sqrt{\varepsilon}\right)}
$$
但在实际情况中往往采用经验模型或者分类方法估计各土地覆被类型的平均发射特性再代入运算之中。
```python
import ee
# 初始化 Google Earth Engine API
ee.Initialize()
def calculate_lst(image):
# 提取热红外地形反射率
brightness_temp = image.select('B10').multiply(0.1).subtract(273.15);
# 发射率简化设定为固定值或按类别赋值逻辑实现复杂情况下的动态分配
emissivity = ee.Image.constant(0.95);
lst = brightness_temp.expression(
'(brightness * ((emissivity + sqrt(emissivity)) ** (-1)))', {
'brightness': brightness_temp,
'emissivity': emissivity
}
);
return image.addBands(lst.rename('LST'));
```
以上代码片段展示了如何在 GEE 平台上加载单张 Landsat 图像并通过表达式节点定义新的 LST 属性层。
---
#### 结论
综上所述,基于 Landsat 数据的地表温度反演涉及多个环节,包括但不限于数据准备阶段的选择与清洗工作、核心算法设计如辐射定标到绝对温度映射关系确立再到考虑材料属性差异引入额外补偿机制等方面均有所体现。
阅读全文
相关推荐


















