GEE快速获取大范围无云10米遥感影像

学术   2025-01-02 17:50   云南  

很多GEE学习者,都是从下载大范围高空间分辨率遥感影像开始的,或者在GEE上进行一些植被指数处理。本文选择Sentinel-2数据,利用S2_CLOUD_PROBABILITY数据集对其进行去云处理。然后合成无云的Sentinel-2影像及ndvi。本文以四川省为例。代码如下:

var table = ee.FeatureCollection("users/cduthes1991/China_province_2019"),    S2_Cloud = ee.ImageCollection("COPERNICUS/S2_CLOUD_PROBABILITY"),              S2 =ee.ImageCollection("COPERNICUS/S2");


// 筛选研究区范围 

var roi = table.filter(ee.Filter.eq('provinces','sichuan'))


// 习惯性计算一下研究区面积 

print(roi.geometry().area().divide(1000000),'sichuanArea(km2)')


// 利用外轮廓红色显示研究区范围 

var styling = {color:'black',fillColor:'00000000'}

Map.centerObject(roi,5.7)


// 建立去云函数 

function CloudProbability(img,thread){

  var prob = img.select('probability')

  return img.updateMask(prob.lte(thread))

}


// 利用ee.Join.inner函数将cloud影像和Sentinel-2影像联合,以便后面去云时使用

function MergeImages(primary, secondary) {

  var join = ee.Join.inner();

  var filter = ee.Filter.equals({

    leftField: 'system:index',

    rightField: 'system:index'

  });

  var Col = join.apply(primary, secondary, filter);

  Col = Col.map(function(image) {

    var img1 = ee.Image(image.get("primary"));

    var img2 = ee.Image(image.get("secondary"));

    return ee.Image.cat(img1,img2);

  });

  return ee.ImageCollection(Col);

}


// 这里选择 5-10 月的数据进行处理 

function main() {

  var startDate = "2021-5-1";

  var endDate = "2021-10-1";

  var S2Img1 = S2.filterDate(startDate, endDate)

                  .filterBounds(roi)

  var S2Img2 = S2_Cloud.filterDate(startDate, endDate)

                        .filterBounds(roi);

  var S2Imgs = MergeImages(S2Img1, S2Img2);

  S2Imgs = S2Imgs.map(function(image) {

    return CloudProbability(image, 30);

  });

  print(S2Img1)

  print(S2Img2)

  print(S2Imgs)

  var ndvi_max = S2Imgs.map(function ndvi(img){

    return img.normalizedDifference(['B8','B4'])

  }).max().clip(roi)

  Map.addLayer(S2Imgs,{bands:['B8','B4','B3'],min:0,max:3000},'S2Imgs')

  Map.addLayer(ndvi_max, {min:0, max:0.9}, "ndvi");

}

main();

Map.addLayer(roi.style(styling),{},'sichuan')


欢迎加入GEE遥感训练营。

代码已经测试没有问题。有问题可以后台随时微信我。

后期更多免费代码持续分享,关注点赞在看三连走起!!

走天涯徐小洋地理数据科学
一个爱生活的地理土博,分享GIS、遥感、空间分析、R语言、景观生态等地理数据科学实操教程、经典文献、数据资源
 最新文章