前言一、两种实现方法二、python代码
1、加载影像集2、两种合成方法3、两种方法的差异比较 三、小结
前言
如何使用GEE实现影像的中值合成或最大值合成(median composition, maximum composition)?
以鄱阳湖湖区Landsat遥感影像为例,该区域的相关分析参见:
GEE学习:按照行列号筛选鄱阳湖湖区影像数据并查询相关信息.
GEE学习:Landsat8 Collection2 level2数据集获取影像范围及坐标.
GEE学习:遥感影像设置新的属性并查询.
GEE学习:使用正则表达式筛选影像波段并改名.
GEE学习:遥感影像数据集的多个属性获取分析.
本次进行分析的区域如下:
一、两种实现方法
:
二、python代码 1、加载影像集python代码如下
Map = geemap.Map()collection = ee.ImageCollection('LANDSAT/LC08/C01/T1_TOA') .filter(ee.Filter.eq('WRS_PATH', 121)) .filter(ee.Filter.eq('WRS_ROW', 40)) .filterDate('2021-09-01', '2021-12-31') # 2021年枯期合成first = collection.first()Map.addLayer(first, {'bands':['B7', 'B5', 'B3'], 'min':0, 'max':0.3}, 'first')Map.centerObject(first)Map
结果如下(2021年09月09日的影像):
python代码如下:
# 方法1:快速合成median = collection.median()Map.setCenter(116.1, 29.2, 8)Map.addLayer(median, {'bands':['B7', 'B5', 'B3'], 'min':0, 'max':0.3}, 'median') # 方法2:使用Reducer方法median_2 = collection.reduce(ee.Reducer.median())Map.addLayer(median_2, {'bands':['B7_median', 'B5_median', 'B3_median'], 'min':0, 'max':0.3}, 'median_2')Map
结果如下:
python代码如下:
print('median bandNames:', median.bandNames().getInfo())print('median_2, bandNames:', median_2.bandNames().getInfo())
结果如下:
median bandNames: ['B1', 'B2', 'B3', 'B4', 'B5', 'B6', 'B7', 'B8', 'B9', 'B10', 'B11', 'BQA']median_2, bandNames: ['B1_median', 'B2_median', 'B3_median', 'B4_median', 'B5_median', 'B6_median', 'B7_median', 'B8_median', 'B9_median', 'B10_median', 'B11_median', 'BQA_median']
三、小结 通过两种方法,都实现了影像的中值合成,可谓殊途同归通过比较发现,使用Reduce方法合成后的影像,其波段名称发生变化需要注意的是,中值合成后的影像已经失去了投影信息的。
参考:
https://developers.google.com/earth-engine/guides/ic_reducinghttps://github.com/giswqs/earthengine-py-notebooks/blob/master/ImageCollection/reducing_collection.ipynb