gpt4 book ai didi

python - Google Earth Engine 上是否有按几何图形选项叠加或连接?

转载 作者:行者123 更新时间:2023-12-04 13:27:12 25 4
gpt4 key购买 nike

我有一个 Landsat 图像和一个图像集合(3 个图像:时间上是静态的,但每个图像都与 Landsat 图像部分重叠)和一个波段,并希望将此一个波段添加到 Landsat 图像中。
在传统的 GIS/python df 中,我会基于几何进行内部连接,但我无法弄清楚如何在 GEE 上执行此操作。
图像或集合都不共享任何带以进行简单连接。从我收集到的空间连接类似于内部缓冲区,所以不是我在这里需要的。我也尝试过使用 Filter.contains() 进行连接,但这没有用。我尝试了 addBands() 尽管期望它不起作用,但它导致 TypeError: 'ImageCollection' object is not callable:

#landsat image and image collection
geometry = ee.FeatureCollection("WWF/HydroSHEDS/v1/Basins/hybas_5").filter(ee.Filter.eq('HYBAS_ID', 7050329490))
landsat= ee.ImageCollection('LANDSAT/LT04/C01/T1_TOA').filterBounds(geometry)
landsat= landsat.first()
imagecollection= ee.ImageCollection("projects/sat-io/open-datasets/GRWL/water_mask_v01_01").filterBounds(geometry)

#example of failure at addBands
combined = landsat.addBands(imagecollection('b1')) #b1 is the only band in the ic
任何帮助,将不胜感激。
编辑:我可以使用 for 循环单独添加每个图像,但即使使用 .unmask() 这些也不能合并为一个带,因为 ic 中缺乏重叠导致空值

最佳答案

不能 100% 确定这就是您所追求的,但您可以简单地 mosaic()将 3 个图像合并为一个图像,然后将两个数据集组合成一个新的 ImageCollection。
更新:使用 addBands() 代替:

// landsat image and image collection
var geometry = ee.FeatureCollection("WWF/HydroSHEDS/v1/Basins/hybas_5").filter(ee.Filter.eq('HYBAS_ID', 7050329490))
var landsat= ee.ImageCollection('LANDSAT/LT04/C01/T1_TOA').filterBounds(geometry)
landsat= landsat.first()
var imagecollection= ee.ImageCollection("projects/sat-io/open-datasets/GRWL/water_mask_v01_01")
.filterBounds(geometry)
.mosaic()
.rename('WaterMask')
print(imagecollection)

// combine both datasets
var combined = landsat.addBands(imagecollection)
print(combined)

关于python - Google Earth Engine 上是否有按几何图形选项叠加或连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67601701/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com