GEE 01 -Sentinel2A 哨兵数据下载

Google Earth Engine 引擎平台有大量影像数据,Landsat系列、Sentinel系列、Modis系列,可在线查询、获取数据、在线处理数据。

一、引擎介绍

首先,你需要能访问到引擎(https://code.earthengine.google.com/)。其次,你还需要一个Google账号。然后,就可以登录并访问Code在线编辑器了。
GEE 01 -Sentinel2A 哨兵数据下载_第1张图片

二、下载数据

这里的操作为,上传矢量数据shapefile文件,查询一定范围内的哨兵数据,选取蓝绿红三个波段组合后,导出GeoTiff文件到Google Drive,然后从Drive云盘下载到本地。(Drive免费存储只有15GB,所以如果数据过多就需要分批次导出清理云盘;此外如果下载数据过大GEE本身也有限制,单个Task不能太大。)

1. 上传Shapefile文件

GEE 01 -Sentinel2A 哨兵数据下载_第2张图片
在assets中可以看到上传的Shapefile文件:
GEE 01 -Sentinel2A 哨兵数据下载_第3张图片

上传完成后,即可以加载Shapefile数据并显示在地图上:

var district = ee.FeatureCollection("users/xxxxx/data/nj");

var dsize = district.size();
print(dsize);

var district_geometry = district.geometry();

Map.centerObject(district_geometry,12);
Map.addLayer(district);

图上显示效果:
GEE 01 -Sentinel2A 哨兵数据下载_第4张图片

2.查询哨兵数据

查询特定时间段内、控制含云量以及加载到地图上:

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);
}


// Map the function over one year of data.
// Load Sentinel-2 TOA reflectance data.
var dataset = ee.ImageCollection('COPERNICUS/S2')
                  .filterBounds(district_geometry)
                  .filterDate('2017-01-01', '2021-01-01')
                  // Pre-filter to get less cloudy granules.
                  .filter(ee.Filter.lt('CLOUDY_PIXEL_PERCENTAGE', 20))
                  .map(maskS2clouds);
                  
                

var rgbVis = {
  min: 0.0,
  max: 0.3,
  bands: ['B4', 'B3', 'B2'],
};


Map.addLayer(dataset.median(), rgbVis, 'RGB');

对于云掩膜控制,主要来源于官方数据描述:
GEE 01 -Sentinel2A 哨兵数据下载_第5张图片
上图后效果如下:
GEE 01 -Sentinel2A 哨兵数据下载_第6张图片

3. 导出下载数据

导出到云盘Drive。

//export data
var exportdataset =  ee.ImageCollection('COPERNICUS/S2')
                  .filterBounds(district_geometry)
                  .filterDate('2017-01-01', '2021-01-01')
                  // Pre-filter to get less cloudy granules.
                  .filter(ee.Filter.lt('CLOUDY_PIXEL_PERCENTAGE', 20))
                  .map(maskS2clouds)
                  .select(['B4', 'B3', 'B2']);
                  
  var mosaic = exportdataset.mosaic();
  
  Export.image.toDrive({
      image:mosaic,
      description:'njimg',
      scale:10,
      maxPixels: 1e13,
      region:district_geometry,
      fileFormat: 'GeoTIFF',
      formatOptions: {
        cloudOptimized: true
      }
    });

在右侧Task面板点击run,即可以开始下载任务:
GEE 01 -Sentinel2A 哨兵数据下载_第7张图片
注:如果数据过大,可以通过maxPixels参数做一定程度调整;但是如果仍然超限,可能就需要考虑基于小行政区划SHP数据分区下载。

你可能感兴趣的:(开源笔记)