基于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数据)。整个代码执行的过程仅仅需要几秒钟,和用遥感图像处理软件操作比起来真的快了很多。

  随后,依据需要自行选择下载结果数据的范围、保存方法等即可。是不是非常方便~

  最后,大家在使用上述代码时,也要记得按照论文作者的相关要求来哦,需要规范引用的场合要引用清楚,尊重大家的劳动成果。



相关文章
|
6月前
Google Earth Engine(GEE)——计算LST地表温度的出现的错误
Google Earth Engine(GEE)——计算LST地表温度的出现的错误
157 0
|
6月前
Google Earth Engine(GEE)——用填充后的Landsat7影像进行LST地表温度计算(C值转化为K值)
Google Earth Engine(GEE)——用填充后的Landsat7影像进行LST地表温度计算(C值转化为K值)
104 2
|
6月前
|
编解码 定位技术
Google Earth Engine(GEE)——导出后的影像像素不同于原始Landsat影像的分辨率(投影差异)
Google Earth Engine(GEE)——导出后的影像像素不同于原始Landsat影像的分辨率(投影差异)
166 0
|
6月前
|
算法
代码随想录算法训练营第五十七天 | LeetCode 739. 每日温度、496. 下一个更大元素 I
代码随想录算法训练营第五十七天 | LeetCode 739. 每日温度、496. 下一个更大元素 I
47 3
|
6月前
|
数据采集 编解码 人工智能
Google Earth Engine(GEE)——全球每日近地表空气温度(2003-2020年)
Google Earth Engine(GEE)——全球每日近地表空气温度(2003-2020年)
223 0
|
6月前
Google Earth Engine(GEE)—— 基于MODIS影像单点缓冲区长时序温度时序变化和线性趋势分析
Google Earth Engine(GEE)—— 基于MODIS影像单点缓冲区长时序温度时序变化和线性趋势分析
74 0
|
6月前
|
数据可视化 定位技术 Sentinel
如何用Google Earth Engine快速、大量下载遥感影像数据?
【2月更文挑战第9天】本文介绍在谷歌地球引擎(Google Earth Engine,GEE)中,批量下载指定时间范围、空间范围的遥感影像数据(包括Landsat、Sentinel等)的方法~
2508 1
如何用Google Earth Engine快速、大量下载遥感影像数据?
|
6月前
|
编解码 人工智能 算法
Google Earth Engine——促进森林温室气体报告的全球时间序列数据集
Google Earth Engine——促进森林温室气体报告的全球时间序列数据集
88 0
|
6月前
|
编解码 人工智能 数据库
Google Earth Engine(GEE)——全球道路盘查项目全球道路数据库
Google Earth Engine(GEE)——全球道路盘查项目全球道路数据库
148 0
|
6月前
|
编解码
Open Google Earth Engine(OEEL)——matrixUnit(...)中产生常量影像
Open Google Earth Engine(OEEL)——matrixUnit(...)中产生常量影像
77 0