城市热岛效应怎么算?LST反演步骤是什么?

GIS基础理论
Dr.GIS
wowwwai GIS研习社 · 工具流程与项目排障

城市热岛效应怎么算?LST反演步骤是什么? 这是很多 GIS 学生和遥感分析初学者在做城市生态、国土空间规划、热环境评价时最常遇到的问题。简单说,城市热岛效应通常可以用地表温度,也就是 LST(Land Surface Temperature)来表达,再通过城市区与郊区、不同地类或不同等级温度区之间的对比来量化。

本文以常用的 Landsat 8/9 影像为例,说明从遥感影像预处理、LST反演、城市热岛强度计算到结果检查的完整流程。你可以在 QGIS、ArcGIS Pro、ENVI、Google Earth Engine 或 Python 中实现,核心原理是一致的。

城市热岛效应怎么算与LST反演步骤流程图
Landsat 影像计算城市热岛效应与 LST 反演的基本流程。

引言:城市热岛效应怎么算才算规范

城市热岛效应不是简单看一张“红色区域很多”的温度图,而是要先得到可靠的地表温度 LST,再用明确的统计口径计算城市热岛强度或热岛等级。

常见的计算思路有三类:

  • 城市区与郊区温差法:城市热岛强度 = 城市区平均 LST – 郊区平均 LST。
  • 地类对比法:比较建设用地、林地、水体、耕地等不同地类的 LST 差异。
  • 标准化分级法:将 LST 进行标准化或分级,提取高温区、次高温区,分析热岛空间分布。

如果你的目标是写论文、做规划分析或做城市热环境评价,建议至少同时输出两类结果:一是 LST 空间分布图,二是城市热岛强度或热岛等级统计表。

背景:为什么用 LST 反演城市热岛效应

LST 是地表温度,表示地表物体表面的热状态。它不同于气象站记录的近地面气温。遥感影像反演得到的 LST 更适合分析城市内部热环境差异,例如道路、屋顶、广场、绿地、水体之间的温度变化。

在城市热岛效应研究中,LST 反演常用的数据源包括:

  • Landsat 8/9:空间分辨率适合城市尺度研究,热红外波段常用于 LST 反演。
  • MODIS:时间分辨率高,但空间分辨率较粗,更适合区域尺度或长期序列分析。
  • Sentinel-3:可用于地表温度产品分析,但城市精细研究时空间分辨率有限。
  • 无人机热红外:分辨率高,但覆盖范围小,数据获取成本较高。

对多数 GIS 初学者来说,Landsat 8/9 是最容易上手的选择。它既有公开数据,也有成熟的 LST 反演公式和处理工具。

原理:LST反演步骤背后的核心逻辑

LST反演步骤的核心不是“套公式”,而是把卫星传感器记录到的数字值逐步转换为地表真实温度的近似值。这个过程通常包括辐射定标、亮温计算、地表比辐射率估算和地表温度校正。

1. 从 DN 值到辐射亮度

遥感影像中的像元原始值通常称为 DN 值。DN 值本身不是温度,需要利用影像元数据中的定标参数,将 DN 值转换为传感器接收到的辐射亮度。

以 Landsat 8/9 为例,常用公式为:

Lλ = ML × Qcal + AL
  • Lλ:顶部大气光谱辐射亮度。
  • ML:辐射亮度乘法定标系数。
  • AL:辐射亮度加法定标系数。
  • Qcal:影像像元 DN 值。

这些参数可以在 Landsat 影像的 MTL 元数据文件中找到。

2. 从辐射亮度到亮温

亮温是传感器观测到的等效温度,还不是最终 LST。亮温通常用热红外波段和热常数 K1、K2 计算。

BT = K2 / ln(K1 / Lλ + 1)
  • BT:亮温,单位通常为 K。
  • K1、K2:热红外波段常数,来自 MTL 元数据。
  • Lλ:辐射亮度。

如果要转为摄氏度,需要减去 273.15:

BT(℃) = BT(K) - 273.15

3. 用 NDVI 估算地表比辐射率

地表比辐射率表示地表发射热辐射的能力。不同地物的比辐射率不同,例如水体、植被、裸地、建筑物会影响 LST 反演结果。

常见做法是先计算 NDVI,再用 NDVI 阈值法估算地表比辐射率。

NDVI = (NIR - Red) / (NIR + Red)

以 Landsat 8/9 为例:

  • Red:红光波段,通常为 Band 4。
  • NIR:近红外波段,通常为 Band 5。

然后根据 NDVI 判断像元是水体、裸地、混合像元还是高覆盖植被,并赋予不同的比辐射率。

4. 从亮温校正为 LST

得到亮温和比辐射率后,就可以进行地表温度校正。常见单窗或简化算法中会用到热红外中心波长、比辐射率和亮温。

LST = BT / (1 + (λ × BT / ρ) × ln(ε))
  • LST:地表温度,单位为 K,最后可转为 ℃。
  • BT:亮温。
  • λ:热红外波段中心波长。
  • ρ:常数,常按普朗克常数、光速和玻尔兹曼常数组合计算。
  • ε:地表比辐射率。

实际应用中,如果你使用的是 Google Earth Engine 或成熟的遥感软件,也可以直接使用地表温度产品或内置算法。但无论使用哪种工具,都要理解这些变量的含义,否则很容易把亮温误当成 LST。

步骤:用 Landsat 影像完成 LST 反演和热岛计算

步骤一:准备数据

建议准备以下数据:

  • Landsat 8 或 Landsat 9 影像,优先选择云量较低的日期。
  • 研究区边界,例如城市行政区、建成区边界或自定义范围。
  • 土地利用或土地覆盖数据,用于区分建设用地、绿地、水体和郊区。
  • 可选:气象站温度数据,用于结果合理性对比。

影像日期非常重要。城市热岛效应具有明显季节性和天气敏感性。一般不建议选择多云、降雨前后或影像云污染严重的日期。

步骤二:影像预处理

在正式 LST 反演前,需要完成基础预处理:

  1. 裁剪到研究区,减少计算量。
  2. 检查云、云影和异常值。
  3. 统一坐标系,建议使用适合当地的投影坐标系。
  4. 确认热红外波段、红光波段、近红外波段与元数据文件匹配。

如果使用 QGIS,可以用“按掩膜图层裁剪栅格”“栅格计算器”等工具完成。ArcGIS Pro 中可以使用 Clip Raster、Raster Calculator 和 Extract by Mask。

步骤三:计算 NDVI

在 QGIS 栅格计算器中,Landsat 8/9 的 NDVI 可写成类似表达式:

("B5@1" - "B4@1") / ("B5@1" + "B4@1")

得到 NDVI 后,建议先检查值域是否大致在 -1 到 1 之间。如果 NDVI 出现大量远超范围的值,通常说明波段选错、数据类型不对或没有正确处理无效值。

步骤四:估算地表比辐射率

一种常见处理方式是根据 NDVI 分段设置比辐射率:

NDVI 范围 地表类型参考 比辐射率处理思路
NDVI < 0 水体或阴影 可按水体比辐射率处理,或单独掩膜
0 ≤ NDVI < 0.2 裸地、建设用地 赋较低比辐射率
0.2 ≤ NDVI ≤ 0.5 混合像元 用植被覆盖度计算
NDVI > 0.5 高覆盖植被 赋较高比辐射率

如果你的研究重点是城市建成区,建议对水体单独处理。水体的温度和比辐射率特征与建筑、道路差异很大,直接混在一起统计会影响城市热岛强度计算。

步骤五:计算亮温

使用热红外波段和 MTL 元数据中的参数计算辐射亮度和亮温。以 Landsat 8/9 常见处理为例,通常使用热红外 Band 10。Band 11 在部分研究中可能受不确定性影响较大,初学者建议优先使用 Band 10。

在栅格计算器中,计算流程可以拆成两步:

  1. 用乘法和加法定标系数计算辐射亮度。
  2. 用 K1、K2 常数计算亮温。

不要直接把热红外波段 DN 值当作摄氏温度,这是 LST 反演中最常见的错误之一。

步骤六:计算 LST 并转换为摄氏度

将亮温、中心波长和比辐射率代入 LST 校正公式。得到的结果通常是 K,需要转换为 ℃:

LST_Celsius = LST_Kelvin - 273.15

完成后,建议先查看 LST 栅格的最小值、最大值和均值。城市夏季白天地表温度较高是正常现象,但如果结果出现大面积负值、几百度或明显不符合常识的值,就要回到定标参数、单位和无效值处理环节检查。

步骤七:计算城市热岛强度

城市热岛效应怎么算,关键在于定义“城市区”和“参照区”。常见计算公式为:

UHI = LST_urban_mean - LST_rural_mean
  • UHI:城市热岛强度。
  • LST_urban_mean:城市建成区平均地表温度。
  • LST_rural_mean:郊区或非建设用地区域平均地表温度。

在 GIS 中可以用分区统计完成:

  1. 准备城市建成区和郊区面数据。
  2. 用 LST 栅格作为统计栅格。
  3. 使用 Zonal Statistics 或分区统计工具计算每个区域的平均值、最大值、最小值和标准差。
  4. 用城市区平均 LST 减去郊区平均 LST,得到城市热岛强度。

如果没有明确的郊区边界,可以用土地利用数据提取非建设用地作为参照区,但要避免把大面积水体直接作为唯一参照区,否则会夸大热岛强度。

步骤八:进行热岛等级划分

除了计算热岛强度,也可以对 LST 进行等级划分,展示热岛空间分布。常用方法包括:

  • 自然断点法:适合制图展示,但不同日期之间可比性较弱。
  • 均值标准差法:适合表达相对高温区,例如高于均值 1 个标准差为强热岛区。
  • 等间距分级法:简单直观,但可能不适合偏态分布数据。
  • 归一化指数法:适合多时相或多城市对比。

如果是论文或正式报告,建议说明分级方法和阈值来源,不要只放一张没有说明的红蓝温度图。

常见坑:LST反演和城市热岛计算容易出错的地方

1. 把亮温当成 LST

亮温只是传感器观测到的等效温度,没有考虑地表比辐射率等因素。直接用亮温分析城市热岛效应,结果可能存在系统偏差。

2. 没有处理云和云影

云和云影会严重影响热红外波段和 NDVI。云区可能表现为异常低温或异常高值,导致 LST 结果失真。建议使用质量波段、云掩膜或人工检查剔除明显污染区域。

3. 城市区和郊区定义不清

城市热岛强度依赖参照区。如果城市区边界、郊区边界或土地利用分类不清晰,不同人会算出不同结果。正式分析中要写清楚边界来源和筛选规则。

4. 水体影响统计结果

水体通常温度较低。如果在郊区参照区中包含大量水体,城市热岛强度可能被放大。建议单独统计水体,或者在城市区与郊区对比时保持地类构成尽量合理。

5. 不同日期直接比较

城市热岛效应受季节、天气、太阳高度角、地表湿度影响明显。不同日期 LST 不能简单直接比较,最好选择相近季节、相似天气条件的影像,并说明数据日期。

6. 坐标系和像元对齐问题

如果土地利用矢量、城市边界和 LST 栅格坐标系不一致,分区统计可能出现错位。统计前要检查投影、分辨率、范围和 NoData 设置。

方法比较:不同工具做 LST 反演怎么选

工具 适合人群 优点 注意事项
QGIS GIS 初学者、开源软件用户 免费,栅格计算器和分区统计够用 公式参数需要自己核对,批处理相对麻烦
ArcGIS Pro ArcGIS 用户、规划和科研单位 栅格工具完整,制图和统计方便 需要许可,公式步骤仍需自己理解
Google Earth Engine 批量时序分析用户 适合多时相、大范围、自动化处理 需要掌握 JavaScript 或 Python API,注意数据产品含义
Python 数据分析和自动化用户 可重复、可批处理,适合论文和项目流程固化 需要熟悉 rasterio、numpy、geopandas 等库
ENVI 遥感专业用户 遥感处理功能成熟,界面化程度高 部分参数和模块需要结合文档确认

如果你只做一幅城市热岛图,QGIS 或 ArcGIS Pro 就足够。如果要做多年、多季节、多城市对比,建议使用 Google Earth Engine 或 Python 建立可重复流程。

检查清单:提交结果前必须核对的内容

  • 影像日期是否适合研究目的,是否避开大面积云污染。
  • 使用的是否为 Landsat 8/9 正确热红外波段,常见为 Band 10。
  • MTL 元数据中的 ML、AL、K1、K2 参数是否与影像匹配。
  • NDVI 波段是否选对,红光和近红外是否没有写反。
  • 地表比辐射率是否按地类或 NDVI 合理估算。
  • LST 单位是否从 K 正确转换为 ℃。
  • 城市区和郊区边界是否明确,是否存在大量水体干扰。
  • 分区统计前,矢量和栅格坐标系是否一致。
  • 热岛等级划分方法是否写清楚。
  • 最终图件是否包含图例、比例尺、坐标信息和数据日期。

FAQ:城市热岛效应怎么算与 LST 反演常见问题

1. 城市热岛效应一定要用 LST 计算吗?

不一定。城市热岛效应也可以用气象站气温计算,但遥感 LST 更适合分析城市内部空间差异。如果研究目标是制图、空间分析和地类对比,LST 是更常用的方法。

2. LST 和气温有什么区别?

LST 是地表表面的温度,气温通常是近地面空气温度。建筑屋顶、道路、水体和植被的 LST 差异可能很大,但它们附近的空气温度变化相对缓慢。因此,LST 更能反映地表热环境差异。

3. Landsat 8 做 LST 反演应该用 Band 10 还是 Band 11?

多数入门和常规研究建议优先使用 Band 10。Band 11 在某些情况下不确定性较高,使用前应查阅对应数据说明和研究方法。不要把两个热红外波段随意平均后当作 LST。

4. 城市热岛强度的单位是什么?

如果用 LST 均值差计算,城市热岛强度单位通常是 ℃。例如城市建成区平均 LST 为 38℃,郊区平均 LST 为 33℃,则热岛强度为 5℃。

5. 没有郊区边界,城市热岛效应怎么算?

可以用土地利用数据提取非建设用地作为参照区,也可以在城市外围设置缓冲区作为郊区样本。但要剔除大面积水体、云影和异常像元,并在报告中说明参照区定义。

6. 为什么我反演的 LST 温度特别高?

可能原因包括单位没有从 K 转为 ℃、热红外波段定标参数用错、云污染未处理、比辐射率设置不合理,或者研究区包含大量裸地和硬化地表。建议先检查最大值、最小值和异常区域分布。

7. 可以直接下载地表温度产品,不自己反演吗?

可以。如果研究重点是应用分析而不是算法推导,使用官方或成熟平台提供的地表温度产品是可行的。但仍要检查产品空间分辨率、时间范围、质量控制标识和单位。

结论:先保证 LST 可靠,再谈城市热岛效应

城市热岛效应怎么算,核心是两步:先通过规范的 LST反演步骤得到可靠的地表温度,再用清晰的城市区和郊区定义计算温差或热岛等级。不要跳过辐射定标、比辐射率和质量检查,也不要只凭颜色深浅判断热岛强弱。

实际项目中,建议采用 Landsat 8/9 影像完成 LST 反演,用土地利用或建成区边界做分区统计,并在结果中同时说明数据日期、分级方法、参照区定义和异常值处理方式。这样得到的城市热岛效应分析结果,才更适合用于论文、规划评价和 GIS 制图表达。