本期分享如何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值的影像合成”分享结束,感谢您的阅读!