Bootstrap

学习日记03 GEE逐像元查询指定位置影像数量(以sentinel-2A为例)

因为上期按照单景查询数量只能查询该位置的覆盖情况,无法对特定地点影像数量分布进行一个精确的评估,所以本文按照逐像元的方法来评估特定地区的数量分布情况,以便探究某地是否有数据融合的需求。

先上效果图(黑龙江省)

影像数量由蓝至红逐渐增加(设定的是0-30)

注意,因为是对像元数量进行查询,不能等同于该地一定云量范围内影像数量,但足以反映影像的相对分布情况。

上代码

//指定位置
var geometry = ee.FeatureCollection('***')
//去云
function rmCloudByQA(image) { 
  var qa = image.select('QA60'); 
  var cloudBitMask = 1 << 10; 
  var cirrusBitMask = 1 << 11; 
  var mask = qa.bitwiseAnd(cloudBitMask).eq(0) 
               .and(qa.bitwiseAnd(cirrusBitMask).eq(0)); 
  return image.updateMask(mask).unmask(-9999);
} 
//快乐的调色板
var colorizedVis = {
  min: 0,
  max: 30,
  palette: [ 'ffffff','0000ff', '6882ff','10ff9c','2dff14','7bff29','fcff23','ff1010'],
}; 

//获取哨兵数据源    
var s2 = ee.ImageCollection("COPERNICUS/S2")
var s2_t = s2.filterBounds(geometry)
              .filterDate('2021-07-01','2021-09-30')  //时间范围
              .map(rmCloudByQA)
              .select('B2')    //随便挑个波段

//获取像元数量
var count = s2_t.map(function(img){
                                  return img.neq(-9999)
                                })
                                .sum()
//加载至地图上
                                
Map.addLayer(geometry,{},'qiqihaer')
Map.addLayer(count,colorizedVis)

 

;