Landsat 8热红外数据?地表温度如何计算?
为什么你算的地表温度总像“开水烫脚”?先别急着怪数据
上周一位研究生私信我:“Dr. Gis,我用Landsat 8热红外波段算了地表温度,结果城区全是50℃以上,郊区也动不动40℃+——这合理吗?” 我一看他的流程,果然踩了经典坑:直接用亮温当真实温度。这就像拿体温计测空气温度,还纳闷“怎么老是37度”。

我在参与长三角城市群热岛效应评估项目时,初期团队也犯过同样错误——把Band 10的辐射亮度值直接转成温度,结果上海外滩显示62℃,差点被甲方当成“气候灾难报告”打回来重做。
热红外≠温度计:理解Landsat 8的“间接测温”原理
Landsat 8的Band 10(10.6-11.2μm)记录的是地表发射的热辐射能量,而非直接温度。这好比你站在远处看一块铁板——你能感知它发红发亮(辐射强),但不知道确切温度,除非知道它的“黑度”(发射率)和大气干扰程度。
计算真实地表温度(LST, Land Surface Temperature)需三步走:
- 辐射定标:将DN值转为辐射亮度(Top of Atmosphere Radiance)
- 大气校正:扣除大气吸收/散射影响,得到地表真实辐射
- 发射率校正:根据地物类型调整“黑度系数”,反演真实温度
手把手实战:用Python+QGIS五步搞定准确LST
以下流程基于USGS官方推荐的单窗算法简化版,适合初学者快速上手。假设你已下载Landsat 8 Level-1数据(含MTL元数据文件)。
Step 1:辐射定标——把像素值变成物理量
从MTL文件中提取增益(RADIANCE_MULT_BAND_10)和偏移(RADIANCE_ADD_BAND_10),套用公式:
Lλ = M * Qcal + A
# Lλ: 辐射亮度 (W/m²/sr/μm)
# Qcal: 像素原始DN值
# M, A: 增益与偏移(MTL文件提供)Step 2:亮温计算——获得“大气顶层温度”
用普朗克函数反推亮温(注意单位转换!):
Tb = K2 / ln(K1 / Lλ + 1)
# Tb: 亮温 (开尔文K)
# K1=774.89, K2=1321.08 (Band 10常数,见MTL)Step 3:发射率估算——给地表“贴材质标签”
这是最关键的一步!不同地物发射率差异巨大:
| 地物类型 | 发射率ε |
|---|---|
| 水体 | 0.99 |
| 植被 | 0.97 |
| 裸土 | 0.93 |
| 混凝土 | 0.89 |
建议用NDVI阈值法自动分类:ε = 0.004 * NDVI + 0.986(适用于混合像元)
Step 4:大气校正——剥掉“空气滤镜”
简易方法:使用NASA提供的大气校正参数计算器,输入影像获取时间、中心经纬度,获取大气透过率τ、上行辐射Lu、下行辐射Ld。若无网络工具,可用经验值τ≈0.85(中纬度晴天)。
Step 5:真实温度反演——终极公式登场
LST = [Tb / (1 + (λ * Tb / ρ) * ln(ε))] - 273.15
# λ: 中心波长10.9μm → 10.9×10⁻⁶m
# ρ: 1.438×10⁻² m·K (普朗克常数相关)
# 最后减273.15转为摄氏度更精确可采用Jiménez-Muñoz单通道算法(见参考文献),但上述简化版误差通常<2℃。
避坑指南:三个让你数据可信的关键细节
- 时间选择:避免晨昏时段(太阳高度角<30°),此时热惯性导致温度失真
- 云掩膜:务必用QA_PIXEL波段剔除云像元,否则温度值会异常偏低
- 发射率陷阱:金属屋顶ε可能低至0.2!城市研究建议结合土地利用图手动修正
总结:温度不是算出来的,是“翻译”出来的
记住这个核心逻辑链:DN值→辐射亮度→亮温→(大气+发射率校正)→真实地表温度。跳过任何一环,你的结果都会变成“科幻小说”。现在打开你的Landsat 8数据,按步骤操作一遍——你会惊讶于修正后的温度分布如何真实反映城市热岛格局。
动手后遇到卡点?在评论区留下你的报错截图或代码片段,我会抽三位读者免费诊断数据流程!
-
地理信息系统软件太贵?这5款开源工具免费好用(附:安装包) 2026-04-13 08:30:02
-
地理信息系统专业代码是多少?新版学科目录解读(含:对照表) 2026-04-13 08:30:02
-
地理信息系统原理太难懂?汤国安教程第二版全解析(附:PDF) 2026-04-13 08:30:02
-
地理信息系统和遥感怎么分?三张图看懂核心区别(含:应用案例) 2026-04-13 08:30:02
-
地理信息系统原理太难懂?图解核心逻辑与架构(附:思维导图) 2026-04-13 08:30:02
-
地理信息系统的英文缩写是什么?入门必看指南(含:学习图谱) 2026-04-13 08:30:01
-
地理信息系统怎么选?最新专业大学排名深度解读(附:学科评估) 2026-04-13 08:30:01
-
GeoPandas库安装报错?GIS环境配置(附:离线包) 2026-04-12 08:30:02
-
GeoPandas安装难?GIS环境配置全攻略(附:懒人包) 2026-04-12 08:30:02
-
地理信息系统入门难吗?零基础高效学习路线(附:视频教程) 2026-04-12 08:30:02
-
GeoPandas绘图太丑?GIS可视化教程(含:配色表) 2026-04-12 08:30:02
-
地理信息系统专业怎么选?五大高薪就业方向盘点(含:薪资表) 2026-04-12 08:30:02
-
地理信息系统能干什么?十大应用场景全解析(含:学习路线) 2026-04-12 08:30:02
-
GeoPandas如何筛选点?空间查询实战(附:源码) 2026-04-12 08:30:01
-
GeoPandas是什么?GIS空间分析实战指南(含:数据) 2026-04-12 08:30:01
-
ArcGIS处理数据太慢?GeoPandas高效分析实战(附:完整源码) 2026-04-12 08:30:01
-
还在用ArcGIS?GeoPandas官方文档实操详解(附:完整代码) 2026-04-12 08:30:01
-
SHP数据清洗太耗时?GeoPandas批量处理实战(附:完整脚本) 2026-04-11 08:30:02
-
GeoPandas怎么读?GIS空间分析实战(附:源码) 2026-04-11 08:30:02
-
GIS开发工程师招聘简章怎么写?大厂JD全攻略(附:通用模板) 2026-04-11 08:30:01