GEE代码实例教程详解:地表温度长时间序列分析

简介

在本篇博客中,我们将使用Google Earth Engine (GEE) 对地表温度 (LST) 进行长时间序列分析。通过结合Landsat 4-9的数据,我们将探索1982年至2024年间地表温度的变化趋势。

背景知识

Landsat数据集

Landsat数据集提供了多时相、多光谱的地表观测数据,是遥感领域中应用最广泛的数据集之一。

地表温度 (LST)

地表温度是描述地表热状况的重要参数,对于研究城市热岛效应、植被分布、地表能量平衡等具有重要意义。

完整代码

// 定义研究区域的坐标点
var cor = [[51.02815260405151, 35.50852818710441],[51.69282545561401, 35.50852818710441],[51.69282545561401, 35.8988380759623],[51.02815260405151, 35.8988380759623],[51.02815260405151, 35.50852818710441]
];// 创建多边形区域
var roi = ee.Geometry.Polygon(cor);// 将地图中心设置为研究区域
Map.centerObject(roi);// 定义Landsat数据集集合
var lan4 = ee.ImageCollection("LANDSAT/LT04/C02/T1_L2")// ... 其他筛选条件 ...var lan5 = ee.ImageCollection("LANDSAT/LT05/C02/T1_L2")// ... 其他筛选条件 ...// ... Landsat 7 SLC正常和偏移后的数据 ...var lan8 = ee.ImageCollection("LANDSAT/LC08/C02/T1_L2")// ... 其他筛选条件 ...var lan9 = ee.ImageCollection("LANDSAT/LC09/C02/T1_L2")// ... 其他筛选条件 ...// 合并所有Landsat数据集并排序
var collection = lan4.merge(lan5).merge(lan7_slcon).merge(lan7_slcoff).merge(lan8).merge(lan9).sort('system:time_start').filter(ee.Filter.lt('CLOUD_COVER', 45));// 转换LST单位到开尔文和摄氏度
var lst_col = collection.map(function(img) {var kel = img.multiply(0.00341802).add(149).rename('LST_Kel');var cel = kel.subtract(273.15).rename('LST_Cel');return kel.addBands(cel).copyProperties(img, img.propertyNames());
});// 打印LST时间序列图表(开尔文和摄氏度)
print(ui.Chart.image.series({imageCollection: lst_col.select('LST_Kel'),region: roi,reducer: ee.Reducer.mean(),scale: 100,xProperty: 'system:time_start'})
);print(ui.Chart.image.series({imageCollection: lst_col.select('LST_Cel'),region: roi,reducer: ee.Reducer.mean(),scale: 100,xProperty: 'system:time_start'})
);// 导出2019-2020年的LST图像到Google Drive
Export.image.toDrive({image: lst_col.select('LST_Cel').filterDate('2019', '2020').toBands().clip(roi),description: 'lst_cel',scale: 100,region: roi,maxPixels: 1e13,crs: 'EPSG:4326',folder: 'landsat'
});

代码详解

1. 定义研究区域

创建一个多边形区域roi,用于限定分析的地理范围,并设置地图中心。

2. 加载Landsat数据集

加载Landsat 4-9的数据集,并根据时间范围、地理范围和质量条件进行筛选。

3. 数据合并与排序

将所有Landsat数据集合并,去除云层覆盖较多的图像,并按时间排序。

4. LST单位转换

将LST数据从原始单位转换为开尔文和摄氏度,以便于分析和解释。

5. 可视化LST时间序列

使用ui.Chart.image.series打印LST随时间变化的图表。

6. 导出数据

将2019-2020年的LST图像导出到Google Drive。

结论

本教程展示了如何使用GEE对长时间序列的Landsat数据进行地表温度分析。通过此分析,可以监测地表温度的长期变化趋势,为气候变化研究提供支持。

进一步探索

GEE提供了多种工具和方法来进行时间序列分析和环境监测。在后续的教程中,我们将继续探索GEE在不同领域的应用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/43117.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用起来超爽的4个宝藏软件工具

记得带 “记得带”是一款专为繁忙的都市人设计的生活服务软件,旨在帮助用户轻松管理日常生活中的各种事务。该应用程序集成了多种实用功能,包括购物清单、待办事项、日程安排和健康追踪等。它还具有智能提醒功能,可以根据用户的日常习惯和偏好…

14-41 剑和诗人15 - RLAIF 大模型语言强化培训

​​​​​​ 介绍 大型语言模型 (LLM) 在自然语言理解和生成方面表现出了巨大的能力。然而,这些模型仍然存在严重的缺陷,例如输出不可靠、推理能力有限以及缺乏一致的个性或价值观一致性。 为了解决这些限制,研究人员采用了一种名为“人工…

每天一个数据分析题(四百十六)- 线性回归模型

根据模型假设,线性回归模型中误差项的方差为 A. 常数 B. 函数 C. 随机变量 D. 以上都不是 数据分析认证考试介绍:点击进入 题目来源于CDA模拟题库 点击此处获取答案 数据分析专项练习题库 内容涵盖Python,SQL,统计学&#…

【大模型】多模型在大模型中的调度艺术:解锁效率与协同的新境界

多模型在大模型中的调度艺术:解锁效率与协同的新境界 引言一、多模型与大模型的概念解析二、多模型调度的必要性三、多模型调度的关键技术3.1 负载均衡与动态分配3.2 模型间通信与协作3.3 模型选择与优化 四、多模型运行优化策略4.1 异构计算平台的利用4.2 模型压缩…

20240708每日前端---------提升网站设计水平的15个CSS技巧,来试试吧

框阴影效果向元素添加阴影可以增强其深度和视觉吸引力。 .box {box-shadow: 0 4px 8px rgba(0,0,0,0.1); }平滑的过渡动画 CSS 过渡是增强网页交互性的简单方法。 当鼠标悬停在按钮上时,按钮的背景颜色会平滑地过渡到新颜色。 .button {transition: background-co…

Windows电脑PC使用adb有线跟无线安装apk包

在Android开发中,经常需要使用ADB(Android Debug Bridge)来安装APK包到Android设备上,无论是通过有线连接还是无线连接。以下将分别介绍如何通过有线和无线方式使用ADB安装APK包。 有线连接安装APK 启用开发者选项和USB调试&…

npm ERR! code ENOTEMPTY npm ERR! syscall rename npm ERR!

报错: npm ERR! code ENOTEMPTY npm ERR! syscall rename npm ERR! path /home/user/.local/lib/node_modules/pkg npm ERR! dest /home/user/.local/lib/node_modules/.pkg-piikcue3 npm ERR! errno -39 npm ERR! ENOTEMPTY: directory not empty, rename ‘/home/…

easily-openJCL 让 Java 与显卡之间的计算变的更加容易!

easily-openJCL 让 Java 与显卡之间的计算变的更加容易! 开源技术栏 本文介绍了关于在 Java 中 easily-openJCL 的基本使用!!! 目录 文章目录 easily-openJCL 让 Java 与显卡之间的计算变的更加容易!目录 easily-op…

初学Spring之 HelloSpring 篇

创建一个 Hello 类 get/set 方法、toString 方法(快捷键:alt insert) package com.demo.pojo;public class Hello {private String str;public String getStr() {return str;}public void setStr(String str) {this.str str;}Overridepub…

算法学习笔记(8)-动态规划基础篇

目录 基础内容: 动态规划: 动态规划理解的问题引入: 解析:(暴力回溯) 代码示例: 暴力搜索: Dfs代码示例:(搜索) 暴力递归产生的递归树&…

matlab仿真 信道(上)

(内容源自详解MATLAB/SIMULINK 通信系统建模与仿真 刘学勇编著第四章内容,有兴趣的读者请阅读原书) 1.加性高斯白噪声信道(AWGN ) clear all t0:0.001:10; xsin(2*pi*t);%原始信号 snr20;%设定加性白噪…

CSS技巧:清除浏览器默认样式,让你的页面全由你做主!

莫名其妙的的问题哪里来? 你有没有过写了半天样式,却发现总有些与你想要的效果不同的地方:input带个黑框框,list 的小圈圈,锚点的文字颜色,莫名其妙多出来的一两个像素的距离。。 回到20年前,我刚刚接触…

HBuilder X 小白日记03-用css制作简单的交互动画

:hover选择器,用于选择鼠标指针浮动在上面的元素。 :hover选择器可用于所有元素,不只是链接 :link选择器 设置指向未被访问页面的链接的样式 :visited选择器 用于设置指向已被访问的页面的链接 :active选择器 用于活动链接

更加优雅的下载文件 --- http header Content-Disposition 学习

更加优雅的下载文件 --- http header Content-Disposition 学习 在响应头中在请求头中a 标签的 download 属性小结 Content-Disposition 在响应头中,告诉浏览器如何处理返回的内容,在表单提交中,说明表单字段信息。 在响应头中 用在响应头中…

DBA 数据库管理

数据库:存储数据的仓库 数据库服务软件: 关系型数据库: 存在硬盘 ,制作表格的 数据库的参数 [rootmysql50 ~]# cat /etc/my.cnf.d/mysql-server.cnf 主配置文件 [mysqld] datadir/var/lib/mysql 存放数据库目录…

【小鸡案例】表单focus和blur事件用法

input中有2个属性,一个是focus获取焦点,一个是blur失去焦点。获取焦点就是我们点击输入框时输入框被选中;失去焦点即点击输入框以外的区域,今天就用这两种属性做一个点击输入框的动画效果。 先写个输入框,代码如下&am…

GitLab介绍,以及add an SSH key

GitLab GitLab 是一个用于仓库管理系统的开源项目,现今并在国内外大中型互联网公司广泛使用。 git,gitlab,github区别 git 是一种基于命令的版本控制系统,全命令操作,没有可视化界面; gitlab 是一个基于git实现的在线代码仓库…

GEE代码实例教程详解:长时间序列NDVI分析

简介 本篇博客将介绍如何使用Google Earth Engine (GEE) 对长时间序列的Landsat数据进行归一化植被指数(NDVI)分析。通过此分析,可以监测和评估1982年至2024年间的植被变化趋势。 背景知识 Landsat数据集 Landsat是美国地质调查局和美国航…

Spring Security的Filter

Spring Security 是一个功能强大的、高度可定制的身份验证和访问控制框架,它为基于 Java 的应用程序提供了全面的安全解决方案。在 Spring Security 中,过滤器(Filter)扮演着非常重要的角色,它们被用来拦截请求并应用安…

React@16.x(52)Redux@4.x(1)- 核心概念

目录 1,MVC2,前端MVC的困难3,Flux4,Redux 1,MVC 是一个解决方案,用于降低 UI 和数据关联的复杂度。 在早期前后端未做分离时,服务端会响应一个完整的HTML,包含页面需要的所有数据。而…