Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 谷歌地球引擎上有覆盖或几何连接选项吗?_Python_Gis_Google Earth Engine_Geemap - Fatal编程技术网

Python 谷歌地球引擎上有覆盖或几何连接选项吗?

Python 谷歌地球引擎上有覆盖或几何连接选项吗?,python,gis,google-earth-engine,geemap,Python,Gis,Google Earth Engine,Geemap,我有一个陆地卫星图像和一个图像集合(3个图像:时间上是静态的,但每个图像都与陆地卫星图像部分重叠),有一个波段,我想将这一波段添加到陆地卫星图像中 在传统的GIS/python df中,我会基于几何体进行内部连接,但我不知道如何在GEE上实现 图像或集合都不共享任何用于简单联接的带区。从我收集的数据来看,空间连接类似于缓冲区内的连接,所以这里不需要。我还尝试了联接的Filter.contains(),但没有成功。我尝试了addBands(),尽管我希望它不起作用,但结果是TypeError:“I

我有一个陆地卫星图像和一个图像集合(3个图像:时间上是静态的,但每个图像都与陆地卫星图像部分重叠),有一个波段,我想将这一波段添加到陆地卫星图像中

在传统的GIS/python df中,我会基于几何体进行内部连接,但我不知道如何在GEE上实现

图像或集合都不共享任何用于简单联接的带区。从我收集的数据来看,空间连接类似于缓冲区内的连接,所以这里不需要。我还尝试了联接的Filter.contains(),但没有成功。我尝试了addBands(),尽管我希望它不起作用,但结果是TypeError:“ImageCollection”对象不可调用:

#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%确定这是您想要的,但您可以简单地将3个图像合并到一个图像中,然后将这两个数据集合并成一个新的ImageCollection。 更新:改用addBands():


非常感谢。这不完全是我想要的,但它奏效了。我使用了mosaic()的建议,然后使用了landsat.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)