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

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

目录

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即可下载数据

相关文章:

  • 通过C或C++编程语言实现某一个或多个具体算法
  • AI大模型(DeepSeek)科研应用、论文写作、数据分析与AI绘图学习
  • Winform禁止高分辨下缩放布局成功方法
  • 08模拟法 + 技巧 + 数学 + 缓存(D2_技巧)
  • 运用Deek Seeker协助数据分析
  • GitCode 助力 Dora SSR:开启游戏开发新征程
  • 对PosWiseFFN的改进: MoE、PKM、UltraMem
  • RocketMQ与kafka如何解决消息积压问题?
  • 网络性能测试工具ipref
  • 深入探索现代CSS:从基础到未来趋势
  • 防火墙是什么?详解网络安全的关键守护者
  • 【Abnormal build process termination: xxx, Unrecognized option: --add-opens】
  • 【SVN基础】
  • 使用 Flask 构建流式返回服务
  • 处理项目中存在多个版本的jsqlparser依赖
  • http 与 https 的区别?
  • 网络安全要学python 、爬虫吗
  • 浅谈无人机群技术的作战应用与战略意义
  • w206基于Spring Boot的农商对接系统的设计与实现
  • 无人机遥感在农林信息提取中的实现方法与GIS融合应用
  • 蔡甸建设局网站/淘宝优化关键词的步骤
  • 日照网站网站建设/成人职业培训学校
  • 做网站编辑要有逻辑吗/农产品品牌推广方案
  • 国际网站建设与维护/游戏推广是干什么的
  • 灵山招聘网灵山英才网做灵山专业的招聘网站/拉新app推广平台
  • 友山建站优化/如何营销推广自己的产品