Main Content

本页面提供的是上一版软件的文档。当前版本中已删除对应的英文页面。

ncinfo

返回有关 NetCDF 数据源的信息

语法

finfo = ncinfo(source)
vinfo = ncinfo(source,varname)
ginfo = ncinfo(source,groupname)

说明

finfo = ncinfo(source)source 所指定的整个 NetCDF 数据源的相关信息返回到结构体 finfo 中,其中 source 可以是 NetCDF 文件的名称、OPeNDAP NetCDF 数据源的 URL 或远程 NetCDF 文件的 HTTP URL(具有 #mode=bytes 后缀用于字节范围读取)。

vinfo = ncinfo(source,varname) 将有关 source 中变量 varname 的信息返回到结构体 vinfo 中。

ginfo = ncinfo(source,groupname) 将有关 source(仅限 NetCDF4 数据源)中组 groupname 的信息返回到结构体 ginfo 中。

注意

使用 ncdisp 以可视化方式查看 NetCDF 数据源。

输入参数

source

字符向量或字符串标量,用于指定 NetCDF 文件的名称或 OPeNDAP NetCDF 数据源的 URL,或用于字节范围读取的远程 NetCDF 文件的 HTTP URL。要启用远程数据集的字节范围读取,请将 #mode=bytes 追加到 HTTP URL 的末尾。有关字节范围读取的详细信息,请参考 NetCDF 文档。

示例: "myNetCDFfile.nc"

varname

指定 NetCDF 文件或 OPeNDAP 数据源中变量名称的字符向量或字符串标量。

groupname

指定 NetCDF 文件或 OPeNDAP 数据源中组名称的字符向量或字符串标量。

输出参数

finfo

包含以下字段的结构体。

字段描述 
FilenameNetCDF 文件名或 OPeNDAP URL 
Name'/',指示完整文件 
Dimensions包含以下字段的结构体数组:
 Name维度名称
 Length维度当前长度
 Unlimited布尔标志,true 表示无限维度
Variables包含以下字段的结构体数组:
 Name变量名称
 Dimensions关联维度
 Size当前变量大小
 DatatypeMATLAB® 数据类型或用户定义类型的名称
 Attributes相关联的变量属性
 ChunkSize区块大小(如果已定义)。否则为 []
 FillValue变量的填充值
 DeflateLevelDeflate 过滤器级别(如果已启用)
 Shuffleshuffle 过滤器启用标志
Attributes包含以下字段的全局属性数组:
 Name属性名称
 Value属性值
Groups对于 netcdf4 文件,指文件中存在的组的数组。对于其他 NetCDF 文件格式,指空数组 ([])。
FormatNetCDF 文件格式 
Datatypes结构体数组,其中包含有关 NetCDF 文件中每个受支持的用户定义类型的信息,具有以下字段(对于没有用户定义类型的文件为空):
 Name类型名称
 Class类(对于 NC_VLEN 类型,包含 NC_VLEN
 Type类型特定的信息(对于 NC_VLEN 类型,包含基类型作为 MATLAB 数据类型)
 ByteSize类型的大小(以字节为单位)

vinfo

仅包含 finfo 中变量字段的结构体。

字段描述
FilenameNetCDF 文件名
Name变量的名称
Dimensions变量的维度
Size当前变量的大小
DatatypeMATLAB 数据类型或用户定义类型的名称
Attributes变量的关联属性
ChunkSize块大小(如果已定义);否则为 []
FillValue变量的填充值。
DeflateLevelDeflate 过滤器级别(如果已启用)
Shuffleshuffle 过滤器启用标志
FormatNetCDF 文件格式

ginfo

仅包含 finfo 中组字段的结构体。

字段描述
FilenameNetCDF 文件名
Name组的名称
Dimensions仅限指定组中定义的维度
Variables仅限指定组中定义的变量
Attributes变量的关联属性
Groups组的名称(如果已定义);否则为 []
FormatNetCDF 文件格式

示例

查找文件中以字符 x 开始的维度。

finfo = ncinfo('example.nc');
disp(finfo);
dimNames = {finfo.Dimensions.Name};
dimMatch = strncmpi(dimNames,'x',1);
disp(finfo.Dimensions(dimMatch));

获取变量大小,并检查它是否有无限维度。

vinfo = ncinfo('example.nc','peaks');
varSize = vinfo.Size;
disp(vinfo);
hasUnLimDim = any([vinfo.Dimensions.Unlimited]);

查找组中定义的所有无限维度。

ginfo = ncinfo('example.nc','/grid2/');
unlimDims = [ginfo.Dimensions.Unlimited];
disp(ginfo.Dimensions(unlimDims));

局限性

  • 字节范围读取的性能比从其他来源读取要慢。

版本历史记录

在 R2011a 中推出

全部展开