-
主要功能
- 筛选低云量研究区数据数据集
- 定义可视化参数输出GIF
-
主要流程
在GEE线上的Code Editor编写JavaScript代码实现相关功能,以Landsat5、8为例:传入范围,筛选出符合条件的数据之后,定义可视化参数输出GIF
-
代码实现
1、定义矢量面geometry,可手动借助GEE画图工具或者上传shp。
var geometry =
ee.Geometry.Polygon(
[[[121.91609916571885, 40.845858597076386],
[121.91609916571885, 40.53033808883855],
[122.35417899970322, 40.53033808883855],
[122.35417899970322, 40.845858597076386]]], null, false);
2、定义获取Landsat5影像的函数getlc5() 、获取Landsat8影像的函数getlc8() ,分别可以根据传入的年份获取行列号为119-32的6-9月份的Landsat影像并根据云量参数“DATE_ACQUIRED”排序,返回云量最低的影像,此处因为已知研究区处于条带号为119-32的范围之内所以筛选影像集时借助条带号;特别的是Landsat5和Landsat8波段命名和划分有差异,所以在获取getlc5()函数中对后续需要可视化的RGB波段重命名,使得两个数据集的命名一致;for循环获取各个年份的影像,每次使用merge函数将每年的合适影像合并到结果集imagelist中。
var imagelist=ee.ImageCollection([]);
for(var i=2000;i<2013;i++){
if(getlc5(i)!=null){
imagelist=imagelist.merge(ee.ImageCollection(getlc5(i)))
}
}
for(var i=2012;i<2022;i++){
if(getlc8(i)!=null){
imagelist=imagelist.merge(ee.ImageCollection(getlc8(i)))
}
}
print(imagelist)
function getlc8(year){
var startDate = ee.Date.fromYMD(year,6,1);
var startDate2 = ee.Date.fromYMD(year,10,1);
var dataset = ee.ImageCollection('LANDSAT/LC08/C01/T1_TOA')
.filterDate(startDate,startDate2)
.filter(ee.Filter.eq('WRS_PATH', 119))
.filter(ee.Filter.eq('WRS_ROW', 32))
.filter(ee.Filter.lt('CLOUD_COVER', 20))
.sort('CLOUD_COVER');
if(dataset.size().getInfo()==0){return null;}
var img=dataset.first().select(['B4', 'B3', 'B2']);
return img;
}
function getlc5(year){
var startDate = ee.Date.fromYMD(year,6,1);
var startDate2 = ee.Date.fromYMD(year,10,1);
var dataset = ee.ImageCollection('LANDSAT/LT05/C01/T1_TOA')
.filterDate(startDate,startDate2)
.filter(ee.Filter.eq('WRS_PATH', 119))
.filter(ee.Filter.eq('WRS_ROW', 32))
.filter(ee.Filter.lt('CLOUD_COVER', 20))
.sort('CLOUD_COVER');
if(dataset.size().getInfo()==0){return null;}
var img=dataset.first().select(['B3', 'B2', 'B1'],['B4', 'B3', 'B2']);
return img;
}
3、定义可视化数据集的参数params,包括范围geometry,波段bands,拉伸范围等等,调用getVideoThumbURL()函数在控制台打印输出GIF的url
// 使用缩略图来制作展示
var params = {
crs: 'EPSG:32651',
region: geometry,
min: 0.0,
max: 0.4,
bands: ['B4', 'B3', 'B2'],
dimensions: 512,
};
// print(ui.Thumbnail(trueColor432, params));
print(imagelist.getVideoThumbURL(params));
4、点击GIF的ul即可获取GIF,右键另存为本地,由于gee制作GIF的自定义功能有限,后续可通过其他GIF编辑工具添加修改效果