You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Google Earth Engine按日期分别下载2023年Sentinel-2卫星数据?

解决GEE中按日期分别下载Sentinel-2影像的问题

你的代码里用了.median()方法,这会把2023年所有符合条件的Sentinel-2影像做中位数合成,直接合并成了单张影像,所以没法按日期分开下载。要实现按日期逐个导出,需要保留原始的影像集合,遍历集合里的每一张影像单独导出。

修改后的代码如下:

// 保留原始影像集合,不要用median()合成
var imageCollection = ee.ImageCollection('COPERNICUS/S2_SR')
  .filterDate('2023-01-01', '2023-12-31')
  .filter(ee.Filter.lt('CLOUDY_PIXEL_PERCENTAGE', 20))
  .filterBounds(roi);

// 可视化参数不变
var visParamsTrue = {bands:['B4', 'B3', 'B2'], min:0, max:2500, gamma:1.1};
Map.addLayer(imageCollection, visParamsTrue, 'Sentinel 2 Collection');
Map.addLayer(imageCollection.first().clip(roi), visParamsTrue, 'First Image in Research Area');
Map.centerObject(roi, 10);

// 将影像集合转为列表,获取总数量
var imageList = imageCollection.toList(imageCollection.size());
var total = imageCollection.size().getInfo();

// 遍历列表,逐个导出影像,文件名包含影像日期
for (var i = 0; i < total; i++) {
  var image = ee.Image(imageList.get(i));
  var date = image.date().format('YYYY-MM-dd').getInfo();
  
  Export.image.toDrive({
    image: image.int16(),
    description: 'Sentinel_2_' + date,
    scale: 10,
    region: roi,
    maxPixels: 1e13, // 增大maxPixels避免超出限制
    folder: 'Sentinel2_2023' // 可选指定Drive文件夹,方便整理
  });
}

关键修改点说明:

  • 移除.median(),保留ee.ImageCollection对象,这样就能获取所有单张影像
  • 把影像集合转为列表后,通过循环遍历每一张影像
  • 用image.date().format()获取影像的拍摄日期,作为导出文件名的一部分,方便区分不同日期的影像
  • 增大maxPixels的值,避免因影像范围大导致导出失败
  • 可选添加folder参数,指定Drive中的文件夹,方便管理导出的文件

内容的提问来源于stack exchange,提问作者Seongjun Lee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 17:40:04