当前位置:   article > 正文

GEE代码实例教程详解:地表温度长时间序列分析_gee案例——如何利用landsat数据中的温度数据进行指定区域不同年份的温度计算

gee案例——如何利用landsat数据中的温度数据进行指定区域不同年份的温度计算

简介

在本篇博客中,我们将使用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
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74

代码详解

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在不同领域的应用。

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号