小白1号R 2025-11-08 16:54 采纳率: 0%
浏览 5

GEE 中多条 Landsat 条带如何按日拼接以计算每日 ET?

我想用 Landsat 数据在 GEE 上跑 SEBAL 模型,计算某市全年 ET,以及每日有数据的 ET 栅格图像。
该市被多条 Landsat 条带覆盖,我想把这些条带合成一张完整覆盖 AOI 的图像。
我考虑用 mosaic(),但我担心它会把不同日期的影像拼接在一起,从而导致每日 ET 数据不准确。
请问,在这种情况下,应该怎么做才能:

1.将多条条带合成为覆盖 AOI 的完整图像

2.保证每日 ET 数据的时间准确性?

  • 写回答

5条回答 默认 最新

  • 阿里嘎多学长 2025-11-08 17:03
    关注

    阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程

    解决方案

    你可以使用 Google Earth Engine (GEE) 的 mosaic 函数来合成多条 Landsat 条带。具体步骤如下:

    1. 首先,使用 ee.ImageCollection 函数获取 Landsat 数据的集合。
    2. 使用 filterDate 函数过滤数据,确保只获取你需要的日期范围。
    3. 使用 mosaic 函数合成多条 Landsat 条带,确保所有图像都有相同的投影和坐标系。
    4. 使用 map 函数应用 SEBAL 模型来计算每日 ET。

    核心代码

    // 获取 Landsat 数据的集合
    var landsatCollection = ee.ImageCollection('LANDSAT/LC08/C01/T1')
      .filterDate('2020-01-01', '2020-12-31')
      .filterBounds(AOI); // AOI 是你的分析区域
    
    // 合成多条 Landsat 条带
    var mosaic = landsatCollection.mosaic();
    
    // 应用 SEBAL 模型计算每日 ET
    var sebalModel = ee.Model('SEBAL');
    var dailyET = sebalModel.apply(mosaic, {date: '2020-01-01'});
    

    注意

    • 确保所有 Landsat 数据都有相同的投影和坐标系。
    • 确保 AOI 是你的分析区域。
    • SEBAL 模型需要在 GEE 上注册才能使用。
    • 这个代码片段仅提供了一个基本的解决方案,你可能需要根据你的具体需求进行调整。
    评论

报告相同问题?

问题事件

  • 创建了问题 11月8日