地表温度LST计算教程

简介: 地表温度LST计算教程

地表温度反演算法主要有以下三种:大气校正法(也称为辐射传输方程:Radiative Transfer Equation——RTE)、单通道算法和分裂窗算法。


大气校正法基本原理:首先估计大气对地表热辐射的影响, 然后把这部分大气影响从卫星传感器所观测到的热辐射总量中减去, 从而得到地表热辐射强度, 再把这一热辐射强度转化为相应的地表温度。其中所使用的NDVI、植被覆盖度以及土地利用分类数据来源于地理遥感生态网平台。


主要步骤:

1、遥感图像裁剪;

2、辐射定标;

3、大气校正;

4、计算NDVI;

5、计算地表植被覆盖度;

6、计算比辐射率;

7、计算相同温度下黑体的辐射亮度值;

8、反演地表温度。


首先打开大气校正后的影像数据

微信截图_20230111115512.png


4、计算NDVI (归一化差分植被指数)

NDVI,它的全称是 NormalizedDifference Vegetation Index,也就是归一化差分植被指数,是反映农作物长势和营养信息的重要参数之一,它的计算原理很简单,就是近红外波段的反射值与红光波段的反射值之差比上两者之和。


即 NDVI=(NIR-R)/(NIR+R),


NIR为近红外波段的反射值,R为红光波段的反射值。


植被指数(NDVI)是检测植被生长状态、植被覆盖度和消除部分辐射误差等。NDVI能反映出植物冠层的背景影响,如土壤、潮湿地面、雪、枯叶、粗糙度等,且与植被覆盖有关。


Toolbox-->Spectral-->vegetation-->NDVI

微信截图_20230111115520.png

微信截图_20230111115529.png


结果如下:

微信截图_20230111115537.png


5、植被覆盖指数

计算植被覆盖度Fv采用的是混合像元分解法,将整景影像的地类大致分为水体、植被和建筑,具体的计算公式:

FV = (NDVI- NDVIS)/(NDVIV - NDVIS)


其中,NDVI为归一化差异植被指数,取NDVIV = 0.70和NDVIS = 0.00,且有,当某个像元的NDVI大于0.70时,FV取值为1;当NDVI小于0.00,FV取值为0。


Toolbox-->Band Ratiio-->Band Math

输入公式 :(b1 gt 0.7)*1+(b1 lt 0.05)*0+(b1 ge 0.05 and b1 le 0.7)*((b1-0.05)/(0.7-0.05))

微信截图_20230111115555.png

微信截图_20230111115605.png


结果如下

微信截图_20230111115618.png


6、计算比率辐射

根据前人的研究,将遥感影像分为水体、城镇和自然表面3种类型。本专题采取以下方法计算研究区地表比辐射率:水体像元的比辐射率赋值为0.995,自然表面和城镇像元的比辐射率估算则分别根据下式进行计算:

εsurface= 0.9625 + 0.0614FV - 0.0461FV2

εbuilding= 0.9589 + 0.086FV - 0.0671FV2

式中,εsurface和εbuilding分别代表自然表面像元和城镇像元的比辐射率。

Toolbox-->Band Ratiio-->Band Math

公式:(b1 le 0)*0.995+(b1 gt 0 and b1 lt 0.7)*(0.9589+0.086*b2-0.0671*b2^2)+(b1 ge 0.7)*(0.9625+0.0614*b2-0.0461*b2^2)

微信截图_20230111115631.png

微信截图_20230111115643.png


结果

微信截图_20230111115651.png


7、计算相同温度下黑体的辐射亮度值

卫星传感器接收到的热红外辐射亮度值Lλ由三部分组成:大气向上辐射亮度L↑,地面的真实辐射亮度经过大气层之后到达卫星传感器的能量;大气向下辐射到达地面后反射的能量。卫星传感器接收到的热红外辐射亮度值的表达式可为(辐射传输方程):

Lλ = [ε·B(TS) + (1-ε)L↓]·τ + L↑


这里,ε为地表辐射率,TS为地表真实温度,B(TS)为普朗克定律推到得到的黑体在TS的热辐射亮度,τ为大气在热红外波段的透过率。则温度为T的黑体在热红外波段的辐射亮度B(TS)为:

B(TS) = [Lλ - L↑- τ·(1-ε)L↓]/(τ·ε)


λ为普朗克定律推到得到的黑体在TS的热辐射亮度;

Lu为大气向上辐射亮度;

Ld为大气向上辐射亮度。


在NASA官网(http://atmcorr.gsfc.nasa.gov/)中输入成影时间以及中心经纬度,则会提供上式中所需要的参数。


打开遥感影像文件夹中…………MTL.txt的索引文件找到经纬度、时间

微信截图_20230111115701.png


打开网址http://atmcorr.gsfc.nasa.gov/

微信截图_20230111115707.png


编辑

微信截图_20230111115715.png


Toolbox-->Band Ratiio-->Band Math

公式为

(b2-Lu-λ*(1-b1)*Ld)/(λ*b1)

(b2-0.22-0.96*(1-b1)*0.39)/(0.96*b1)

微信截图_20230111115725.png

微信截图_20230111115738.png


结果:

微信截图_20230111115746.png


8、反演地表温度

在获取温度为TS的黑体在热红外波段的辐射亮度后,根据普朗克公式的反函数,求得地表真实温度TS:

TS = K2/ln(K1/B(TS)+ 1)

landsat4、5:对于TM,K1 =607.76 W/(m2µmsr),K2=1260.56K。

landsat 7: 对于ETM+,K1=666.09 W/(m2µmsr),K2=1282.71K。

landsat 8: 对于TIRS Band10,K1= 774.89 W/(m2µmsr),K2 =1321.08K。

Toolbox-->Band Ratiio-->Band Math

公式:(1321.08)/alog(774.89/b1+1)-273

微信截图_20230111115754.png

微信截图_20230111115811.png


结果:

微信截图_20230111115840.png

右键图像-->Raster color slice 查看温度数据

同时地理遥感生态网平台也正式发布该项数据,数据来源请引用:地理遥感生态网科学数据注册与出版系统

相关文章
|
数据挖掘 编译器 Python
忽略NoData计算多时相遥感影像各个像元的平均值:Python
本文介绍基于Python中whitebox模块,对大量长时间序列栅格遥感影像的每一个像元进行忽略NoData值的多时序平均值求取~
184 2
忽略NoData计算多时相遥感影像各个像元的平均值:Python
|
7月前
Google Earth Engine(GEE)——用填充后的Landsat7影像进行LST地表温度计算(C值转化为K值)
Google Earth Engine(GEE)——用填充后的Landsat7影像进行LST地表温度计算(C值转化为K值)
122 2
|
6月前
|
Python
R语言遍历文件夹求取其中所有栅格文件的平均值
通过NAvalue(tif_file_all) <- -10000这句代码,将值为-10000的像元作为NoData值的像元,防止后期计算平均值时对结果加以干扰。   接下来,我们通过file.path()函数配置一下输出结果的路径——其中,结果遥感影像文件的名称就可以直接以其所对应的条带号来设置,并在条带号后添加一个_mean后缀,表明这个是平均值的结果图像;但此外,这个仅仅是文件的名字,还需要将文件名与路径拼接在一起,才可以成为完整的保存路径,因此需要用到file.path()函数。最后,将结果图像通过writeRaster()函数加以保存即可,这句代码的解释大家同样参考R语言求取大量遥感
189 0
|
7月前
|
传感器 算法 数据挖掘
基于ENVI与ERDAS的Landsat 7 ETM+单窗算法地表温度(LST)反演
基于ENVI与ERDAS的Landsat 7 ETM+单窗算法地表温度(LST)反演
148 1
|
7月前
|
人工智能
GEE数据的白天day/夜晚night LST数据按照QC掩膜后的结果差异明显
GEE数据的白天day/夜晚night LST数据按照QC掩膜后的结果差异明显
79 0
|
7月前
|
传感器 存储 编解码
基于ENVI的Landsat 7地表温度(LST)大气校正方法反演与地物温度分析
基于ENVI的Landsat 7地表温度(LST)大气校正方法反演与地物温度分析
264 1
|
7月前
|
存储 定位技术 Python
Python中ArcPy实现对大量长时间序列栅格遥感影像批量逐像元求取像素平均值
Python中ArcPy实现对大量长时间序列栅格遥感影像批量逐像元求取像素平均值
104 1
|
存储 Python
大量遥感影像两两分别相减并求差值:Python
本文介绍基于Python中ArcPy模块,对大量栅格遥感影像文件批量进行相减做差的方法~
139 1
大量遥感影像两两分别相减并求差值:Python
|
存储 Python
Python对多时相的遥感影像加以各像元平均值的求取
本文介绍基于Python中ArcPy模块,对大量长时间序列栅格遥感影像文件的每一个像元进行多时序平均值的求取~
237 1
Python对多时相的遥感影像加以各像元平均值的求取
|
Python
Python实现温度转换
Python实现温度转换
728 0
Python实现温度转换