TM数据单窗算法和单通道算法反演地表温度(IDL实现)

话不多说,先上图:

注:数据来源(地理空间数据云),为西安市2006年7月28日数据.

反演结果1:

             TM数据单窗算法和单通道算法反演地表温度(IDL实现)_第1张图片

注:两种算法反演的结果总体趋势比较接近,但单窗算法相对于单通道算法结果偏低,二者相差2.45°C(来自:TM热波段图像的地表温度反演算法与实验分析).

反演结果2:

TM数据单窗算法和单通道算法反演地表温度(IDL实现)_第2张图片

图都上完了,来点硬货。

陆地表面温度(land surface temperature,简称LST)是地表能量平衡和资源环境变化的重要参数。地面监测站获取温度信息准确,但不能获取大范围温度值及其时空分布,热红外遥感的出现解决了这个难题。热红外遥感技术能获取热红外波段的辐射能量,根据地表物体的发射率特性反演得到其温度,实现大范围的温度信息获取,因而热红外遥感在地表温度反演方面有着重要的作用。

TM数据单窗算法和单通道算法反演地表温度(IDL实现)_第3张图片

IDL代码

    result = 1.0094+0.047*alog(NDVI)
    ;NDVI<0.157
    w=where(NDVI LT 0.157,count)
    if count gt 0 then result[w]=0.923
    ;NDVI>0.727
    w=where(NDVI gt 0.727,count)
    if count gt 0 then result[w]=0.994
    ;水体
    w=where(MNDWI gt 0,count)
    if count gt 0 then result[w]=0.995

 

TM数据单窗算法和单通道算法反演地表温度(IDL实现)_第4张图片

TM数据单窗算法和单通道算法反演地表温度(IDL实现)_第5张图片

IDL代码


    x1=0.14714D*w^2-0.15583*w+1.1234
    x2=-1.1836D*w^2-0.37607*w-0.52894
    x3=-0.04554D*w^2+1.8719*w-0.39071
    
    Y=(Tb^2)/(c2*L*((11.457^4*L)/c1+1/11.457))
    Z=-Y*L+Tb
    result=Y*((x1*L+x2)/Emiss+x3)+Z-273.15
     result[where(~finite(result))] = 0

TM数据单窗算法和单通道算法反演地表温度(IDL实现)_第6张图片

TM数据单窗算法和单通道算法反演地表温度(IDL实现)_第7张图片

IDL代码

C=Trans*Emiss
  D=(1-Trans)*(1+Trans*(1-Emiss))
  result=(float(a)*(1-float(C)-float(D))+(float(b)*(1-float(C)-float(D))+float(C)+float(D))*float(Tb)-float(D)*float(Ta))/float(C)-273.15
  result[where(~finite(result))] = 0

参考:1.徐永明老师的遥感二次开发语言IDL

           2.TM热波段图像的地表温度反演算法与实验分析。

由于版本的问题,细节更新,代码也做了相应更新。

注:其他温度反演算法后续推出,数据会用Landsat8 OLI数据替代。

 

你可能感兴趣的:(IDL,单窗算法,单通道算法,反演地表温度)