如何使用先前栅格的投影保存新栅格

时间:2021-06-05 05:36:33

标签: python image coordinates raster gdal

我尝试在 Python 中创建一个算法,在该算法中我输入了一个地理参考栅格(已知坐标系),其所有负值都转换为零,然后使用初始图像的地理参考保存了一个新图像。

import skimage.io
import pandas as pd
import numpy as np

pathhr = 'C:\\Users\\dataset\\S30W051.tif'
HR = skimage.io.imread(pathhr)
df1 = pd.DataFrame(HR)
HR_changed = df1[df1 < 0] = 0

#save function
savedata = df1.to_numpy()
skimage.io.imsave('C:\\Users\\dataset\\S30W051_TEST.tif', savedata)

但是当我在这个脚本的末尾保存我的光栅时,我得到一个非地理参考的 TIFF 光栅。

如何保持与初始栅格相同的坐标系(不将输出栅格转换为本地坐标)?

我请求帮助解决这个问题。谢谢。

1 个答案:

答案 0 :(得分:0)

您可以使用 rasterio 打开和保存您的 tiff 文件,并将初始栅格的元数据复制到新栅格。

import rasterio as rio

# Load the original image
with rio.open(pathhr, 'r') as r:
    HR = r.read()
    meta = r.meta

# Do any transformation you like (on the numpy array)
HR_changed = HR[HR < 0] = 0

# Save the changed raster
with rio.open('C:\\Users\\dataset\\S30W051_TEST.tif', 'w', **meta) as dst:
    dst.write(HR_change)
相关问题