GEE代码实例教程详解:地表温度与土地覆盖类型分析

简介

在本篇博客中,我们将使用Google Earth Engine (GEE) 对地表温度数据进行分析,并探究不同土地覆盖类型(特别是水体和城市区域)的地表温度变化。通过MODIS数据集,我们可以监测2001年至2024年间的数据。

背景知识

MODIS数据集

MODIS数据集提供了多光谱遥感数据,广泛应用于植被、水文和城市研究。

地表温度 (LST)

地表温度是地表热辐射的度量,对于研究城市热岛效应、植被分布等具有重要意义。

土地覆盖分类

土地覆盖分类有助于识别地表不同类型的特征,如森林、草地、水体和城市区域。

完整代码

javascript 复制代码
// 定义研究区域的坐标点
var cor = [
  [51.72646131195613, 35.78622502387334],
  [54.07753553070613, 35.78622502387334],
  [54.07753553070613, 36.97144246810686],
  [51.72646131195613, 36.97144246810686],
  [51.72646131195613, 35.78622502387334]
];

// 创建多边形区域
var roi = ee.Geometry.Polygon(cor);

// 将地图中心设置为研究区域
Map.centerObject(roi);

// 加载MODIS土地覆盖数据集
var lc = ee.ImageCollection("MODIS/061/MCD12Q1")
  .mode().select('LC_Type1');

// 定义土地覆盖可视化参数
var vis = {
  min: 1.0,
  max: 17.0,
  palette: [
    // ... 颜色代码 ...
  ],
};

// 土地覆盖数据可视化
Map.addLayer(lc.clip(roi), vis, 'map', false);

// 提取水体掩膜
var water_thr = lc.eq(17);
Map.addLayer(water_thr.clip(roi), [], 'water_thr', false);

var water_mask = water_thr.updateMask(water_thr);
Map.addLayer(water_mask.clip(roi), [], 'water_mask', false);

// 将水体掩膜转换为矢量数据
var water_vector = water_mask.reduceToVectors({
  geometry: roi,
  scale: 500
}).union(1);
Map.addLayer(water_vector, [], 'water_vector', false);

// 加载MODIS地表温度数据集
var temp = ee.ImageCollection("MODIS/061/MOD11A2")
  .select('LST_Day_1km')
  .filterDate('2001', '2024')
  .map(function (img) {
    return img.multiply(0.02).subtract(273.15)
      .copyProperties(img, img.propertyNames());
  });

// 绘制地表温度时间序列图表(水体)
print(
  ui.Chart.image.series(temp, water_vector,
    ee.Reducer.mean(), 500, 'system:time_start')
);

// 定义城市区域函数
function urban_layer(img) {
  var urban_thr = img.eq(13);
  var urban_mask = urban_thr.updateMask(urban_thr);
  var urban_vector = urban_mask.reduceToVectors({
    geometry: roi,
    scale: 500
  }).union(1);
  return urban_vector;
}

// 应用函数提取城市区域矢量数据
var urban_class = urban_layer(lc);

// 绘制地表温度时间序列图表(城市区域)
print(
  ui.Chart.image.series(temp, urban_class,
    ee.Reducer.mean(), 500, 'system:time_start')
);

代码详解

1. 定义研究区域

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

2. 加载和可视化MODIS土地覆盖数据集

加载MODIS土地覆盖数据集,选择LC_Type1波段,并进行可视化。

3. 提取水体掩膜和矢量数据

通过土地覆盖数据提取水体掩膜,并将其转换为矢量数据。

4. 加载和处理MODIS地表温度数据集

加载地表温度数据集,进行单位转换,并提取白天的数据。

5. 绘制地表温度时间序列图表

使用ui.Chart.image.series绘制水体区域的地表温度时间序列。

6. 提取城市区域矢量数据

定义函数提取城市区域(土地覆盖类别13),并将其转换为矢量数据。

7. 绘制城市区域地表温度时间序列图表

使用ui.Chart.image.series绘制城市区域的地表温度时间序列。

结论

本教程展示了如何使用GEE对MODIS数据进行土地覆盖分类和地表温度分析。通过此分析,可以了解不同土地覆盖类型(如水体和城市区域)的地表温度变化趋势。

进一步探索

GEE提供了多种工具和方法来进行土地覆盖分类和地表温度分析。在后续的教程中,我们将继续探索GEE在不同领域的应用。

相关推荐
Teable任意门互动3 小时前
破解多平台数据不通!江浙沪跨境电商外贸业务私有化部署方案|任意门互动科技
大数据·人工智能·科技·信息可视化·信息与通信
工业HMI实战笔记1 天前
皮革加工HMI:制革鞣制的化工参数界面
信息可视化·设计规范·设计语言
IT研究室1 天前
最新大数据毕业设计选题推荐-基于大数据的Medicaid GLP-1药物利用与支出数据可视化分析-大数据-Spark-Hadoop-Bigdata
大数据·信息可视化·课程设计
雨晨源码(同名B站)1 天前
深度学习毕业设计选题推荐:基于卷积神经网络的无人机影像建筑裂缝裂纹检测分类与分割系统(LeNet-5 二分类模型、GCN-Res50分割模型)
深度学习·信息可视化·分类·cnn·毕业设计·无人机·课程设计
龙亘川2 天前
构建城市公共安全数字底座:亘川智城智慧安防系统全维度解读
java·大数据·开发语言·人工智能·信息可视化
新中地GIS开发老师2 天前
资源与环境(地理信息工程)这个专业怎么样
考研·信息可视化·资源与环境
小咕聊编程4 天前
基于Python的豆瓣电影数据可视化系统构建分析
开发语言·python·信息可视化
总要学点什么4 天前
第81篇:数据可视化-PM2.5分布——让圆点的胖瘦替每座城市报出浓度
前端·信息可视化·echarts·cesium·空间分析
瓶瓶持续学习中4 天前
空间智能与物理AI:国内厂商如何与英伟达协同发展
大数据·人工智能·信息可视化·架构
Elastic 中国社区官方博客4 天前
使用 OpenTelemetry 在 Elastic 中实现 Claude 平台的人工智能 agent 可观测性
大数据·运维·服务器·人工智能·elasticsearch·信息可视化·全文检索