基于Landsat的地表温度反演——单窗算法

基于遥感的地表温度反演主要有三种,辐射传输方程法、单窗算法和劈窗算法。在遥感生态指数(RSEI)的地表温度反演用到的是辐射传输方程算法。接下来,简单说一下覃志豪的单窗算法反演地表温度的基本操作。

原理:

Ts=[a*(1-C-D)+(b*(1-C-D)+C+D)*T_{6}-D*T_{a}]/C

其中,Ts为地表真实温度,是我们要计算的值;a、b为常量,a=-67.355351,b=0.458606;C、D为中间变量,T_{a}为大气平均作用温度(单位:K),T_{6}可以用普朗克公式的反函数获取。

C=\varepsilon *t

D=(1-t)*(1+(1-\varepsilon )*t)

其中 \varepsilon 表示地表比辐射率,t为当天大气的透射率

大气平均作用温度 T_{a}与近地面气温 T_{0}(一般为2m)存在以下的线性关系:(注:T_{a}T_{0}的单位均为华氏度 K,而不是摄氏度)

T_{a}=17.9769+0.91715*T_{0}   (热带平均大气)

T_{a}=16.0110+0.92621*T_{0} (中纬度夏季平均大气)

T_{a}=19.2704+0.91118*T_{0}    (中纬度冬季平均大气)

其中,T_{a}是大气平均作用温度,T_{0} 是遥感图像获取时当地的气温。

T_{6}=K_{2}/ln(K_{1}/B(T_{s})+1)

K1、K2是卫星发射前的预设常量,具体值如下图所示

基于Landsat的地表温度反演——单窗算法_第1张图片 预设常量K1、K2的值

 

原理大概就这样。由此,单床算法反演地表温度,需要3个参数,分别是:大气平均作用温度、大气透射率、地表比辐射率。接下来,就是具体操作了~

1、从地理空间空间数据云下载Landsat8卫星遥感影像,尽量找云量少的。本次的研究区是宁夏中卫市沙坡头区。打开头文件,查看该遥感影像的基本信息,如图1所示

基于Landsat的地表温度反演——单窗算法_第2张图片 图1 遥感图像基本信息

2、辐射校正。打开_MTL文件,选择envi辐射校正工具【Radiometric Calibration】,依次校正多光谱波段和热红外波段。校正多光谱波段时参数如图2-2所示,热红外波段参数设置如2-3所示。

基于Landsat的地表温度反演——单窗算法_第3张图片 图2-1 辐射校正并裁剪研究区范围

 

基于Landsat的地表温度反演——单窗算法_第4张图片 图2-2 多光谱辐射校正参数
基于Landsat的地表温度反演——单窗算法_第5张图片 图2-3 热红外辐射校正参数设置

3、对多光谱波段进行大气校正,得到可见光波段的反射率图像 (该反射率值被放大大了10000倍)。大气校正参数设置参见文章  遥感生态指数(RSEI)——图像预处理

4、获取研究区当天的大气透射率。计算大气剖面参数的网址:https://atmcorr.gsfc.nasa.gov/  

(推荐一个可以查询历史天气的网站:https://www.wunderground.com/ 

注:该网站气温为华氏度,需换算成摄氏度,大气压单位为英寸汞(inHg),需换算成毫巴),得到结果如图7所示,得到当天的大气透射率为 0.73

基于Landsat的地表温度反演——单窗算法_第6张图片 图3-1大气剖面参数计算

 

基于Landsat的地表温度反演——单窗算法_第7张图片 图3-2 2019-08-18中卫市天气情况
基于Landsat的地表温度反演——单窗算法_第8张图片 图3-3 大气剖面参数

5、计算地表比辐射率

①计算NDVI:在bandmath中输入计算归一化植被指数的计算公式 (float(b4-b3))/(b4+b3)   其中,b3、b4分别选择经过大气校正之后的红波段和近红外波段。ndvi的值范围在[0,1]之间,若因为大气校正过度而使ndvi的值超出这个范围,可以使用去除异常值的方法来进行剔除

②计算植被覆盖度Fv:植被覆盖度的计算公式为 Fv = (NDVI - NDVIS)/(NDVIV-NDVIS)  ,其中 NDVIS、NDVIV分别表示NDVI的最小值和最大值。这里,取5%的置信区间,得到NDVIS=0.1,NDVIV = 0.57

因此,在bandmath中输入植被覆盖度度的公式: (b1 gt 0.57)*1+(b1 lt 0.1)*0+(b1 ge 0.1 and b1 le 0.57)*((b1-0.1) / (0.57-01))  ,其中b1为NDVI图像数据

③计算地表比辐射率Surf:根据地物不同,其辐射率也不同,一般将遥感地物分为水体、城镇和自然表面三种。三种不同类型地物像元的比辐射率估算公式如下:

E(water)=0.995

E(surface)=0.9625+0.0614*Fv-0.0461*Fv*Fv

E(building)=0.9589+0.086*Fv-0.0671*Fv*Fv

因此,在bandmath中输入地表比辐射率计算公式: (b1 le 0.1)*0.995+(b1 gt 0.1 and b1 lt 0.57)*(0.9589+0.086*b2-0.0671*b2*b2)+(b1 ge 0.57)*(0.9625+0.0614*b2-0.0461*b2*b2)   其中,b1为NDVI,b2为植被覆盖度Fv,得到地表比辐射率图像 Surf

基于Landsat的地表温度反演——单窗算法_第9张图片 图4 查看5%置信区间NDVI的值

6、计算中间参数 C

在Bandmath中输入公式 0.73*b1,b1选择地表比辐射率图(0.73是当天大气透射率),得到 C_2019

7、计算中间参数 D

在Band math中输入计算公式 (1-t)*(1+(1-b1)*t) ,其中,t = 0.73 (0.73是当天大气透射率),b1选择地表比辐射率图像

8、计算T6 ,即辐射亮温

在Bandmath中输入计算公式 1321.08/alog(774.89/b1+1),b1选择经过辐射校正后的热红外波段

9、计算Ta(T0的温度要转换成开尔文温度)

由于我的研究区是中纬度夏季,因此,Ta = 16.0110+0.92621*298.705 = 292.67455805  (78°F = 298.705K)

10、计算真实地表温度

在bandmath中输入公式 (-67.355351*(1-b1-b2)+(0.458606*(1-b1-b2)+b1+b2)*b3-b2*292.67455805)/b1  其中,b1、b2、b3分别表示中间参数C、D、T6,计算结果即为单窗算法反演出的地表温度。

若取5%的置信区间,可知沙坡头区2019年8月18日正午12点的地表温度在29-46℃(地表温度比体感温度高~)

基于Landsat的地表温度反演——单窗算法_第10张图片 图5 温度像元统计

11、裁剪研究区、温度分级、出图。效果图如下图所示:(南部的蓝色点点的低温区是由于云层照成的误差~)

基于Landsat的地表温度反演——单窗算法_第11张图片 图6 单窗算法反演温度图

 

你可能感兴趣的:(遥感图像处理,温度反演,单窗算法)