GEE基础——下载Sentinel-2影像数据

看到身边不少同学,都喜欢用GEE来下载遥感影像数据。一是因为非常便捷,二是因为GEE平台上的遥感影像多数已经过地形校正或大气校正,使用起来非常喜人。Hence,本期介绍如何在GEE上下载哨兵2号影像数据

//define your study area here!
var studyarea = area1;
Map.addLayer(studyarea)

prepare sentinel imagecollection/
/**
 * Function to mask clouds using the Sentinel-2 QA band
 * @param {ee.Image} image Sentinel-2 image
 * @return {ee.Image} cloud masked Sentinel-2 image
 */
function maskS2clouds(image) {
  var qa = image.select('QA60');
  // Bits 10 and 11 are clouds and cirrus, respectively.
  var cloudBitMask = 1 << 10;
  var cirrusBitMask = 1 << 11;
  // Both flags should be set to zero, indicating clear conditions.
  var mask = qa.bitwiseAnd(cloudBitMask).eq(0)
      .and(qa.bitwiseAnd(cirrusBitMask).eq(0));
  return image.updateMask(mask).divide(10000);
}  //去云处理


var dataset = ee.ImageCollection('COPERNICUS/S2_SR')
                  .filterDate('2020-01-01', '2020-12-31')   //影像时间
                  // Pre-filter to get less cloudy granules.
                  .filter(ee.Filter.lt('CLOUDY_PIXEL_PERCENTAGE',20))  //云量
                  .map(maskS2clouds)  //去云
                  .map(function(image) {
                   var ndvi = image.normalizedDifference(['B8', 'B4']).rename('B5');
                   return image.addBands(ndvi);
                   })   //添加指数
                   .map(function(image){
                   var B1 = image.select("B2").rename("B1");//blue
                   var B2 = image.select("B3").rename("B2");//green
                   var B3 = image.select("B4").rename("B3");//red
                   var B4 = image.select("B8").rename("B4");//nir
                   return image.addBands(B1)
                               .addBands(B2)
                               .addBands(B3)
                               .addBands(B4)
                   })  //重命名
                   .select(["B1","B2","B3","B4","B5"/*,"B6","B7","B8","B9"*/]);  //影像集
                   
var study_img = dataset.median().clip(studyarea);  //中值影像,裁剪出研究区影像
Map.addLayer(study_img, {bands:["B4", "B3", "B2"], min:0, max:0.3}, 'RGB');

//导出哨兵2号影像数据
Export.image.toDrive({
  image:study_img.select(["B1","B2","B3","B4","B5"]),
  description:"sentinel2_AREA",
  region:studyarea,
  scale:10,
  maxPixels:1e13
})  
### 使用 Google Earth Engine (GEE) 下载 Sentinel-2 MSI 数据 #### 准备工作 在 GEE下载 Sentinel-2 MSI 数据前,需完成以下准备工作: 1. 创建并登录到自己的 GEE 账户。 2. 安装 GEE 的 Python API 或者使用在线 Code Editor 进行操作。 #### 编写脚本 以下是用于筛选、处理以及导出 Sentinel-2 MSI 数据的代码示例: ```javascript // 定义研究区域(以宁夏为例) var roi = ee.Geometry.Rectangle([105, 36, 107, 38]); // 加载 Sentinel-2 数据集 var sentinel2 = ee.ImageCollection('COPERNICUS/S2') .filterDate('2023-01-01', '2023-01-31') // 设置时间范围 .filterBounds(roi); // 筛选覆盖 ROI 的图像 // 打印集合信息至控制台 print(sentinel2); // 计算 NDVI 并添加为新波段 var addNDVI = function(image) { var ndvi = image.normalizedDifference(['B8', 'B4']).rename('NDVI'); return image.addBands(ndvi); }; var withNDVI = sentinel2.map(addNDVI); // 导出带有 NDVI 波段的数据 Export.image.toDrive({ image: withNDVI.first(), // 只导出第一个影像 description: 'sentinel2_ndvi_export', scale: 10, // 输出分辨率为 10 米 region: roi, maxPixels: 1e13 // 增加最大像素数限制 }); ``` 上述代码实现了以下几个功能: - **定义感兴趣区域 (ROI)**:通过 `ee.Geometry` 方法指定地理边界[^2]。 - **加载数据**:利用 `ImageCollection` 和过滤器获取特定时间和空间范围内的 Sentinel-2 图像。 - **计算 NDVI**:基于近红外波段 (`B8`) 和红光波段 (`B4`) 计算归一化植被指数 (NDVI)[^1]。 - **导出数据**:将处理后的图像保存到用户的 Google Drive 上。 #### 注意事项 1. 需要调整日期范围和地理位置来匹配具体需求。 2. 如果目标区域内存在大量云层,则可以引入哨兵-2 L2A 数据中的场景分类图层 (SCL),剔除被标记为高概率云或阴影的部分[^3]。 ###
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值