【GEE笔记】制作数据集GIF,自定义可视化参数

  • 主要功能 

  1. 筛选低云量研究区数据数据集
  2. 定义可视化参数输出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编辑工具添加修改效果

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

runepic

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值