前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >GEE代码实例教程详解:年度和月度土地覆盖变化分析

GEE代码实例教程详解:年度和月度土地覆盖变化分析

作者头像
Twcat_tree
发布2024-07-10 07:50:37
1170
发布2024-07-10 07:50:37
举报
文章被收录于专栏:二猫の家

简介

在本篇博客中,我们将使用Google Earth Engine (GEE) 对土地覆盖变化进行年度和月度的分析。通过Google的Dynamic World数据集,我们可以识别2023年至2024年间土地覆盖的类型和变化。

背景知识

Google Dynamic World数据集

Google/DYNAMICWORLD/V1数据集提供了高分辨率的土地覆盖数据,这些数据可以用来分析土地覆盖类型和变化。

土地覆盖变化分析

土地覆盖变化分析是环境监测和土地管理的重要组成部分,有助于了解地表覆盖和利用模式的转变。

完整代码

代码语言:javascript
复制
// 定义研究点坐标
var cor = [49.349581955929196, 37.390543498162955];
var loc = ee.Geometry.Point(cor);

// 加载FAO GAUL数据集并筛选研究区域
var roi = ee.FeatureCollection("FAO/GAUL/2015/level1").filterBounds(loc);
Map.centerObject(roi);
Map.addLayer(roi);

// 加载Google Dynamic World土地覆盖数据集
var map = ee.ImageCollection("GOOGLE/DYNAMICWORLD/V1")
  .filterDate('2023', '2024')
  .filter(ee.Filter.calendarRange(1, 12, 'month'))
  .filterBounds(roi);

// 计算年度土地覆盖
var annual_map = map.select('label').mode();
var VIS_PALETTE = [
  '419bdf', '397d49', '88b053', '7a87c6', 'e49635', 'dfc35a', 'c4281b',
  'a59b8f', 'b39fe1'
];

Map.addLayer(annual_map.clip(roi), {min: 0, max: 8, palette: VIS_PALETTE}, 'map2013', false);

// 导出年度土地覆盖图像
Export.image.toDrive({
  image: annual_map.clip(roi),
  description: 'annual_map',
  scale: 30,
  maxPixels: 1e13,
  region: roi,
  crs: annual_map.getInfo().crs
});

// 定义时间序列集合函数
function temporal_collection(collection, start, count, interval, unit) {
  var seq = ee.List.sequence(0, ee.Number(count).subtract(1));
  var origin_date = ee.Date(start);
  return ee.ImageCollection(seq.map(function (i) {
    var start_date = origin_date.advance(ee.Number(interval).multiply(i), unit);
    var end_date = origin_date.advance(ee.Number(interval).multiply(ee.Number(i).add(1)), unit);
    return collection.filterDate(start_date, end_date).mode()
      .set('system:time_start', start_date.millis())
      .set('system:time_end', end_date.millis());
  }));
}

// 创建月度土地覆盖集合
var monthly = temporal_collection(map.select('label'), '2023', 12, 1, 'month');

Map.addLayer(monthly.toBands().clip(roi), [], 'monthly_map', false);

// 更新月度土地覆盖图像的波段名称
var monthly_updated = monthly.map(function (img) {
  var date = img.date().format('YYYY-MM-dd');
  return img.rename(date);
});

print(monthly_updated.toBands());

// 导出月度土地覆盖图像
Export.image.toDrive({
  image: monthly_updated.toBands().clip(roi),
  description: 'monthly_lc',
  scale: 30,
  maxPixels: 1e13,
  region: roi,
  crs: monthly_updated.toBands().getInfo().crs
});

代码详解

1. 定义研究点

创建一个点对象loc,用于确定研究区域。

2. 加载FAO GAUL数据集

加载并筛选与研究点相交的区域roi

3. 加载Google Dynamic World土地覆盖数据集

加载指定时间范围内的Google Dynamic World土地覆盖数据。

4. 计算年度土地覆盖

使用mode方法计算2023年的土地覆盖类型。

5. 导出年度土地覆盖图像

将年度土地覆盖图像导出到Google Drive。

6. 定义时间序列集合函数

定义temporal_collection函数,用于生成时间序列的土地覆盖图像集合。

7. 创建月度土地覆盖集合

使用temporal_collection函数创建2023年的月度土地覆盖集合。

8. 更新月度土地覆盖图像的波段名称

将每个月份的图像波段重命名,以反映对应的日期。

9. 导出月度土地覆盖图像

将月度土地覆盖图像导出到Google Drive。

结论

本教程展示了如何使用GEE对Google Dynamic World数据集进行年度和月度土地覆盖变化分析。通过这些分析,我们可以了解土地覆盖类型的分布和随时间的变化。

进一步探索

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

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介
  • 背景知识
    • Google Dynamic World数据集
      • 土地覆盖变化分析
      • 完整代码
      • 代码详解
        • 1. 定义研究点
          • 2. 加载FAO GAUL数据集
            • 3. 加载Google Dynamic World土地覆盖数据集
              • 4. 计算年度土地覆盖
                • 5. 导出年度土地覆盖图像
                  • 6. 定义时间序列集合函数
                    • 7. 创建月度土地覆盖集合
                      • 8. 更新月度土地覆盖图像的波段名称
                        • 9. 导出月度土地覆盖图像
                        • 结论
                        • 进一步探索
                        领券
                        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档