python实现土壤水分SMCI数据nc转tif
时间: 2023-09-10 16:08:36 浏览: 251
您好!实现土壤水分SMCI数据nc转tif的Python代码如下:
``` python
import gdal
import numpy as np
import netCDF4 as nc
# 读取nc文件
dataset = nc.Dataset("your_nc_file.nc", "r")
# 获取SMCI变量数据
data = dataset.variables["SMCI"][:]
# 获取SMCI变量数据的元数据信息
lat = dataset.variables["lat"][:]
lon = dataset.variables["lon"][:]
time = dataset.variables["time"][:]
# 将经纬度网格转换为像元坐标
gt = (lon[0], lon[1]-lon[0], 0, lat[-1], 0, lat[1]-lat[0])
# 创建输出tif文件
driver = gdal.GetDriverByName("GTiff")
output_file = driver.Create("your_output_file.tif", len(lon), len(lat), len(time), gdal.GDT_Float32)
# 写入元数据信息
output_file.SetMetadata({"time": str(time)}, "TIFFTAG_IMAGEDESCRIPTION")
# 写入像元数据
for i in range(len(time)):
output_file.GetRasterBand(i+1).WriteArray(data[i])
output_file.GetRasterBand(i+1).SetNoDataValue(-9999)
# 写入坐标信息
output_file.SetGeoTransform(gt)
srs = osr.SpatialReference()
srs.SetWellKnownGeogCS("WGS84")
output_file.SetProjection(srs.ExportToWkt())
# 保存输出文件
output_file.FlushCache()
output_file = None
```
请将代码中的 `your_nc_file.nc` 和 `your_output_file.tif` 替换为您要转换的文件名和输出文件名。此外,如果需要,请根据需要修改元数据信息、像元数据和坐标信息。
阅读全文