当前位置: 首页 > news >正文

基于 GEE 批量下载 Landsat8 地表温度(LST)数据

目录

1 前言

2 数据处理

3 完整代码

4 运行结果


1 前言

地表温度(Land Surface Temperature, LST)是表征地球表面能量平衡和气候系统的重要参数。它不仅影响大气环流与区域气候,而且还与城市热岛效应、植被蒸散作用及土壤水分密切相关。利用卫星遥感数据,可以在大范围、长时间尺度上对地表温度进行连续监测。其中,Landsat 8 提供了中等空间分辨率(30 m)和热红外波段(TIRS),适合区域尺度的地表温度反演。本文展示如何借助 Google Earth Engine (GEE),实现 2024 年逐月地表温度的自动计算与导出。

数据源选取 Landsat 8 Collection 2 Level 2 SR 产品,包含经过大气校正的地表反射率与亮温数据。本文的代码能够批量生成逐月地表温度数据集,适用于多种研究:

  • 城市与区域气候:分析热岛效应时空变化;

  • 生态环境保护:评估湿地、森林、农田的热环境差异;

  • 农业与水资源管理:监测干旱和蒸散发;

  • 灾害风险评估:为热浪和干旱预警提供数据支持。

2 数据处理

(1)划定研究范围(ROI):

先导入你关注的区域(比如城市、流域等),代码里用roi = table(实际要替换成你在 GEE 资产里的区域路径),还会把区域在地图上标红显示,方便直观查看。

(2)给影像 “去杂质”(掩膜处理):

卫星拍的图,难免有云、数据饱和这些 “杂质”。我们写了个maskL8sr函数来清理:

  • 云掩膜:借助QA_PIXEL波段,挑出无云干扰的像元;
  • 饱和掩膜:通过QA_RADSAT波段,筛选无辐射饱和的像元;
  • 同时,还对光学波段和热红外波段做 “定标”,把原始数据转换成地表反射率、亮温这些能用的格式。

(3)确定时间范围:

以 2024 年全年为例,设定好起始(2024-01-01)和结束(2025-01-01)时间,算出这期间有多少个月,为后续逐月处理做准备。

(4)批量处理 + 导出:

逐月筛选 Landsat 8 影像,用 “中位合成” 法把当月影像合并(减少噪声,让结果更典型),再裁剪到研究区范围。然后从热红外波段(ST_B10)提取数据,把开尔文温度转成常用的摄氏度,最后批量导出到 Google Drive,每个月的文件都清晰命名,方便后续分析。

3 完整代码

// 步骤1:导入感兴趣区域(ROI)
// 请将下面的路径替换为你自己的 ROI 路径(可在 GEE 资产中获取对应 FeatureCollection 路径)
var roi = table; 
Map.addLayer(roi.style({color: "red", fillColor: "00000000"}), {}, "ROI");
Map.centerObject(roi, 8);// 步骤2:定义 Landsat 8 SR 影像掩膜函数(去除云、饱和等无效像元)
function maskL8sr(image) {// 云掩膜:利用 QA_PIXEL 波段,筛选低 5 位为 0 的像元(无云等干扰)var qaMask = image.select('QA_PIXEL').bitwiseAnd(parseInt('11111', 2)).eq(0);// 饱和像元掩膜:筛选 QA_RADSAT 波段为 0 的像元(无辐射饱和)var saturationMask = image.select('QA_RADSAT').eq(0);// 光学波段定标(转换为地表反射率)var opticalBands = image.select('SR_B.*').multiply(0.0000275).add(-0.2);// 热红外波段定标(转换为亮温)var thermalBands = image.select('ST_B.*').multiply(0.00341802).add(149.0);// 添加定标后波段、应用掩膜并返回处理后影像return image.addBands(opticalBands, null, true).addBands(thermalBands, null, true).updateMask(qaMask).updateMask(saturationMask);
}// 步骤3:定义时间范围(以 2024 年全年为例)
var start = ee.Date('2024-01-01');
var end = ee.Date('2025-01-01');
var nMonths = end.difference(start, 'month');// 步骤4:批量逐月合成并导出地表温度数据
ee.List.sequence(0, nMonths.subtract(1)).getInfo().forEach(function(i) {var startMonth = start.advance(i, 'month');var endMonth = startMonth.advance(1, 'month');// 获取当月经过掩膜处理的影像集合var collection = ee.ImageCollection('LANDSAT/LC08/C02/T1_L2').filterDate(startMonth, endMonth).filterBounds(roi).map(maskL8sr);// 中位合成(减少噪声,保留典型值)并裁剪到 ROIvar composite = collection.median().clip(roi);// 提取热红外波段(ST_B10)并转换为摄氏度var lst = composite.select("ST_B10").subtract(273.15)  // 开尔文转摄氏度.rename("LST_C");// 可视化第一个月的结果(方便快速查看)if (i === 0) {Map.addLayer(lst, {min: -10, max: 10, palette: ["blue","cyan","green","yellow","red"]}, 'LST Example');}// 导出到 Google DriveExport.image.toDrive({image: lst,description: 'LST_' + startMonth.format('YYYY_MM').getInfo(),fileNamePrefix: 'LST_' + startMonth.format('YYYY_MM').getInfo(),folder: 'Landsat8_LST',  // 可自定义文件夹名region: roi,scale: 30,  // 空间分辨率 30 米maxPixels: 1e13,crs: 'EPSG:4326'  // WGS84 坐标系});
});

4 运行结果

点击RUN即可下载运行结果
运行结果

文章转载自:

http://R2dQlwEZ.chjnb.cn
http://9uMv4Dr8.chjnb.cn
http://TZRyftkn.chjnb.cn
http://BbDdZWxO.chjnb.cn
http://MxCkZKzP.chjnb.cn
http://HdVoRHR6.chjnb.cn
http://wu3vj1E0.chjnb.cn
http://FK3WWpiF.chjnb.cn
http://wCBtrnKQ.chjnb.cn
http://RD3opbnH.chjnb.cn
http://WtDR8B2c.chjnb.cn
http://bUEd5w4U.chjnb.cn
http://LPHEXWpP.chjnb.cn
http://fLDjm01k.chjnb.cn
http://QPqW5NqE.chjnb.cn
http://XYXNlxEV.chjnb.cn
http://XSvPEIMS.chjnb.cn
http://3QqGl0td.chjnb.cn
http://EGFzHkhP.chjnb.cn
http://FUvN3okh.chjnb.cn
http://X1taSlyT.chjnb.cn
http://i8SmQXJZ.chjnb.cn
http://uPQAhWrd.chjnb.cn
http://qKKKfsM9.chjnb.cn
http://Vfv2zkWL.chjnb.cn
http://JxJVn51C.chjnb.cn
http://okHPShnF.chjnb.cn
http://ockhycQZ.chjnb.cn
http://phJTjZJl.chjnb.cn
http://KSkAXluM.chjnb.cn
http://www.dtcms.com/a/369766.html

相关文章:

  • 从“下山”到AI引擎:全面理解梯度下降(下)
  • Linux应用(2)——标准/目录IO
  • 问题三ai思路
  • 玳瑁的嵌入式日记D33-0905(IO多路复用)
  • GigaDevice(兆易创新)GD25Q64CSJGR 64Mbit FLASH
  • FEMDRW032G-88A19江波龙,工业级宽温EMMC存储FEMDRW032G采用eMMC5.1协议,具备32GB存储容量提供方案
  • Interior AI-AI驱动的室内设计工具
  • 裸机程序(3)
  • ai连接怡和达进行非标选型 抓包失败
  • 嵌入式系统学习Day31(多路IO复用)
  • vim 常用快捷键汇总
  • 1.进程与线程:区别、通信方式、同步方式
  • The Algorithmic Foundations of Differential Privacy - 4
  • 各种背包问题简述
  • Python反向迭代完全指南:从基础到高性能系统设计
  • CRYPT32!ASN1Dec_SignedDataWithBlobs函数分析之CRYPT32!ASN1Dec_AttributesNC的作用是得到三个证书
  • vcenter管理的4台安装了esxi机器组成的HA,故障后自恢复理解
  • 智慧医疗——解读医院智慧管理分级评估标准体系【附全文阅读】
  • C++ map和set
  • js闭包问题
  • 【教学类-36-10】20240905(通义万相)-A4各种大小的鱼制作“吐泡泡的鱼”01版
  • 【工具变量】上市公司企业海外业务收入数据集(2003-2024年)
  • 从技术选型到现场配置:DDC 楼宇自控系统全流程落地方案(2025 版)
  • 阿里云ecs 2h2g 实际可用内存不足的情况
  • 【React】性能提升方案:Reat.memo, useMemo,useCallback用法详解
  • 文心快码已支持Kimi-K2-0905模型
  • 6.ImGui-颜色(色板)
  • biocmanager安装 库 老是提示网络连接错误 才尝试各种办法
  • 雨后阳光为何更强烈?
  • 数据加盐处理(密码加盐)