为学须刚与恒,不刚则隋隳,不恒则退 。——宋.冯子咸


前言

GEE,如何实现遥感影像的合成(composite)与镶嵌(mosaic)?二者有何区别?

分析区域如下:
在这里插入图片描述


一、分析步骤

主要分析步骤:

加载影像集
MVC最大值合成
加载影像集
空间镶嵌Mosaic
进一步探索镶嵌Mosaic特征

二、python代码

1、影像合成Composite

python代码如下
注意:合成composite更主要体现的是同一区域多期影像的合成操作

Map = geemap.Map()
# 加载影像数据
naip2004_2012 = ee.ImageCollection('USDA/NAIP/DOQQ') \
    .filterBounds(ee.Geometry.Point(-71.09, 42.4)) \
    .filterDate('2004-07-01', '2012-12-31') \
    .select(['R', 'G', 'B'])
# 最大值合成
composite = naip2004_2012.max()
Map.addLayer(composite, {}, 'max value composite')
Map.setCenter(-71.09, 42.4, 14)
Map

结果如下:
在这里插入图片描述

2、影像镶嵌Mosaic

  • ee.ImageCollection.mosaic()
    在这里插入图片描述
    注意:镶嵌mosaic更主要体现的不同区域影像的合成操作
    需要同时拼接四个不同的 DOQQ,但位置不同

python代码如下

# 加载跨4幅影像的数据
naip2012 = ee.ImageCollection('USDA/NAIP/DOQQ') \
    .filterBounds(ee.Geometry.Rectangle([-71.18, 42.35, -71.09, 42.41])) \
    .filterDate('2012-01-01', '2012-12-31')
# 影像镶嵌mosaic
mosaic = naip2012.mosaic()
Map.addLayer(naip2012, {}, 'naip2012')
Map.setCenter(-71.12532, 42.3712, 12)

结果如下:
在这里插入图片描述

3、进一步挖掘Mosaic的特性

重点:mosaic()方法根据它们在集合中的顺序(最后在顶部)合成重叠图像。要控制镶嵌(或合成)中像素的来源,可使用图像掩膜mask。
例如,以下使用光谱阈值进行镶嵌新的图像数据

python代码如下:

# 加载影像,显示
naip = ee.Image('USDA/NAIP/DOQQ/m_4207148_nw_19_1_20120710')
Map.setCenter(-71.0915, 42.3443, 12)
Map.addLayer(naip, {}, 'naip')

在这里插入图片描述

# 生成NDVI、NDWI指数
ndvi = naip.normalizedDifference(['N', 'R']).rename('ndvi')
ndwi = naip.normalizedDifference(['G', 'N']).rename('ndwi')

# 利用上述2个指数,采用不同阈值条件,探测区域裸地分布
# 裸地1,植被指数低于0.2,同时水体指数低于0.3的区域
bare1 = ndvi.lt(0.2).And(ndwi.lt(0.3))
# 裸地2,植被指数低于0.2,同时水体指数低于0.8的区域。可见其敏感性比上一阈值较低
bare2 = ndvi.lt(0.2).And(ndwi.lt(0.8))

# 显示参数
vis_ndvi = {'min':-1, 'max':1, 'palette':['red', 'green']}
vis_ndwi = {'min':0.5, 'max':1, 'palette':['gray', 'blue']}

# 加载显示
Map.addLayer(ndvi, vis_ndvi, 'ndvi')
Map.addLayer(ndwi, vis_ndwi, 'ndwi')
Map.addLayer(bare1, {}, 'bare1')
Map.addLayer(bare2, {}, 'bare2')

显示结果:
在这里插入图片描述

# 掩膜并镶嵌可视化影像,可以看到最后的图层位于最上层(这是Mosaic的特点)
mosaic = ee.ImageCollection([
    ndwi.updateMask(ndwi.gte(0.5)).visualize(**vis_ndwi), 
    ndvi.updateMask(ndvi.gte(0.2)).visualize(**vis_ndvi),
    bare2.updateMask(bare2.And(bare1.Not())).visualize(**{'palette':['gray']}),
    bare1.updateMask(bare1).visualize(**{'palette':['white']})
]).mosaic()
Map.addLayer(mosaic, {}, 'visualization mosaic')

结果如下:
在这里插入图片描述



三、小结

  1. 分析了影像合成与影像镶嵌的两种不同影响合成方法,其中影像合成composite更多的表现在同一区域不同时间影像的组合,多使用的合成方法有最大化合成(MVC,max value composite)、中值合成(median)、均值合成(mean)等合成方法,在具体工作中可根据实际需要采用不同的合成方法;镶嵌(mosaic)更多的表现在不同区域上的多幅影像的合成。
  2. 镶嵌的特点是最后的图层位于最上层,这也是Mosaic的特点之一。

参考:
  • https://developers.google.com/earth-engine/apidocs/ee-image-visualize?hl=en
  • https://github.com/giswqs/earthengine-py-notebooks/blob/master/ImageCollection/mosaicking.ipynb
  • https://developers.google.com/earth-engine/guides/ic_composite_mosaic?hl=en
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐