NetCDF全称为network Common Data Format
,中文译法为“网络通用数据格式”;
本文简单介绍Jason-2的测高数据,文件格式为.nc
格式。用PanoplyWin
打开后,可以查看里面的数据文件及相关的数据格式。
左侧为数据记录的不同文件,右侧是对应文件的信息,双击左侧文件可以查看里面的数据格式:
-
从数学上来说,netcdf存储的数据就是一个多自变量的单值函数。用公式来说就是f(x,y,z,…)=value;
-
函数的自变量x,y,z等在netcdf中叫做维(dimension) 或坐标轴(axix),
-
函数值value在netcdf中叫做变量(Variables).
-
自变量和函数值在物理学上的一些性质,在netcdf中就叫属性(Attributes).
一个Netcdf文件的结构包括以下对象:
-
变量(Variables) :变量对应着真实的物理数据。
-
维(dimension):一个维对应着函数中的某个自变量,或者说函数图象中的一个坐标轴,在线性代数中就是一个N维向量的一个分量。
-
属性(Attribute) :属性对变量值和维的具体物理含义的注释或者说解释。
读入文件 使用netCDF4的Dataset方法即可读入文件,读入文件后直接输出即可查看文件的结构。dataset = nc.Dataset(file_path)
import netCDF4 as nc
file_path="./pass45.nc"
data=nc.Dataset(file_path)
print(data)
查看文件的变量:dataset.variables.keys()
import netCDF4 as nc
file_path="./pass45.nc"
data=nc.Dataset(file_path)
print(data.variables.keys())
for m in data.variables.keys():
print(m)
# m 对应上图中红色的1 ,对应的文件名称
查看某个变量的信息:dataset.variables['lat_20hz']
import netCDF4 as nc
file_path="./pass45.nc"
data=nc.Dataset(file_path)
print(data.variables["lat_20hz"])
查看某个变量的属性:dataset.variables['lat_20hz'].ncattrs()
import netCDF4 as nc
file_path="./pass45.nc"
data=nc.Dataset(file_path)
print(data.variables["lat_20hz"].ncattrs())
读取数据值 dataarr = dataset.variables['lat_20hz'][:]
数组格式的读取里面的数据
import netCDF4 as nc
file_path="./pass45.nc"
data=nc.Dataset(file_path)
# 读取所有数据
value_all=data.variables["lat_20hz"][:]
#读取某一行的数据 第一行
value_row=data.variables["alt_20hz"][0]
print("第一行的数据")
print(value_row)
# 读取第一行,第一列的数据
print("第一行,第一列的数据")
value_clo=value_row[0]
print(value_clo)