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数据,按步骤操作一遍——你会惊讶于修正后的温度分布如何真实反映城市热岛格局。
动手后遇到卡点?在评论区留下你的报错截图或代码片段,我会抽三位读者免费诊断数据流程!
-
ArcPy如何批量处理安然产品数据?GIS自动化巡检方案(含:脚本源码) 2026-03-03 08:30:02
-
ArcPy如何批量处理平安产品带图片?GIS属性关联与自动化制图全解(附:完整代码) 2026-03-03 08:30:02
-
ArcPy能做什么副业?GIS数据处理接单实战攻略(附:需求渠道清单) 2026-03-03 08:30:02
-
安睿驰数据如何批量处理?ArcPy自动化方案帮你解放双手(含:代码模板) 2026-03-03 08:30:02
-
安若初裴翊在GIS数据处理中能用ArcPy解决吗?(附:批量处理脚本) 2026-03-03 08:30:02
-
批量处理GIS数据太慢?ArcPy自动化脚本开发教程(附:常用代码集) 2026-03-03 08:30:01
-
ArcPy批量处理数据卡顿?优化脚本运行效率的实战技巧(附:代码模板) 2026-03-03 08:30:01
-
城乡规划数据批量处理太慢?ArcPy脚本自动化方案(含:蔼若春代码实例) 2026-03-03 08:30:01
-
安仁承坪腰鼓队GIS空间分析,ArcPy门票数据自动化怎么搞?(附:Python脚本) 2026-03-03 08:30:01
-
ArcGIS入门学习路径怎么规划?新手必备资源包(含:软件安装与操作手册) 2026-03-03 08:30:01
-
ArcGIS模型构建器总是报错?高效自动化制图的流程优化方案(附:脚本工具箱) 2026-03-02 08:30:02
-
ArcGIS初学者如何快速上手?掌握这4大核心功能与实操技巧(附:学习路线图) 2026-03-02 08:30:02
-
ArcGIS零基础入门如何避坑?实战教学路线图(附:数据练习包) 2026-03-02 08:30:02
-
QGIS学习中如何处理dwg文件,附:CAD数据无缝衔接与坐标纠正常见问题集 2026-03-02 08:30:02
-
ArcGIS学习效率低怎么办?独家整理从入门到精通的实战心法(附:工具包) 2026-03-02 08:30:02
-
ArcGIS自学从入门到精通有多难?GIS研习社独家资源包(含:实战案例) 2026-03-02 08:30:02
-
ArcGIS学习效率低?arcgis基础教程视频合集(含:练习数据) 2026-03-02 08:30:02
-
ArcGIS实战教程:空间分析结果总是出错?排查思路与核心参数详解!(附:检查清单) 2026-03-02 08:30:02
-
ArcGIS初学总报错?环境配置和工具箱核心操作避坑指南(含:参数速查表) 2026-03-02 08:30:02
-
新手入门ArcGIS学习卡壳?arcgis基础教程实操详解(附:数据集) 2026-03-02 08:30:02