开发者社区> 问答> 正文

AI Earth这个问题怎么解决?

AI Earth这个问题怎么解决:image_collection1 = aie.ImageCollection('MODIS_MOD17A2H_006') \ .filterDate('2018-10-01', '2018-10-1') \ .select(['Gpp'])image_collection2 = aie.ImageCollection('ERA5_LAND_HOURLY') \ .filterDate('2018-10-01', '2018-10-1') \ .select(['temperature_2m'])icMerged = image_collection1.merge(image_collection2)请问,我这一段单独代码运行时是正常的,打印出来的信息里有temperature_2m波段,如图29586d5b3ffda62b66ec934810b000ff.png
但是加了这一行后corrleation = icMerged.select(['Gpp', 'temperature_2m']) \ .reduce(aie.Reducer.spearmansCorrelation()).clip(feature_collection)报错说没有波段temperature_2m

展开
收起
三分钟热度的鱼 2024-03-06 17:22:18 47 0
4 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    根据您提供的代码,您正在使用AI Earth库来处理MODIS_MOD17A2H_006和ERA5_LAND_HOURLY两个图像集合。您希望将它们合并在一起,并选择temperature_2m波段。

    首先,确保您已经正确安装了AI Earth库。如果没有安装,可以使用以下命令进行安装:

    !pip install aiearth
    

    接下来,您可以使用以下代码来实现您的需求:

    import aiearth as aie
    
    # 创建第一个图像集合
    image_collection1 = aie.ImageCollection('MODIS_MOD17A2H_006') \n    .filterDate('2018-10-01', '2018-10-1') \n    .select(['Gpp'])
    
    # 创建第二个图像集合
    image_collection2 = aie.ImageCollection('ERA5_LAND_HOURLY') \n    .filterDate('2018-10-01', '2018-10-1') \n    .select(['temperature_2m'])
    
    # 合并图像集合
    icMerged = image_collection1.merge(image_collection2)
    
    # 打印合并后的图像集合信息
    print(icMerged)
    

    这段代码将会创建一个名为icMerged的图像集合,其中包含了MODIS_MOD17A2H_006和ERA5_LAND_HOURLY两个图像集合的信息。您可以根据需要对icMerged进行进一步的处理或分析。

    2024-03-08 20:35:26
    赞同 展开评论 打赏
  • 阿里云大降价~

    根据您提供的信息,问题可能出在以下几个方面:

    1. 数据量过大导致下载失败。尽管Spearmans相关系数的计算方法本身没有数据量的限制,但是当您尝试下载大量的图像数据时,可能会遇到网络连接不稳定、带宽不足等问题,导致下载失败。建议您检查网络连接和带宽情况,并尝试使用更稳定的网络环境进行操作。

    2. 波段选择错误。在您的代码中,您使用了icMerged.select(['Gpp', 'temperature_2m'])来选择两个波段,但是在之前的代码中,您只选择了temperature_2m波段。因此,在执行相关性计算之前,需要确保两个波段都已经被正确地选择。您可以在合并图像集合之后,再次选择temperature_2m波段,以确保它被包含在最终的图像集合中。

    3. 图像集合合并错误。在您的代码中,您使用了image_collection1.merge(image_collection2)来合并两个图像集合。然而,这种方法可能会导致两个图像集合中的图像重叠或覆盖,从而导致某些图像丢失或无法正确处理。建议您使用其他方法来合并图像集合,例如使用aie.ImageCollection.fromImages()方法将两个图像集合中的图像逐个添加到新的图像集合中。

    综上所述,建议您按照以下步骤修改代码:

    # 创建两个图像集合
    image_collection1 = aie.ImageCollection('MODIS_MOD17A2H_006') \n    .filterDate('2018-10-01', '2018-10-1') \n    .select(['Gpp'])
    image_collection2 = aie.ImageCollection('ERA5_LAND_HOURLY') \n    .filterDate('2018-10-01', '2018-10-1') \n    .select(['temperature_2m'])
    
    # 合并图像集合
    icMerged = aie.ImageCollection.fromImages([image_collection1, image_collection2])
    
    # 选择两个波段
    icMerged = icMerged.select(['Gpp', 'temperature_2m'])
    
    # 计算Spearmans相关系数
    corrleation = icMerged.reduce(aie.Reducer.spearmansCorrelation()).clip(feature_collection)
    

    希望这些建议能够帮助您解决问题。如果您还有其他疑问,请随时提问。

    2024-03-06 18:57:14
    赞同 展开评论 打赏
  • ImageCollection的merge是把两个集合中的所有Image合并到一起,并不会组合波段。所以你合并后的Image,一些只有Gpp,一些只有temperature波段。这是没办法做相关性分析的。此回答整理自钉群“AI Earth地球科学云平台交流群”

    2024-03-06 18:30:44
    赞同 展开评论 打赏
  • 在AI Earth平台上,您这段代码片段的作用是分别从两个不同的遥感数据源(MODIS_MOD17A2H_006 和 ERA5_LAND_HOURLY)中获取指定日期范围内的数据,并选择了特定的波段('Gpp' 和 'temperature_2m')。然后,将这两个筛选后的Image Collection合并成一个新的Image Collection(icMerged)。

    2024-03-06 18:14:13
    赞同 展开评论 打赏
来源圈子
更多
收录在圈子:
基于达摩院在深度学习、计算机视觉等方向上的技术积累,结合阿里云强大算力支撑,提供遥感、气象等多源对地观测数据的云计算分析服务,用数据感知地球世界,让AI助力科学研究。
问答排行榜
最热
最新

相关电子书

更多
Lindorm AI 能力介绍 立即下载
2023云栖大会:PolarDB for AI 立即下载
2023云栖大会:Lindorm一站式AI数据平台实战 立即下载