要处理 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)。可以通过更改输出文件路径来更改输出位置。

使用 Python 将 NetCDF 数据转换为栅格

原文地址: https://www.cveoy.top/t/topic/nqzJ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录