相关文章推荐
严肃的面包  ·  google ...·  2 年前    · 
严肃的面包  ·  Google Earth ...·  2 年前    · 
严肃的面包  ·  Google Earth ...·  2 年前    · 
严肃的面包  ·  google earth map ...·  2 年前    · 

如何使用GEE实现影像的中值合成或最大值合成(median composition, maximum composition)?

以鄱阳湖湖区Landsat遥感影像为例,该区域的相关分析参见:
GEE学习:按照行列号筛选鄱阳湖湖区影像数据并查询相关信息 .
GEE学习:Landsat8 Collection2 level2数据集获取影像范围及坐标 .
GEE学习:遥感影像设置新的属性并查询 .
GEE学习:使用正则表达式筛选影像波段并改名 .
GEE学习:遥感影像数据集的多个属性获取分析 .

本次进行分析的区域如下:
在这里插入图片描述

一、两种实现方法

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)

结果如下(2021年09月09日的影像):
在这里插入图片描述

2、两种合成方法

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')

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

3、两种方法的差异比较

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']
  1. 通过两种方法,都实现了影像的中值合成,可谓殊途同归
  2. 通过比较发现,使用Reduce方法合成后的影像,其波段名称发生变化
  3. 需要注意的是,中值合成后的影像已经失去了投影信息的。
    在这里插入图片描述
  • https://developers.google.com/earth-engine/guides/ic_reducing
  • https://github.com/giswqs/earthengine-py-notebooks/blob/master/ImageCollection/reducing_collection.ipynb
如何在gee上绘制影像研究区图(影像过境的条带图) 当对大型场景(研究区超过单景影像范围时)进行拍摄时,单张照片或图像可能无法完全捕捉到整个场景。这时候就需要采用影像拼接技术,将多张照片或图像拼接在一起,以形成一个更大的、完整的图像。 在进行影像拼接时,需要将每张照片或图像的像素位置映射到一个共同的坐标系中。这就需要使用到行列号。行列号是用来表示图像中每个像素位置的坐标系,其中“行”代表垂直方向上的位置,而“列”代表水平方向上的位置。通过将每个像素的行列号映射到一个共同的坐标系中,就可以将多张照片或图像拼接在一起,以形成一个更大的、完整的图像。 总之,行列号是影像处理中非常重要的概念,它可以帮助我们描述和操作图像中的每个像素位置,而影像拼接则是一种常用的技术,可以将多张照片或图像拼接在一起,以形成一个更大的、完整的图像。
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本博客实现对从https://disc.gsfc.nasa.gov/网站上下载的臭氧,甲醛和二氧化氮数据3级数据进行处理。 一.影像下载 1.按照下图步骤,点击搜索按钮进行检索。
注意:代码中filter(ee.Filter.lt('CLOUDY_PIXEL_PERCENTAGE',50)中,50可以根据需要设置的大一点,某则有可能由于云雾影响导致数据大面积确实的情况。 function maskS2clouds(image) { var qa = image.select('QA60'); var cloudBitMask = 1 << 10; var cirrusBitMask = 1 << 11; var mask
var ee_arr1 = ee.Array([[1,2], [2,2]]); print("ee_arr1 is", ee_arr1); var ee_arr2 = ee.Array(ee.List([[1,1], [3,3]])); //加、减、除、乘计算 print("add result ", ee_arr1.add(ee_arr2)); print("subtract result", ee_arr1.subtract(ee_arr.
本篇主要介绍如何加载单幅Sentinel2影像,以及合成长时间序列感兴趣区域的影像集合,自己在写代码的过程中,出现了一些问题,比如导出的影像会以多幅tif影像出现,导出的影像在Arcgis中加载全为黑色,也看了一些博主的博客,有的解释很简单,在这我会详细解释一下,让大家少走弯路(被我走完了)。 遇到问题的同学可以直接跳转到第三部分。 目录1.单幅影像合成2.特定长时间序列影像合成3.导出为多幅影像以及导出影像为黑色的问题 1.单幅影像合成 此代码只对感兴趣区域,并辅以时间范围进行影像筛选,使用了经典的Sen
var district = table; var dsize = district.size(); var district_geometry = district.geometry(); print(dsize); Map.centerObject(district_geometry,12); function maskS2clouds(image) { var qa = image.select(‘QA60’); // Bits 10 and 11 are clouds and cirrus, res
geeGoogle Earth Engine(谷歌地球引擎)的简称,是一个用于处理和分析地理空间数据的云端平台。它提供了丰富的遥感影像数据和强大的计算能力,能够帮助我们对遥感影像进行裁剪和研究。 在使用gee裁剪遥感影像时,我们需要首先导入需要处理的影像数据。gee平台拥有大量的遥感影像数据集,包括高分辨率的卫星影像和激光雷达数据等。我们可以选择合适的数据集,并通过代码语言(如JavaScript或Python)将影像数据导入到gee平台中。 接下来,我们可以使用gee提供的裁剪函数对遥感影像进行裁剪。裁剪函数可以根据我们提供的裁剪范围(如矩形范围、多边形范围或栅格掩膜),从原始影像中提取我们感兴趣的区域。裁剪后,我们可以将裁剪后的影像数据保存到gee平台中,以便后续的分析和研究。 使用gee裁剪遥感影像可以有多种应用。比如,我们可以裁剪特定地区的影像,用于监测和分析植被覆盖变化、土地利用变化或城市扩展情况等;我们也可以裁剪海洋影像,用于研究海洋生态系统、海洋污染或海洋气候变化等。 总的来说,gee通过提供丰富的遥感影像数据和强大的计算能力,使得裁剪和研究遥感影像变得更加简便和高效。使用gee遥感影像进行裁剪,可以方便地提取我们感兴趣的区域,为后续的研究和分析提供有价值的数据基础。