1

我正在尝试创建一个无云的 S2 映像。现在这段代码可以工作了,但是我想在云遮罩周围添加一个 20 或 30 米的缓冲区,因为我的图像中仍然存在云的边缘。[![示例图片][1]][1]

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

// Map the function over one year of data and take the median.
// Load Sentinel-2 TOA reflectance data.
var dataset = ee.ImageCollection('COPERNICUS/S2_SR')
                  .filterDate('2019-07-01', '2019-07-30')
                  // Pre-filter to get less cloudy granules.
                  .filter(ee.Filter.lt('CLOUDY_PIXEL_PERCENTAGE', 9))
                  .map(maskS2clouds);

var medianpixels = dataset.median()
var medianclipped = medianpixels.clip(geometry)

Map.addLayer(medianclipped,{
  min: 0.0,
  max: 0.3,
  gamma: 1.7,
  bands: ['B4', 'B3', 'B2'], }) ```


  [1]: https://i.stack.imgur.com/HruSG.png
4

0 回答 0