【GEE笔记】分块下载——像元行列数

  • 主要功能

    将影像按照设定的行列数目分块导出

  • 主要流程

    在GEE线上的Code Editor编写JavaScript代码实现相关功能,以哨兵二为例:传入范围,筛选出符合条件的数据之后,定义可视化参数在线输出,分块导出

  • 代码实现

    1、获取影像

    定义矢量面geometry(可手动借助GEE画图工具或者上传shp)、时间范围start和finish、选择的波 段bandlist,得到云量低于20的影像集合dataset;mean函数均值合成得到示例影像image

var geometry = 
    ee.Geometry.Polygon(
        [[[122.0882232789087, 40.750323126160055],
          [122.0882232789087, 40.64308053105867],
          [122.29078370371339, 40.64308053105867],
          [122.29078370371339, 40.750323126160055]]], null, false);
          
var year=2020
var start = ee.Date(year+'-4-01');
var finish = ee.Date(year+'-5-1');
var bandlist=['B2','B3','B4','B5','B6','B7','B8','B8A','B11','B12']

var dataset = ee.ImageCollection('COPERNICUS/S2_SR')
                  .filterDate(start, finish)
                  .filterBounds(geometry)
                  .filter(ee.Filter.lt('CLOUDY_PIXEL_PERCENTAGE', 20))
                  .map(maskS2clouds)
                  .select(bandlist);

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).clip(geometry);
}                  
var image=dataset.mean();

2、可视化在线显示

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

Map.centerObject(geometry)
Map.addLayer(image, rgbVis, 'RGB');    

【GEE笔记】分块下载——像元行列数_第1张图片
3、分块导出

引用Export.image.toDrive导出到谷歌云盘,参数设置基本与通常情况下导出一幅影像相同(附录参数介绍),特别的是shardSize:GEE分块计算此图像的块的大小(以像素为单位),默认为256。fileDimensions:以像素为单位设置每个图像文件的尺寸。可以指定单个数字来表示正方形,或指定二维数组来表示(宽度、高度)。请注意,图像仍将被裁剪到整体图像尺寸。必须是上一个参数shardSize的倍数,不然会报错。

Export.image.toDrive({
    image: image,
    description: "image3",
    folder: 'S2SR103',
    shardSize:100,
    fileDimensions:[100,200],
    region: geometry,
    scale: 10,
    maxPixels: 1e13
});
  • 结果处理——合并&分割

    数据命名为:“文件名”+“左上角行数”+“左上角列数”
    下载到本地查看像元行列数 为设定好的100*200
    合并&分割主要在本地借助python进行:将图像合并为一个整体&拆分为其他尺寸
    可参阅【Python笔记】遥感影像合并与分块

【GEE笔记】分块下载——像元行列数_第2张图片
【GEE笔记】分块下载——像元行列数_第3张图片

你可能感兴趣的:(GEE,javascript,开发语言)