Skip to main content

支持的体素格式

体素图层表示规则的体积格网数据。 netCDF 格式是一种自描述文件格式,用于存储面向阵列的多维数据,专为科学变量(例如温度、湿度、压力和土壤类型)而设计。 netCDF 格式是一种广泛使用的开放数据格式。 为了确保可以将数据读取为体素图层,它必须遵循气候和预报 (CF) 约定。 当前,只接受将没有作为数据源的辅助变量的 CF 兼容 netCDF 数据作为体素图层的源。

有关如何创建 netCDF 文件并将数据可视化为体素图层的详细信息,请参阅 Learn ArcGIS 课程 使用体素可视化海洋生态单位 。

多维数据可以在同一文件中包含许多变量,每个变量都有自己一组独特的维度。 使用 netCDF 数据,您可以确定有关每个变量的必要信息,例如其维度、每个维度的单位以及捕获时间。 必须网格化 netCDF 文件才能将其可视化为体素图层。 添加体素图层 时,在 添加体素图层 对话框中将显示经过网格化处理并属于同一维度的变量。

要了解 netCDF 数据存储,请参阅 netCDF 数据存储的基础知识 。

要了解 netCDF 术语,请参阅 netCDF 基本词汇 。

您可以使用 CF 合规性检查器 检查 netCDF 文件。

您可以使用 Python 的 netCDF4 库 或 Unidata 的 toolsUI 程序检查 netCDF 文件,该程序以全面的格式展示了 netCDF 文件的各个方面。

来自 netCDF 文件的必要数据

要创建的体素数据结构

所需的 netCDF 坐标变量

所需的坐标变量属性

样本数据

X,Y,Z

X,Y,Z

float x

:units

dimensions:
z = 2;
y = 33;
lon = 33;
variables:
float z(z=2);

float lat(lat=33);
 :units = "degrees_north";

float lon(lon=33);
 :units = "degrees_east";

int temp(z=2, lat=33, lon=33);

float y

:units

float z

:units

:positive

X,Y,T

X,Y,T

float x

:units

dimensions:
time = 2;
y = 33;
x = 33;
variables:
float time(time=2);
  :units = "hours since
1990-01-01T00:00:00";

float y(y=33);
  :units = "degrees_north";

float x(x=33);
  :units = "degrees_east";

int temp(time=2, y=33, x=33);

float y

:units

double time

:units

X,Y.L

X,Y,L

float x

:units

dimensions:
level = 3;
y = 33;
x = 33;
variables:
float level(level=3);

float y(y=33);
  :units = "degrees_north";

float x(x=33);
  :units = "degrees_east";

int temp(level=3, y=33, x=33);

float y

:units

float level

:units

:positive

X,Y,Z,T

X,Y,Z,T

float x

:units

dimensions:
time = 2;
z = 3;
y = 33;
x = 33;
variables:
float time(time=2);
  :units = "hours since
1990-01-01T00:00:00";

float z(z=3);

float y(y=33);
  :units = "degrees_north";

float x(x=33);
  :units = "degrees_east";

int temp(time=2, z=3, y=33, x=33);

float y

:units

float z

:units

:positive

double time

:units

体积

在 netCDF 文件中,变量会引用维度。 引用维度的同名变量是坐标变量。 例如,netCDF 文件的纬度、经度、时间和等级维度可能被定义为坐标变量。 包含值的其他变量将引用维度的组合。 netCDF 文件中定义的坐标系可以是地理坐标系或投影坐标系。 如果无法读取坐标系,则可以在同一个位置添加一个与 netCDF 文件同名的 .prj 文件。 .prj 文件用于定义坐标系。

根据识别的名称或正属性,变量将被视为高度变量。 垂直坐标系必须使用正属性,该属性可确定增大坐标值的方向是向上还是向下。 垂直坐标也可以通过其单位或轴属性的值加以标识。 如果 netCDF 变量具有高度维度,则满足将其可视化为体素变量的体积标准。 如果根据名称或单位属性无法识别坐标变量,则 添加多维体素图层 对话框将无法加载任何变量,并且无法将 netCDF 文件添加为体素图层。

坐标变量的识别名称

坐标变量

识别名称

X

x、projection_x_coordinate、lon、longitude、grid_longitude

Y

y、projection_y_coordinate、lat、latitude、grid_latitude

Z

z、depth、depth_below_geoid、elevation、height、height_above_reference ellipsoid、level、lev

T

时间

变量可以属于不同的类型。 例如,如果变量包含小数,则将数据表示为连续数据。 如果某个变量是文本或整数,则假定该变量表示离散数据。 可以在 添加体素图层 时修改默认设置。

支持的时间值

体素图层当前支持 CF 兼容的时间单位和时区。 它支持 CF 约定中所定义的默认日历:格里高利/儒略混合日历。 从 netCDF 时间属性读取时间单位,并将其转换为 ISO 8601 日期时间格式。

例如,当起始年份列为 0-1-1 时,体素图层还支持 CF 约定所定义的气候时间。 气候学时间表示联合国公约用于定义气候均态的 30 年平均值。