目录
一、nc(NetCDF)文件
1.1、nc文件简介
nc文件的全称是NetCDF(network Common Data Form)网络通用数据格式,是一种面向数组型并适于网络共享的数据的描述和编码标准。NetCDF广泛应用于大气科学、水文、海洋学、环境模拟、地球物理等诸多领域。
1.2、nc文件的数据结构
NetCDF数据集(文件名后缀为.nc) 的格式不是固定的。一个NetCDF数据集包含维(dimensions)、变量(variables)和属性(attributes) 三种描述类型。一个NetCDF文件的结构包括以下对象:
NetCDF name{
Dimensions:… //定义维数
Variables:… //定义变量
Attributes:… //属性
Data:…//数据
}
二、nc文件预览
2.1、使用Panoply查看数据
- Panoply是一种数据查看器,可以快速生成NetCDF、HDF、GRIB格式地理数据。
- 具体安装和使用方式请移步到另一个博主的文章【安装并使用Panoply (netCDF, HDF and GRIB Data Viewer)】,链接如下http://t.csdn.cn/yBkX1
- 导入数据后:
- 选择变量绘图
2.2、 查看 nc文件的内容(ncdisp)
- 在命令行窗口中以文本形式显示指定的 netCDF 数据源中的所有组、维度、变量定义以及属性。
ncdisp('awi-201812.nc')
- 显示指定的变量或组的信息。
ncdisp('awi-201812.nc','snow_density')
2.3、获取nc文件的信息(ncinfo)
- 获取 nc文件的文件架构。
finfo = ncinfo('awi-201812.nc')
- 文件属性(文件的一些相关信息)
- 文件包含的变量
- 获取变量信息
vinfo = ncinfo('awi-201812.nc','snow_density')
三、读取nc文件(ncread)
- 读取nc文件中指定变量中的所有数据。
vardata = ncread('awi-201812.nc','snow_density')
- 按照指定方式读取数据(注意先查看数据维度,以免超出维度)
% 例如'snow_density'的维度是432x432x1
% 1. 从 start 指定的位置开始读取数据。count 参数指定沿每个维度读取的元素数量。
start = [214 124 1];
count = [10 10 1];
Data1 = ncread('awi-201812.nc','snow_density',start,count);
% 以变量的每个维度的索引之间的 stride 指定的间隔返回数据。
% 如果未指定 count,则 ncread 函数将读取变量数据,直到每个维度的末尾。
start = [214 124 1];
count = [10 inf 1]; % Inf表示ncread 将一直读取,直到末尾。
stride = [2 20 1];
Data2 = ncread('awi-201812.nc','snow_density',start,count,stride);
四、总结
- 拿到nc文件可以先用panoply等数据查看器或使用matlab中的ncdisp函数或者ncinfo函数查看文件的相关信息,如数据属性、维度等
- 再使用ncread函数读取所需数据