GEE使用记录

发布于 2022-11-02  450 次阅读


本来打算最近安安心心学javaweb的,结果突然被抓去做重庆ndvi时序,师姐让我先用GEE下载重庆区域12个月的哨兵2和landsat数据。

GEE首先要用gmail注册个账号,然后在code界面通过脚本下载数据

var Chongqing_geo = ee.FeatureCollection("users/luxuanzhi00/Chongqing").geometry();

Map.addLayer(Chongqing_geo, {color: 'red'}, 'Chongqing_geo');


var startDate = '2020-10-01'
var endDate = '2020-10-31'


// Function: Filter Cloud
function maskCloudAndShadows(image) {
  var cloudProb = image.select('MSK_CLDPRB');
  var snowProb = image.select('MSK_SNWPRB');
  var cloud = cloudProb.lt(5);
  var snow = snowProb.lt(5);
  var scl = image.select('SCL'); 
  var shadow = scl.eq(3); // 3 = cloud shadow
  var cirrus = scl.eq(10); // 10 = cirrus
  // Cloud probability less than 5% or cloud shadow classification
  var mask = (cloud.and(snow)).and(cirrus.neq(1)).and(shadow.neq(1));
  return image.updateMask(mask);
}

// Function:  Adding a NDVI band
function addNDVI(image) {
  var ndvi = image.normalizedDifference(['B8', 'B4']).rename('ndvi')
  return image.addBands([ndvi]).select('ndvi').clip(Chongqing_geo)
}


// Use Sentinel-2 L2A data - which has better cloud masking
var S2_NDVI = S2_Collection
    .filter(ee.Filter.bounds(Chongqing_geo))
    .filterDate(startDate, endDate)
    .filter(ee.Filter.lt('CLOUDY_PIXEL_PERCENTAGE', 80))
    .map(maskCloudAndShadows)
    .map(addNDVI) // addNDVI
    
var length =  S2_NDVI.size();
print(S2_NDVI)



//  导出时间序列 
var list=S2_NDVI.toList(48,0);
for (var i=0;i<48;i++){
    var image=ee.Image(list.get(i));
    var name=ee.String(image.id()).getInfo();
    print(name);
    Export.image.toDrive({ 
          image: image,
          folder:"Chongqing_NDVI",
          description:name,
          scale: 10,
          maxPixels: 1e11,
          region:Chongqing_geo,
          crs : 'EPSG:4326'
          });
}

首先注释掉最后一段,运行一下看看这个月有多少符合条件的数据,然后全部保存到google drive

注意修改maxPixels参数以防图像尺寸过大而报错

在控制台中输入自动点击run的脚本省的一个个点(记得现在右边栏切换到task界面)

// Batch RUN button
runTasks = function() {
    const evt = new MouseEvent('click', {bubbles: true, cancelable: true, ctrlKey: true})
    $$('.run-button' ,$$('ee-task-pane')[0].shadowRoot).forEach(function(e) {
        e.dispatchEvent(evt)
    })
}
runTasks()

其实还可以通过usgs预览EarthExplorer (usgs.gov)

也是同样要注册个账号,不过usgs选择范围时上传的shp

(23条消息) 谷歌云盘批量下载文件_weishujie1994的博客-CSDN博客_谷歌云盘怎么下载别人分享的文件夹

googledrive这个批量下载,很离谱,他给你服务器打包成zip给你下载,但是你的梯子一定要稳定。我先后尝试了multcloud转存,python脚本转成直链下载,最后发现只要梯子稳定是可以直接下载文件夹的。

之后师姐教我了怎么直接在GEE上计算平均值合成一张图像。

以月为时间范围
届ける言葉を今は育ててる
最后更新于 2023-03-26