基于Google Earth Engine的Landsat单窗算法地表温度(LST)反演

基于Google Earth Engine的Landsat单窗算法地表温度(LST)反演

1 背景知识

  基于遥感数据的地表温度(LST)反演目前得到了广泛的应用,尤其是面向大尺度、长时间范围的温度数据需求,遥感方法更是可以凸显其优势。目前,基于各类遥感数据源的地表温度反演方法不断得以改进,精度亦不断提升。之前的博客,也分别基于不同角度对遥感数据温度反演的方法、原理以及具体操作加以详细介绍:
  博客1:基于ENVI的Landsat 7地表温度(LST)大气校正方法反演与地物温度分析。
  博客2:基于ENVI与ERDAS的Landsat 7 ETM+影像单窗算法地表温度(LST)反演。
  而利用遥感图像处理软件,对地表温度加以反演,其操作整体较为繁琐,尤其是需要处理大量遥感数据时,其数据下载、操作步骤与结果保存等,都是很大的问题。因此,本文介绍一种基于谷歌地球引擎(Google Earth Engine,GEE)的地表温度反演算法及其代码。
  该方法基于Landsat 4/5/7/8卫星反演地表温度。基于该算法,我们可以直接在GEE中获取遥感图像、计算LST,并选择下载结果文件,非常方便快捷。
  本文所依据的文献为:Google Earth Engine Open-Source Code for Land Surface Temperature Estimation from the Landsat Series,发表于Remote Sensing。大家可以查看:https://www.mdpi.com/2072-4292/12/9/1471。

2 算法介绍

  该论文基于Statistical Mono-Window(SMW)算法,对地表温度加以求解。其中,简单地说,SMW算法即是通过简单的线性关系,对由单热红外波段所得的大气表观亮温地表温度之间的经验关系加以表示,从而计算得到LST。

3 代码

  代码在这里:https://code.earthengine.google.com/?accept_repo=users/sofiaermida/landsat_smw_lst。
  点击链接,浏览器将自动进入你的GEE帐号;而代码则将会自动出现在左侧"Script"的“Reader”中:
在这里插入图片描述
  其中,modules为计算LST的综合代码库,我们仅仅需要修改、运行其下方example_1.jsexample_2.js的内容即可;其中,依据作者的注释我们可以知道,example_1.js用以计算单时相LST,而example_2.js则为多时相LST。

  我们就以example_1.js为例。其中,在代码的这一部分:

// select region of interest, date range, and landsat satellite
var geometry = ee . Geometry . Rectangle([-8.91, 40.0, -8.3, 40.4]);
var satellite = 'L8' ;
var date_ start = '2018-05-15' ;
var date_ end =' 2018-05-31' ;
var use_ ndvi= true;

  由上到下分别是修改ROI区域(即需要计算LST的区域)、基于的卫星(即Landsat 4/5/7/8)、所依据遥感图像开始和结束的时间,以及是否引入NDVI计算。大家在实际操作时,依据自己的需要自行修改这部分内容即可。

4 效果

  在这里,我们将作者原定的位于美国的ROI修改为武汉市局部地区,以此为例执行代码,效果如下:
在这里插入图片描述

  其中,黑色区域是我的ROI,底图便是已经计算出的温度数据图层了(由此可知,代码默认计算整个可见范围的LST,这里的ROI仅仅是方便我们查看、对比感兴趣区域内是否各栅格点均有LST数据)。整个代码执行的过程仅仅需要几秒钟,和用遥感图像处理软件操作比起来真的快了很多。
  随后,依据需要自行选择下载结果数据的范围、保存方法等即可。是不是非常方便~
  最后,大家在使用上述代码时,也要记得按照论文作者的相关要求来哦,需要规范引用的场合要引用清楚,尊重大家的劳动成果。

欢迎关注公众号:疯狂学习GIS
在这里插入图片描述

  • 32
    点赞
  • 189
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 151
    评论
基于Python实现Landsat 8影像地表温度反演算法可以通过以下步骤完成: 1. 数据预处理:首先,需要获取Landsat 8卫星的热红外波段数据(B10和B11)以及大气校正的数据,如大气温度和水汽含量。然后,通过对图像进行裁剪、几何校正和辐射定标等预处理步骤,获得准确的辐射定标值。 2. 辐射亮度温度转换:使用辐射定标值,结合Landsat 8的传感器特性和大气校正参数,将热红外数据转换为辐射亮度温度。 3. 大气校正:通过大气校正模型,将辐射亮度温度转换为大气校正的亮度温度。这一步骤需要使用大气温度和水汽含量等大气校正参数。 4. 地表温度反演:最后,通过地表温度反演模型,使用大气校正的亮度温度和大气校正参数,计算得到地表温度。常用的反演模型包括基于亮温的法则和改进的亮温反演法则。 在Python中实现这个算法,可以使用科学计算库(如NumPy和SciPy)来进行数值计算和优化算法的实现。同时,可以借助地理信息系统库(如GDAL)来处理和分析遥感数据。此外,还可以使用数据可视化库(如Matplotlib)来可视化地表温度的结果。 总之,基于Python实现Landsat 8影像地表温度反演算法可以通过预处理、辐射亮度温度转换、大气校正和地表温度反演等步骤完成,并借助科学计算库、地理信息系统库和数据可视化库等工具实现。
评论 151
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

疯狂学习GIS

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值