基于 GEE 计算研究区年均地表温度数据

news/2025/2/15 1:35:02/

目录

1 代码解析

2 完整代码

3 运行结果



1 代码解析

(1)定义研究区:

// 研究区的范围需要自己提前上传
var dataset = table;// 将研究区显示在中心,后面的数字为缩放等级,范围从1 - 24
Map.centerObject(dataset, 6);// 将图层添加到地图中
Map.addLayer(dataset);// 打印数据集信息
print(dataset);

(2)导入地表温度数据:

本文采用的地表温度数据为MOD11A2 V6.1地表温度产品,其包含2000年至今全球的地表温度数据,时间分辨率为8天,空间分辨率为1km。

// 定义 MODIS 地表温度影像集
var modis = ee.ImageCollection('MODIS/061/MOD11A2');// 定义起始日期
var start = ee.Date('2019-01-01');// 定义日期范围,从起始日期开始,持续 1 年
var dateRange = ee.DateRange(start, start.advance(1, 'year'));// 根据日期范围筛选影像集
var mod11a2 = modis.filterDate(dateRange);// 从筛选后的影像集中选择日间地表温度波段
var modLSTday = mod11a2.select('LST_Day_1km');

(3)转换温度单位:

由于MOD11A2 V6.1地表温度产品的单位为开尔文,所以需要将其转化成摄氏度。

// 对 modLSTday 影像集里的每张影像进行处理
var modLSTc = modLSTday.map(function(img) {// 将影像乘以 0.02// 再减去 273.15,实现温度从开尔文转换为摄氏度// 最后复制原影像的 'system:time_start' 属性return img.multiply(0.02).subtract(273.15).copyProperties(img, ['system:time_start']);
});

(4)数据可视化:

// 计算 modLSTc 影像集的均值,并将其裁剪到研究区范围内
var clippedLSTc = modLSTc.mean().clip(dataset);// 将裁剪后的均值影像添加到地图中
Map.addLayer(clippedLSTc,{// 影像显示的最小值min: 0,// 影像显示的最大值max: 35,// 影像显示的颜色映射,从蓝色到红色palette: ['blue', 'limegreen', 'yellow', 'darkorange', 'red']},// 图层名称'Mean temperature, 2019'
);

(5)导出数据:

将数据导入到Google Drive中,若有进一步处理的需要可从Google Drive中下载。

// 导出裁剪后的影像到 Google Drive
Export.image.toDrive({// 要导出的影像image: clippedLSTc,// 导出影像的描述信息description: 'LST_2019',// Google Drive 中存储影像的文件夹名称folder: 'my_folder',// 导出影像的区域范围region: dataset,// 影像的空间分辨率(单位:米)scale: 1000,// 影像的坐标参考系统crs: 'EPSG:4326',// 允许处理的最大像素数maxPixels: 1e10
});

2 完整代码

// 研究区的范围需要自己提前上传
var dataset = table;// 将研究区显示在中心,后面的数字为缩放等级,范围从1 - 24
Map.centerObject(dataset, 6);// 将图层添加到地图中
Map.addLayer(dataset);// 打印数据集信息
print(dataset);// 定义 MODIS 地表温度影像集
var modis = ee.ImageCollection('MODIS/061/MOD11A2');// 定义起始日期
var start = ee.Date('2019-01-01');// 定义日期范围,从起始日期开始,持续 1 年
var dateRange = ee.DateRange(start, start.advance(1, 'year'));// 根据日期范围筛选影像集
var mod11a2 = modis.filterDate(dateRange);// 从筛选后的影像集中选择日间地表温度波段
var modLSTday = mod11a2.select('LST_Day_1km');// 对 modLSTday 影像集里的每张影像进行处理
var modLSTc = modLSTday.map(function(img) {// 将影像乘以 0.02// 再减去 273.15,实现温度从开尔文转换为摄氏度// 最后复制原影像的 'system:time_start' 属性return img.multiply(0.02).subtract(273.15).copyProperties(img, ['system:time_start']);
});// 计算 modLSTc 影像集的均值,并将其裁剪到研究区范围内
var clippedLSTc = modLSTc.mean().clip(dataset);// 将裁剪后的均值影像添加到地图中
Map.addLayer(clippedLSTc,{// 影像显示的最小值min: 0,// 影像显示的最大值max: 35,// 影像显示的颜色映射,从蓝色到红色palette: ['blue', 'limegreen', 'yellow', 'darkorange', 'red']},// 图层名称'Mean temperature, 2019'
);// 导出裁剪后的影像到 Google Drive
Export.image.toDrive({// 要导出的影像image: clippedLSTc,// 导出影像的描述信息description: 'LST_2019',// Google Drive 中存储影像的文件夹名称folder: 'my_folder',// 导出影像的区域范围region: dataset,// 影像的空间分辨率(单位:米)scale: 1000,// 影像的坐标参考系统crs: 'EPSG:4326',// 允许处理的最大像素数maxPixels: 1e13
});

3 运行结果

研究区年均地表温度数据可视化结果
点击RUN即可下载数据

http://www.ppmy.cn/news/1572117.html

相关文章

excel高级求和SUMIFS函数,类似数据库group by操作

文章目录 1、SUMIFS函数2、一个条件的例子3、两个条件的例子 1、SUMIFS函数 它允许你指定多个条件,并只对那些满足所有这些条件的单元格进行求和操作。语法SUMIFS(sum_range, criteria_range1, criteria1, [criteria_range2, criteria2], ...)sum_range: 需要求和的…

开源video-subtitle-master 视频转字幕,字幕翻译软件

项目简介 批量为视频生成字幕,并可将字幕翻译成其它语言。这是在之前的一个开源项目 VideoSubtitleGenerator 的基础上,制作成的一个客户端工具,以方便更多朋友们的使用。 💥特性 它保留了之前 VideoSubtitleGenerator 这个命令行…

Docker 初学者教程

Docker 初学者教程 1. Docker 简介 Docker 是一个开源的应用容器引擎,允许开发者将应用及其依赖打包到一个轻量级、可移植的容器中。 容器与虚拟机不同,它们共享宿主机的操作系统内核,因此更加轻量且启动迅速。 1.1 基本概念 镜像&#x…

分布式微服务接口基于多线程进行性能优化

1.使用多线程与futureTask进行进行优化 1.1 实现流程图 1.2 代码逻辑模拟实现 public class OrderService {Resourceprivate RemoteService remoteservice;//远程过程调用(模拟类)Resourceprivate ExecutorService executorService;public Object order( long userId){JsonOb…

IDEA中列举的是否是SpringBoot的依赖项的全部?在哪里能查到所有依赖项,如何开发自己的依赖项让别人使用

在 IntelliJ IDEA 中列举的依赖项并不一定是 Spring Boot 项目的全部依赖项。IDEA 通常只显示你在 pom.xml(Maven)或 build.gradle(Gradle)中显式声明的依赖项,而这些依赖项本身可能还会引入其他传递性依赖。 1. 如何…

MySQL Workbench安装教程以及菜单汉化

WorkBench的下载 直接给下载MySql WorkBench的链接,直接进入正题:MySQL :: Download MySQL Workbench[这里是图片001]https://dev.mysql.com/downloads/workbench/进入了下载界面: (安装路径自己看着办,注意安装路径不…

cnn以及例子

cnn CNN 即卷积神经网络(Convolutional Neural Network),是一种专门为处理具有网格结构数据(如图像、音频)而设计的深度学习模型,在计算机视觉、语音识别等诸多领域都有广泛应用。以下是 CNN 的详细介绍&a…

React源码揭秘 | scheduler 并发更新原理

React 18增加了并发更新特性,开发者可以通过useTransition等hooks延迟执行优先级较低的更新任务,以达到页面平滑切换,不阻塞用户时间的目的。其实现正是依靠scheduler库。 scheduler是一个依赖时间片分片的任务调度器,React团队将…