开发者社区 问答 正文

在AI Earth希望把逐月的NDVI放到一个文件中,这样写对吗?

在AI Earth希望把逐月的NDVI放到一个文件中,这样写对吗?lQLPJwb6GJuI7p_NA-3NB2qwIHaokZuI6gYFTcu-p6S5AA_1898_1005.png
lQLPJwb6GJuI7p_NA-3NB2qwIHaokZuI6gYFTcu-p6S5AA_1898_1005.png

展开
收起
三分钟热度的鱼 2023-11-30 18:11:31 90 分享 版权
2 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    要将逐月的NDVI数据放入一个文件中,可以使用以下代码作为参考:

    import numpy as np
    import rasterio
    
    # 假设您有一组包含12个月份的NDVI数组(每个月一个数组)
    monthly_ndvi = [ndvi_january, ndvi_february, ..., ndvi_december]
    
    # 获取一个示例栅格数据的元数据(例如第一个月的NDVI数据)
    metadata = rasterio.open('path_to_example_ndvi.tif').meta
    
    # 定义输出文件路径和名称
    output_file = 'path_to_output_file.tif'
    
    # 创建一个新的栅格数据文件,并将逐月的NDVI数据写入其中
    with rasterio.open(output_file, 'w', **metadata) as dst:
        for month, ndvi in enumerate(monthly_ndvi, start=1):
            # 将逐月的NDVI数据写入栅格数据文件中的不同波段
            dst.write(ndvi, indexes=month)
    
    print("逐月的NDVI数据已保存到文件中:", output_file)
    

    这段代码假设您已经准备好了包含12个月份的NDVI数组(每个月一个数组),并且您有一个示例栅格数据文件(如提供的路径中的'path_to_example_ndvi.tif')用于获取元数据信息。

    代码中使用rasterio库来创建一个新的栅格数据文件,并循环遍历每个月份的NDVI数据,将其写入不同的波段(即不同的月份)。最后,将栅格数据文件保存到指定的输出路径(output_file)中。

    2023-11-30 20:58:57
    赞同 展开评论
  • NDVI_median01已经是Image对象了,不是字符串,在list里面不需要aie.Image('xxxx'),而是直接把算好的各月image放在list里面,再构建Collection。此回答整理自钉群“AI Earth地球科学云平台交流群”

    2023-11-30 18:23:33
    赞同 展开评论