使用 Python 将 NetCDF 数据转换为栅格
要处理 NetCDF 数据并将其转换为栅格,可以使用 Python 中的 xarray 和 rasterio 库。首先,安装这些库:
pip install xarray
pip install rasterio
然后,使用以下代码加载 NetCDF 文件并转换为栅格:
import xarray as xr
import rasterio as rio
# 加载 NetCDF 文件
dataset = xr.open_dataset('C:\Users\y\Desktop\pr_Amon_BCC-CSM2-MR_ssp585_r1i1p1f1_gn_201501-210012.nc')
# 获取数据变量的值
data = dataset['pr'].values
# 获取数据变量的元数据
meta = dataset['pr'].attrs
# 获取数据变量的坐标
coords = dataset['pr'].coords
# 创建栅格
with rio.open('output.tif', 'w', driver='GTiff',
height=data.shape[1], width=data.shape[2],
count=1, dtype=data.dtype,
crs=coords['lon'].attrs['crs'],
transform=rio.transform.from_bounds(*coords['lon'].values[[0, -1, -1, 0]], *coords['lat'].values[[0, 0, -1, -1]])) as dst:
dst.write(data[0], 1)
此代码将 NetCDF 文件中名为 'pr' 的变量转换为栅格,并将其保存为 GeoTIFF 文件(output.tif)。可以通过更改输出文件路径来更改输出位置。
原文地址: https://www.cveoy.top/t/topic/nqzJ 著作权归作者所有。请勿转载和采集!