前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Google Earth Engine实现地区年度最大NDVI值的影像合成

Google Earth Engine实现地区年度最大NDVI值的影像合成

作者头像
遥感大数据学习
发布2022-09-20 15:49:04
3.1K0
发布2022-09-20 15:49:04
举报
文章被收录于专栏:GEE遥感大数据学习社区

本期分享如何Google Earth Engine实现地区年度最大NDVI值的影像合成,相比于传统方法,GEE方法简单、高效且对电脑硬件要求较低!

1 教程介绍

首先,这个简单的教程是根据官方的一个案例“搬运”而来(我们不生产知识,只是知识的搬运工)。

之所以需要这么做的动机是:

由于Landsat卫星存在重访周期,所以对于某一地区而言,所获取的影像间存在一定的“phenology 差异”。为了最大程度的降低该差异对分析结果的影响,有时候可以尝试在大致相同的物候阶段设置合成物中的像素值,例如,植物达到最大绿色程度的时间(当叶子开着并具有光合活性时)。例如,如果我们在对比不同年份的地区植被覆盖率的时候,每年的影像成百上千,而且也无法保证每年所选取的影像都是相同时间,而这将会影响时间序列分析的结果准确性。

2 传统方法实现

(1) USGS下载影像,比如广州,轨道号122044,下载一年的Landsat8的影像保守估计,不知道多久(没试过,太离谱了)。

(2) 使用ENVI或者其它影像处理软件,进行NDVI计算,由于影像数量极多,所以这个工作量也不少。

(3) 利用波段计算器进行最大值合成,生成广州市全年的,逐像素位置的最大NDVI结果。

实际上,这个过程的工作量是海量的,而且,生成了全年最大值的NDVI后,也只能得到最大值的NDVI结果,无法获取每个像素位置上该最大NDVI所属影像的其它波段信息。

2 GEE实现

(1) GEE的工作台地址:

https://code.earthengine.google.com

(2) 导入对应的Landsat影像和广州shp:

检索Landsat 8影像

导入影像

自行上传已经处理好的shp

上传后,点击import

代码窗口自动填充以上语句

(3) 然后敲入以下几行代码:

代码语言:javascript
复制
//定义addNDVI函数,该函数的输入是image,然后对image执行NDVI计算,并将结果命名为ndvi
//并将生成的ndvi添加到原有的image中
var addNDVI = function(image) {
  var ndvi = image.normalizedDifference(['B5', 'B4']).rename('NDVI');
  return image.addBands(ndvi);
};
//选择2019年的lc8影像
var lc82019 = l8.filterDate('2019-01-01', '2019-12-31');
//将筛选出来的2019年的影像均执行NDVI计算并添加该结果至原影像
var withNDVI = lc82019.map(addNDVI);
//利用qualityMosaic()函数执行NDVI最大值筛选,并用gz的边界进行裁剪
var greenest = withNDVI.qualityMosaic('NDVI').clip(gz);
//对筛选出来的像素,执行NDVI计算(由于筛选出来的是包含所有波段
//所以可以直接输出全波段影像而不仅仅是NDVI)
//接下来显示NDVI最大值合成的结果,可以有2个方案:
var bestndvi = greenest.select('NDVI').rename('bestNDVI');
//或者重新计算一次
//var bestndvi = greenest.normalizedDifference(['B5', 'B4']).rename('bestNDVI');
//添加生成的最优NDVI到图层窗口
Map.addLayer(bestndvi,{palette: ['black', 'blue', 'yellow']},'bestndvi')

(4) 结果:整个过程平均2s一个

2014年:

2014年广州最大NDVI值合成

2016年:

2016年广州最大NDVI值合成

2019年:

2019年广州最大NDVI值合成

(5) 总结:

可以说,GEE的存在极大的降低了对电脑硬件和网络的需求。使得很多原本无法实现的想法可以被实现。如果我们将广州的行政shp换成广东省,甚至全中国,这个操作也是可以实现的,比如:

海南省

长三角地区

北京地区2019

青海地区2019

中国地区2019(大约1分钟左右完成计算)

3 往期推荐

地表温度反演的单通道方法汇总—以Landsat 8 TIRS影像为例

2021-09-22

R语言实现随机森林超详细教程

2021-09-21

ArcGIS制作风场图和自定义漂亮的色带

2021-09-19

使用google earth engine(GEE)提取2000年到2019年长江下游水体(河流、湖泊)数据

2021-09-18

Python批量下载ECMWF欧洲中心数据

2021-09-17

本文原文作者zhengzh。


本期“Google Earth Engine实现地区年度最大NDVI值的影像合成”分享结束,感谢您的阅读!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-09-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 GEE遥感大数据学习社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档