前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >GEE代码实例教程详解:湖泊面积变化分析

GEE代码实例教程详解:湖泊面积变化分析

作者头像
Twcat_tree
发布2024-07-09 08:12:05
2380
发布2024-07-09 08:12:05
举报
文章被收录于专栏:二猫の家

GEE代码实例教程详解:湖泊面积变化分析

简介

在本篇博客中,我们将通过Google Earth Engine (GEE) 探索湖泊面积随时间的变化。通过分析MODIS数据集中的归一化差异水体指数(NDWI),我们可以识别湖泊区域并监测其面积变化。

背景知识

MODIS数据集

MODIS(Moderate Resolution Imaging Spectroradiometer,中分辨率成像光谱辐射计)数据集是NASA提供的高分辨率遥感数据集,广泛应用于地球表面监测。

NDWI

归一化差异水体指数(NDWI)是一种用于遥感图像中水体检测的指数。它基于水体在不同光谱波段的反射特性差异。

完整代码

代码语言:javascript
复制
// 定义研究区域的坐标点
var cor = [
  [44.82021271860131, 37.08040466447922],
  [46.11659943735131, 37.08040466447922],
  [46.11659943735131, 38.37506300104177],
  [44.82021271860131, 38.37506300104177],
  [44.82021271860131, 37.08040466447922]
];

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

// 将多边形添加到地图上并设置视图中心
Map.addLayer(roi, {color: 'red'});
Map.centerObject(roi);

// 定义时间范围
var time_start = '2001';
var time_end = '2023';

// 创建MODIS图像集合并筛选数据
var modis = ee.ImageCollection("MODIS/061/MOD09A1")
  .filterDate(time_start, time_end);

// 计算NDWI
var ndwi = modis.map(function(img) {
  var band = img.select('sur_refl_b01').multiply(0.0001); // 选择MODIS的特定波段
  var index = band.normalizedDifference(['sur_refl_b04', 'sur_refl_b02']).rename('ndwi');
  return index
    .copyProperties(img, img.propertyNames());
});

// 将NDWI图层添加到地图上
Map.addLayer(ndwi.filterDate('2010', '2011').toBands().clip(roi), {min: 0, max: 1, palette: ['blue', 'green', 'yellow']}, 'NDWI 2010-2011');

// 计算2010-2011年的NDWI平均值
var ndwi_average = ndwi.filterDate('2010', '2011').median();

// 打印NDWI平均值的直方图
print(
  ui.Chart.image.histogram(ndwi_average, roi, 500)
    .setOptions({title: 'NDWI Histogram'})
);

// 计算湖泊面积
var lake_area = ndwi.map(function(img) {
  var thr = img.gt(0.1); // 设置NDWI阈值
  var mask = thr.updateMask(thr);
  var area = mask.multiply(ee.Image.pixelArea().divide(1e6)); // 计算像素面积
  return area
    .copyProperties(img, img.propertyNames());
});

// 打印湖泊面积随时间变化的图表
print(
  ui.Chart.image.series(lake_area, roi, ee.Reducer.sum(), 500, 'system:time_start')
    .setOptions({title: 'Lake Area Change Over Time'})
);

代码详解

1. 定义研究区域

我们定义了一个多边形区域作为研究对象,使用ee.Geometry.Polygon创建,并将其添加到地图上。

2. 创建MODIS图像集合

我们使用ee.ImageCollection获取MODIS数据,并根据时间范围筛选图像。

3. 计算NDWI

对MODIS图像集合中的每张图像,我们选择特定的波段并计算NDWI。然后,我们将结果复制到原始图像的属性中。

4. 可视化NDWI

我们选择2010-2011年的NDWI图像,并将其添加到地图上,使用颜色映射来区分不同的NDWI值。

5. 计算NDWI平均值

我们计算2010-2011年NDWI的中位数,并打印其直方图,以了解NDWI值的分布。

6. 湖泊面积计算

我们设置NDWI阈值为0.1,以此识别水体。然后,我们计算每个像素的水体面积,并复制图像属性。

7. 湖泊面积变化分析

我们使用ui.Chart.image.series打印湖泊面积随时间变化的图表,这有助于我们了解湖泊面积如何随时间变化。

结论

通过本教程,我们学习了如何使用GEE分析湖泊面积随时间的变化。我们使用了MODIS数据集,并计算了NDWI来识别水体。通过分析NDWI的直方图和湖泊面积的时间序列,我们可以监测湖泊面积的变化趋势。

进一步探索

GEE提供了丰富的工具和方法来进行地理空间数据分析。在后续的教程中,我们将继续探索GEE的其他应用,包括气候变化监测、土地覆盖分类等。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-07-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • GEE代码实例教程详解:湖泊面积变化分析
    • 简介
      • 背景知识
        • MODIS数据集
        • NDWI
      • 完整代码
        • 代码详解
          • 1. 定义研究区域
          • 2. 创建MODIS图像集合
          • 3. 计算NDWI
          • 4. 可视化NDWI
          • 5. 计算NDWI平均值
          • 6. 湖泊面积计算
          • 7. 湖泊面积变化分析
        • 结论
          • 进一步探索
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档