分享

什么是 NetCDF 数据?

 LibraryPKU 2014-11-09

NetCDF(网络公用数据格式)是一种用来存储温度、湿度、气压、风速和风向等多维科学数据(变量)的文件格式。在 ArcGIS 中,通过根据 NetCDF 文件创建图层或表视图,可以用一个维度(例如时间)来显示上述所有变量。

左:温度。右图:特定位置的气压
左:温度。右图:特定位置的气压

NetCDF 数据的特性包括:

  • 自描述性,即 netCDF 文件包括关于其中所含数据的信息,如捕获数据元素的时间以及使用的测量单位。

  • 可移植性,或称跨平台性,即在一种操作系统上创建的 netCDF 文件通常可通过其他操作系统上的软件读取。

  • 可扩展性,即可有效地读取一个大 netCDF 文件的一个小子集,而无需读取整个文件。

ArcGIS 本身即可读取 netCDF 文件,无需数据转换或导入便可直接访问数据。在 ArcGIS 应用程序(ArcMap、ArcScene 或 ArcGlobe)中,无法使用添加数据按钮添加数据 来添加 NetCDF 文件。可以使用“多维工具”工具箱中的“创建 NetCDF 栅格图层”、“创建 NetCDF 要素图层”和“创建 NetCDF 表视图”工具根据 NetCDF 文件来分别创建栅格图层、要素图层和表视图。

多维工具箱
多维工具箱

还可以将 NetCDF 文件从 Windows 资源管理器中拖放到某个应用程序中。

NetCDF 基本词汇

尺寸

NetCDF 维度包含名称和大小。维度大小是一个任意的正整数。每个 NetCDF 文件中只有一个维度的大小是“无限制”的。这类维度是无限维度或记录维度。无限维度的变量可以沿着该维度增加到任意长度。

维度可以用来表示实际物理维度,例如时间、经度、纬度或高度。维度还可以用来为其他量建立索引,例如,站点或模型的运行数。指定变量的 shape 时,可以多次使用同一个维度。

变量

变 量代表相同类型的值数组。变量用来存储 NetCDF 文件中的大部分数据。变量具有名称、数据类型以及在创建该变量时指定的维度列表所描述的 shape。维度数称为秩(或维数)。标量变量的秩为 0,矢量的秩为 1,矩阵的秩为 2。变量还可以具有能够在变量创建后进行添加、删除或更改的相关属性。

坐标变量

与维度同名的一维变量称为坐标变量。坐标变量与一个或多个数据变量的维度相关,通常用来定义与该维度相对应的物理坐标。

坐标变量对于 NetCDF 库来说没有特殊意义。但使用这个库的软件会采用一种特殊的方式来处理坐标变量。

属性

NetCDF 的属性用于存储辅助数据或元数据。大部分属性提供有关特定变量的信息。这些属性由变量名称与属性名称共同标识。

有些属性提供有关整个 NetCDF 文件的信息,因而称为全局属性。这些属性由属性名称与空变量名(CDL 中)或特殊空变量 ID(C 或 Fortran 中)共同标识。

约定

约定用来定义为每个变量中的数据提供确切描述的元数据及其空间和时态属性。约定有助于使用不同数据源的用户确定哪些量具有可比性。约定名称在 NetCDF 文件中以全局属性的形式表示。

了解有关 netCDF 约定的详细信息Unidata 社区网站上的 netCDF 约定链接

目前,ArcGIS 支持气候和预测 (CF)CF 元数据网站的链接 以及海洋/大气合作研究数据服务 (COARDS) 约定。然而,它可能也支持采用其他约定创建的 NetCDF 文件。

NetCDF 数据存储的基础知识

NetCDF 数据的存储

NetCDF 文件中的数据以数组形式存储。例如:某个位置处随时间变化的温度以一维数组的形式存储。某个区域内在指定时间的温度以二维数组的形式存储。

三维 (3D) 数据(如某个区域内随时间变化的温度)或四维 (4D) 数据(如某个区域内随时间和高度变化的温度)以一系列二维数组的形式存储。

三维数据:某个区域内随时间变化的数据
三维数据:某个区域内随时间变化的数据。
四维数据:某个区域内随时间和高度变化的数据
四维数据:某个区域内随时间和高度变化的数据。

NetCDF 文件的基本组成部分

NetCDF 文件包含维度、变量和属性。将这几部分结合起来使用可以说明数据以及面向数组的数据集中各数据字段之间关系的含义。下图显示的是采用 CDL(网络公用数据格式语言)表示法来描述的 NetCDF 文件结构。CDL 是用于描述 NetCDF 文件内容的 ASCII 格式。

CDL 文件
CDL 文件示例

维度、变量和属性的名称由任意的字母数字字符串(包括下划线和连字符)组成,并且以字母或下划线开头。但是,以下划线开头的名称是供系统使用的保留名称。NetCDF 名称区分大小写。

尺寸

NetCDF 维度包含名称和大小。维度大小是一个任意的正整数。每个 NetCDF 文件中只有一个维度的大小是“无限制”的。这类维度是无限维度或记录维度。无限维度的变量可以沿着该维度增加到任意长度。

维度可以用来表示实际物理维度,例如时间、经度、纬度或高度。维度还可以用来为其他量建立索引,例如,站点或模型的运行数。指定变量的 shape 时,可以多次使用同一个维度。

变量

变 量代表相同类型的值数组。变量用来存储 NetCDF 文件中的大部分数据。变量具有名称、数据类型以及在创建该变量时指定的维度列表所描述的 shape。维度数称为秩(或维数)。标量变量的秩为 0,矢量的秩为 1,矩阵的秩为 2。变量还可以具有能够在变量创建后进行添加、删除或更改的相关属性。

坐标变量

与维度同名的一维变量称为坐标变量。坐标变量与一个或多个数据变量的维度相关,通常用来定义与该维度相对应的物理坐标。

坐标变量对于 NetCDF 库来说没有特殊意义。但使用这个库的软件会采用一种特殊的方式来处理坐标变量。

属性

NetCDF 的属性用于存储辅助数据或元数据。大部分属性提供有关特定变量的信息。这些属性由变量名称与属性名称共同标识。

提供有关整个 NetCDF 文件的信息的属性称为全局属性。这些属性由属性名称与空变量名(CDL 中)或特殊空变量 ID(C 或 Fortran 中)共同标识。

约定

约定用来定义为每个变量中的数据提供确切描述的元数据及其空间和时态属性。约定有助于使用不同数据源的用户确定哪些量具有可比性。约定名称在 NetCDF 文件中以全局属性的形式表示。

目前,ArcGIS 支持气候和预测 (CF)Unidata 社区网站的链接 以及海洋/大气合作研究数据服务 (COARDS) 约定。然而,它可能也支持采用其他约定创建的 NetCDF 文件。

在哪里可以了解有关 netCDF 数据的详细信息?

关于 netCDF 数据的主要信息源是 Unidata 社区。

不同国家/地区的许多组织和科学小组均将 NetCDF 作为一种标准方法用来表现某些形式的科学数据。


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多