微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 Python 将元数据从一个光栅复制到另一个光栅

如何解决使用 Python 将元数据从一个光栅复制到另一个光栅

我有两个文件夹 A 和 B。A 包含一个带有元数据的光栅图像,B 包含相同的光栅图像但有数据,应用了增强但没有元数据。文件夹 A 中的一张光栅图像增加了 7 倍并存储在文件夹 B 中。我想将光栅文件夹 A 中的元数据复制到光栅 B。文件夹 A 中有 500 张图像

这是我尝试过的:

import numpy as np
    import Rasterio
    a = 1
    b = 1
    while True:
        fp = r"F:\\A\\{}.tif".format(a)
        data = Rasterio.open(fp)
        out_Meta = data.Meta.copy()
        out_transform =  data.transform
        out_height = data.height
        out_width = data.width
        crs = data.crs
        out_Meta.update({"driver":"GTiff","height": out_height,"weight": out_width,"transform": out_transform,"crs" : data.crs })
        out_tif = r'F:\\B\\{}.{}.tif'.format(a,b)
        with Rasterio.open(out_tif,"w",**out_Meta) as dest:
            dest.write(out_tif)

        a += 1
        b += 1
        if a>500:
            if b > 7:
                break
            break 

使用此代码,我收到以下错误

InvalidArrayError - Traceback (most recent call last)
<ipython-input-2-c8b8395366a1> in <module>
    18   out_tif = r'F:\\B\\{}.{}.tif'.format(a,b)
    19   with Rasterio.open(out_tif,**out_Meta) as dest:
--> 20   dest.write(out_tif)
    21 
    22   a += 1
    
    Rasterio\_io.pyx in Rasterio._io.DatasetWriterBase.write()
    
    InvalidArrayError: Positional argument arr must be an array-like object

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。