USGS为每一颗Landsat卫星均提供了3级不同水平的数据产品,以满足开发、科研人员的需要。包括:Tier 1 (T1)、Tier 2 (T2)、Real Time (RT)。
T1数据是Landsat高质量数据,该数据适合进行时间序列分析;
T2数据是在处理过程中不符合一级标准的数据,但是其存在云层覆盖明显、地面控制不足、轨道信息不准确等问题,不能达到T1数据的几何校正精度;
RT数据经过2020年8月发布的第三版大气校正数据,Landsat8采用的是LaSRC地表反射率代码,是USGS专门为Landsat8数据设计的大气校正程序。
由于Landsat数据的分辨率较高,所以当研究区域较大时,需要下载多幅影像才能覆盖整个研究区域,不仅浪费存储空间,处理起来也相当耗费时间。
所以下边为大家分享如何使用GEE对Landsat影像进行拼接,并筛选云量较少区域。之后对数据进行导出,方便大家在ENVI或者Arcgis中进行后续的处理研究。
//首先,导入自己的研究区矢量数据。此处为个人矢量数据位置
ROI=ee. FeatureCollection("users/……");
//选择数据集和合成数据的时间范围
var dataset = ee.ImageCollection('LANDSAT/LC08/C01/T1_SR')
.filterDate('2021-6-01', '2021-9-30')//此时间范围内云量较少
.filterBounds(ROI)
.filter(ee.Filter.lte('CLOUD_COVER',5))//云量设置
.sort('CLOUD_COVER')//按云量排序
print(dataset)
var mos=dataset.mosaic()
var mos_cl = mos.clip(ROI)
print(mos_cl)
//显示shp边界
Map.addLayer(ROI,{color:'yellow',fillColor: "00000000", width: 1},'liaoshi Boundary');
//显示ROI影像并且以321合成,后面命名
Map.addLayer(mos_cl,{bands:["B4","B3","B2"],gamma:1.3,max:108,min:15},'liaoshi Image');
//输出数据
Export.image.toDrive({
image:mos_cl.int16(),
description: 'Landsat8_2021_11',
fileNamePrefix:'Landsat8_liaoshi',
region:ROI,
scale:30,
crs: "EPSG:4326",
maxPixels:1e13
})
注:此处导出方法为只有一副影像时进行导出,下方为大家提供多幅影像批量导出的封装函数,供大家更改代码以及数据批量导出时使用。
function exportImageCollection(imgCol, roi, scale) {
var indexList = imgCol.reduceColumns(ee.Reducer.toList(), ["system:index"])
.get("list");
indexList.evaluate(function(indexs) {
for (var i=0; i<indexs.length; i++) {
var image = imgCol.filter(ee.Filter.eq("system:index", indexs[i])).first();
image = image.toInt16();
Export.image.toDrive({
image: image.clip(roi),
description: indexs[i],
fileNamePrefix: indexs[i],
region: roi,
scale: scale,
crs: "EPSG:4326",
maxPixels: 1e13
});
}
});
}
同名公主号同步更新,众多数据可在公主号【资源下载】中获取,如有问题可后台留言,大家一起交流沟通!