基于遥感的地表温度反演主要有三种,辐射传输方程法、单窗算法和劈窗算法。在遥感生态指数(RSEI)的地表温度反演用到的是辐射传输方程算法。接下来,简单说一下覃志豪的单窗算法反演地表温度的基本操作。
原理:
其中,Ts为地表真实温度,是我们要计算的值;a、b为常量,a=-67.355351,b=0.458606;C、D为中间变量,为大气平均作用温度(单位:K),可以用普朗克公式的反函数获取。
其中 表示地表比辐射率,t为当天大气的透射率
大气平均作用温度 与近地面气温 (一般为2m)存在以下的线性关系:(注:、的单位均为华氏度 K,而不是摄氏度)
(热带平均大气)
(中纬度夏季平均大气)
(中纬度冬季平均大气)
其中,是大气平均作用温度, 是遥感图像获取时当地的气温。
K1、K2是卫星发射前的预设常量,具体值如下图所示
原理大概就这样。由此,单床算法反演地表温度,需要3个参数,分别是:大气平均作用温度、大气透射率、地表比辐射率。接下来,就是具体操作了~
1、从地理空间空间数据云下载Landsat8卫星遥感影像,尽量找云量少的。本次的研究区是宁夏中卫市沙坡头区。打开头文件,查看该遥感影像的基本信息,如图1所示
2、辐射校正。打开_MTL文件,选择envi辐射校正工具【Radiometric Calibration】,依次校正多光谱波段和热红外波段。校正多光谱波段时参数如图2-2所示,热红外波段参数设置如2-3所示。
3、对多光谱波段进行大气校正,得到可见光波段的反射率图像 (该反射率值被放大大了10000倍)。大气校正参数设置参见文章 遥感生态指数(RSEI)——图像预处理
4、获取研究区当天的大气透射率。计算大气剖面参数的网址:https://atmcorr.gsfc.nasa.gov/
(推荐一个可以查询历史天气的网站:https://www.wunderground.com/
注:该网站气温为华氏度,需换算成摄氏度,大气压单位为英寸汞(inHg),需换算成毫巴),得到结果如图7所示,得到当天的大气透射率为 0.73
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
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℃(地表温度比体感温度高~)
11、裁剪研究区、温度分级、出图。效果图如下图所示:(南部的蓝色点点的低温区是由于云层照成的误差~)