基于 GEE 的长时间序列 Landsat 5 影像下载
目录
1 完整代码
2 运行结果
1 完整代码
var LT5 = ee.ImageCollection("LANDSAT/LT05/C01/T1"),imageVisParam = {"opacity":1,"bands":["B4","B3","B2"],"gamma":1},roi = ee.FeatureCollection("projects/ee-zhangkanghnust/assets/HengShaoLou"); //感兴趣的区域信息//引入批量导出函数
var batch = require('users/fitoprincipe/geetools:batch')
//需要下载的波段
var bands=["B1","B2","B3","B4"]//去云、裁剪和镶嵌函数
//参考landsat5的BQA波段,752、756、760和764是带云的像素
var Landsat5_pre=function (collection){var fun_Cloud = function(image) {var qa = image.select('BQA');var mask = qa.eq(752).bitwiseOr(qa.eq(756).bitwiseOr(qa.eq(760).bitwiseOr(qa.eq(764))));mask = mask.eq(0)//对每一张影像去云、按roi裁剪以及筛选波段return image.updateMask(mask).clip(roi).select(bands);};collection = ee.ImageCollection(collection).map(fun_Cloud); //返回镶嵌影像return collection.mosaic()
}Map.addLayer(roi)
Map.centerObject(roi,9)//主函数
var get_LANDSAT5_image=function(file_name,date_start, date_end){var collection =LT5//原始影像LANDSAT/LC08/C01/T1,按需求选择影像源 .filterDate(date_start, date_end).filterBounds(roi).filter(ee.Filter.lte('CLOUD_COVER',99))//云量筛选.sort('CLOUD_COVER')//筛选后再按云量排序var ROI_LC5=Landsat5_pre(collection)//加载处理结果影像·Map.addLayer(ROI_LC5,imageVisParam,file_name);Export.image.toDrive({image: ROI_LC5,description: file_name,//文件名folder: file_name,scale: 78,//分辨率region: roi,//区域maxPixels:1e13//此处值设置大一些,防止溢出});}//获取哪一年的,如果你想获取1985年到1999年
for(var i=2001;i<2012;i++){//1-12月份循环for(var j=1;j<12;j++){var file_name=i+"yeat_"+j+"month";//规则化时间var date_start=ee.Date.fromYMD(i, j, 1)//时间间隔函数,做几个月的合成写几。这里我做一个月的最大值合成var date_end=date_start.advance(1,"month");//代入到NDVI的计算函数中get_LANDSAT5_image(file_name,date_start,date_end)}}
2 运行结果





