ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

GEE|下载Sentinel2数据

2022-06-12 13:34:31  阅读:154  来源: 互联网

标签:district 波段 Sentinel2 var 下载 GEE Sentinel 数据 影像


引言

本文使用的数据集为Sentinel-2 L2A产品,该产品已经由欧空局预先进行了辐射定标、大气校正等预处理,因此数据反映的是地表的反射率信息,下载后无须进行后续处理即可使用,该数据在遥感图像分类领域应用十分广泛。另外在Sentinel-2系列的多光谱产品中,还有一种未进行预处理的数据,即Sentinel-2 L1C数据。该数据主要反映了大气顶端反射率,主要在辐射传输模型、植被几何光学模型的定量遥感应用较多。特别注意的是,执行此代码之前仍需要上传自己的ROI。

Sentinel-2 L2A产品参数

1.可获取日期

目前GEE平台下,Sentinel-2 L2A产品的最早可获取时间为,2017年3月28日。由此日期至今的数据均可获取。

2.数据波段信息

可获取的波段主要有13个,波谱范围由可见光至短波红外不等。另外数据的空间分辨率主要有10、20、60m三种类型。

3.质量控制波段(QA band)信息

在不考虑机器学习等影像去云算法的情况下,Sentinel-2影像的快速去云操作可以基于官方给出的QA波段,虽为一个波段但影像中包含了大量的地物代码信息,包括云、云的阴影、植被、水体等。若需要提前对影像进行掩膜,可对照不同地物的值(Value),更改本文中的算法,实现相应的操作。需要注意的是,表中的Value并非影像的反射率或灰度值,而是对于二进制1的位移操作位数

GEE代码实现

代码的主要操作流程如下:1.加载感兴趣区(ROI);2.读取QA波段云与卷积云信息,并设定影像中的掩膜数值;3.影像数据集获取与显示;4.影像数据集导出。

var district = table;
var dsize = district.size();
var district_geometry = district.geometry();
print(dsize);
Map.centerObject(district_geometry,7);

//去云的范围内的范围内,
function maskS2clouds(image) {
  var qa = image.select('QA60');
  
  // Bits 10 and 11 分别是云和卷云
  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")
                  .filterBounds(district_geometry)
                  .filterDate('2020-10-28', '2020-10-30')
                  // 选择云量真彩色真彩色,0到到100的范围内
                  .filter(ee.Filter.lt('CLOUDY_PIXEL_PERCENTAGE', 20))
                  .map(maskS2clouds)
                  .select(['B2', 'B3', 'B4','B5','B6','B7','B8A','B11','B12']);
                  
//可视化参数,按2,3,4波段合成真彩色              
var rgbVis = {
  min: 0.0,
  max: 0.3,
  bands: ['B2', 'B3', 'B4'],
};

//按中值合成指定指定时间段的影像
Map.addLayer(dataset.median(), rgbVis, 'RGB');

//设置显示样式:color代表边界颜色;fillcolor代表填充颜色
var styling={color:'red',fillColor:'00000000'}

//FH就是矢量边界,这里可以不用管
Map.addLayer(district.style(styling),{},"FH");

var IMAGE = dataset.mosaic();

//下载数据
Export.image.toDrive({
      image:IMAGE,
      description:'Sentinel2',
      scale:30,
      maxPixels: 1e13,
      region:district_geometry,
      crs: "EPSG:32649",
      fileFormat: 'GeoTIFF',
      formatOptions: {
        cloudOptimized: true
      }
  });

导出数据与下载至本地

代码运行后点击RUN按钮,即可开始保存,图片会被保存至Drive中,进入谷歌云盘将其下载至本地即可

 

标签:district,波段,Sentinel2,var,下载,GEE,Sentinel,数据,影像
来源: https://www.cnblogs.com/tangjielin/p/16367818.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有