使用GEE进行多源遥感数据合并与分析代码

代码概述

该代码基于Google Earth Engine (GEE)平台,旨在从不同遥感数据集中筛选、合并并展示指定区域和时间范围内的数据,同时输出数据集影像的源信息和日期信息。涉及的遥感数据集包括MODIS、Landsat 8和Sentinel-2。

使用的数据集

  1. MODIS (MOD09GA):提供全球范围内的每日地表反射率数据,空间分辨率为500米。
  2. Landsat 8 (LC08/C02/T1_L2):提供全球覆盖的高分辨率卫星影像,空间分辨率为30米。
  3. Sentinel-2 (COPERNICUS/S2_HARMONIZED):提供全球范围内的多光谱影像,空间分辨率为10米。

代码流程

  1. 定义区域和时间范围:指定感兴趣的地理区域和时间范围。
  2. 筛选和准备数据集
    • 分别从MODIS、Landsat 8和Sentinel-2数据集中筛选指定时间范围内的影像,并标记数据源。
  3. 合并数据集:将MODIS、Landsat 8和Sentinel-2数据集合并为一个数据集。
  4. 数据集筛选:尽管尝试对合并后的数据集进行云量筛选,但实际代码中未生效。
  5. 显示数据集和区域:在GEE地图界面上显示感兴趣区域及合并后的数据集影像。
  6. 输出影像信息
    • 输出数据集中每个影像的数据源信息。
    • 输出数据集中所有影像的日期信息。

运行结果

代码运行后,将在GEE地图上展示指定区域的合并影像,并在控制台输出数据集中每个影像的数据源信息和日期信息,可以方便地获取并分析指定区域和时间范围内的多源遥感数据。

完整代码:

// 定义区域
//var geometry = table;
var geometry = table2.filter(ee.Filter.eq('city','hefei'))
// 定义时间范围
var startDate = '2020-09-15';
var endDate = '2020-12-28';

// 定义不同数据集

//modis数据集
var modis = ee.ImageCollection('MODIS/061/MOD09GA')  
                .filterBounds(geometry)
                .filterDate(startDate, endDate)
                .map(function(image) {
                  return image.set('source', 'MODIS');
                });
                
//landsat数据集
var landsat = ee.ImageCollection("LANDSAT/LC08/C02/T1_L2")  
                  .filterBounds(geometry)
                  .filterDate(startDate, endDate)
                  .map(function(image) {
                    return image.set('source', 'Landsat');
                  });

//sentinel-2数据集
var sentinel2 = ee.ImageCollection('COPERNICUS/S2_HARMONIZED')  
                  .filterBounds(geometry)
                  .filterDate(startDate, endDate)
                  .map(function(image) {
                    return image.set('source', 'Sentinel-2');
                  });


// 合并所有数据集
var mergedCollection = modis.merge(landsat)
                            .merge(sentinel2);

// 进行筛选
var filteredCollection = mergedCollection.filter(ee.Filter.and(
  ee.Filter.gt('CLOUD_COVER', 5) // 将云量阈值调整为 5,此处无效

));

// 打印数据集大小
var count = filteredCollection.size();
print('合并和筛选后的数据集大小:', count);

// 在地图上显示整个数据集
Map.centerObject(geometry, 8);
Map.addLayer(filteredCollection, {}, 'Filtered Collection');

// 在地图上显示区域
Map.addLayer(geometry, {}, 'Region of Interest');

// 查看每个影像的数据源并打印
filteredCollection = filteredCollection.map(function(image) {
  var source = ee.String(image.get('source'));
  return image.set('source', source);
});

filteredCollection.aggregate_array('source').evaluate(function(sourceList) {
  print('数据集中每个影像的数据源:', sourceList);
});


// 查看数据集中所有影像的日期并打印
filteredCollection.aggregate_array('system:time_start').evaluate(function(dateList) {
  var formattedDates = dateList.map(function(date) {
    return new Date(date).toISOString().slice(0, 10); // 将日期格式化为 YYYY-MM-DD
  });
  print('所有影像的日期:', formattedDates);
});

运行示例:

工作台输出:

数据合并结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值