创建 NetCDF 要素图层 (多维)

摘要

根据 NetCDF 文件创建要素图层。

使用情况

  • 此工具支持具有 .nc.nc4 扩展名的 netCDF 文件。 不支持 .nc4 文件中位于组内的组变量和维度。 仅支持组外的变量和维度。

  • 对于非常大的 netCDF 文件,工具任务结束与初始绘制 netCDF 图层之间可能会有一定的延迟。 后续绘制图层不会有延迟。

  • NetCDF 要素图层可用作任何可接受要素类作为输入的地理处理工具的输入。

  • 可使用保存至图层文件工具将临时要素图层保存为图层文件或使用复制要素工具将此图层保存为新要素类。

  • 如果指定相同的图层名称,则现有要素图层将被覆盖。

  • 辅助坐标变量将在 X 变量Y 变量下拉列表中列出并在执行期间使用(如果指定)。 这些变量不会在维度值参数下拉列表中列出,并且不可在命令行或脚本中设置为此参数的值。

  • 图层中要素的数量等于行维度中唯一值的数量。 如果选择了多个维度,则记录数将是这些维度中唯一值数量的乘积。

  • 如果未指定行维度,则仅创建一个要素。

  • 字段类型由 NetCDF 变量类型确定。

  • 非行维度的第一个值用于创建多维变量的默认视图。

  • 在 ArcGIS 中无法使用已分配给 netCDF 文件的时间坐标变量的日历属性值 noleap365_day

参数

标注说明数据类型
输入 netCDF 文件

待输入的 NetCDF 文件。

File
变量

将以字段形式添加到要素属性表中的 netCDF 变量。

String
X 变量

定义输出图层的 x 坐标或经度坐标时使用的 netCDF 坐标变量。

String
Y 变量

定义输出图层的 y 坐标或纬度坐标时使用的 netCDF 坐标变量。

String
输出要素图层

输出要素图层的名称。

Feature Layer
行维度
(可选)

在要素图层中创建具有唯一值的要素时使用的 netCDF 维度。 此处设置的维度决定了要素图层中的要素数量以及将在要素图层的属性表中显示的字段。

例如,如果 StationID 是 netCDF 文件中的一个维度且具有 10 个值,则通过将 StationID 设置为要使用的维度,将可以创建 10 个要素(在要素图层的属性表中将创建 10 行)。 如果当前使用 StationID 和时间,且存在 3 个时间片,则将创建 30 个要素(要素图层的属性表中将创建 30 行)。 如果要以动画形式呈现 netCDF 要素图层,出于效率方面的考虑,建议您不要将时间设置为行维度。 在动画处理的整个过程中仍可以将时间用作维度,但属性表中将不存储此信息。

String
Z 变量
(可选)

指定要素的高程值(z 值)时使用的 netCDF 变量。

String
M 变量
(可选)

指定要素的线性测量值(m 值)时使用的 netCDF 变量。

String
纬度值
(可选)

在输出图层中显示变量时要使用的维度(如时间)的值(如 01/30/05)。 默认情况下,将使用维度的第一个值。

  • 维度 - netCDF 维度。
  • - 可用的维度值。
Value Table
值选择方法
(可选)

指定将使用的维度值选择方法。

  • 按值输入值将与实际维度值匹配。
  • 按索引输入值将与维度值的位置或索引匹配。 索引的第一个值为 0;即位置从 0 开始。
String

arcpy.management.MakeNetCDFFeatureLayer(in_netCDF_file, variable, x_variable, y_variable, out_feature_layer, {row_dimension}, {z_variable}, {m_variable}, {dimension_values}, {value_selection_method})
名称说明数据类型
in_netCDF_file

待输入的 NetCDF 文件。

File
variable
[variable,...]

将以字段形式添加到要素属性表中的 netCDF 变量。

String
x_variable

定义输出图层的 x 坐标或经度坐标时使用的 netCDF 坐标变量。

String
y_variable

定义输出图层的 y 坐标或纬度坐标时使用的 netCDF 坐标变量。

String
out_feature_layer

输出要素图层的名称。

Feature Layer
row_dimension
[row_dimension,...]
(可选)

在要素图层中创建具有唯一值的要素时使用的 netCDF 维度。 此处设置的维度决定了要素图层中的要素数量以及将在要素图层的属性表中显示的字段。

例如,如果 StationID 是 netCDF 文件中的一个维度且具有 10 个值,则通过将 StationID 设置为要使用的维度,将可以创建 10 个要素(在要素图层的属性表中将创建 10 行)。 如果当前使用 StationID 和时间,且存在 3 个时间片,则将创建 30 个要素(要素图层的属性表中将创建 30 行)。 如果要以动画形式呈现 netCDF 要素图层,出于效率方面的考虑,建议您不要将时间设置为行维度。 在动画处理的整个过程中仍可以将时间用作维度,但属性表中将不存储此信息。

String
z_variable
(可选)

指定要素的高程值(z 值)时使用的 netCDF 变量。

String
m_variable
(可选)

指定要素的线性测量值(m 值)时使用的 netCDF 变量。

String
dimension_values
[[dimension, {value}],...]
(可选)

在输出图层中显示变量时要使用的维度(如时间)的值(如 01/30/05)。 默认情况下,将使用维度的第一个值。

  • dimension - netCDF 维度。
  • {value} - 可用的维度值。
Value Table
value_selection_method
(可选)

指定将使用的维度值选择方法。

  • BY_VALUE输入值将与实际维度值匹配。
  • BY_INDEX输入值将与维度值的位置或索引匹配。 索引的第一个值为 0;即位置从 0 开始。
String

代码示例

MakeNetCDFFeatureLayer 示例 1(Python 窗口)

根据 NetCDF 文件创建要素图层。

import arcpy
arcpy.MakeNetCDFFeatureLayer_md("C:/data/netcdf/rainfall.nc",
                                "pptx","longitude","latitude","rainfall",
                                "station")
MakeNetCDFFeatureLayer 示例 2(独立脚本)

根据 NetCDF 文件创建要素图层。

# MakeNetCDFFeatureLayer_Ex_02.py
# Description: Create a feature layer from a netCDF file.
# Requirements: None

# Import system modules
import arcpy

# Set local variables
inNetCDFFile = "C:/data/netcdf/rainfall.nc"
inVariables = "pptx"
inXVariable = "longitude"
inYVariable = "latitude"
outFeatureLayer = "rainfall"
rowDimensions = "station"
ZVariable = ""
MVariable = ""
dimensionValues = ""
valueSelectionMethod = ""

#Execute MakeNetCDFFeatureLayer
arcpy.MakeNetCDFFeatureLayer_md(inNetCDFFile, inVariables, inXVariable, 
                                inYVariable, outFeatureLayer, rowDimensions, 
                                ZVariable, MVariable, dimensionValues, 
                                valueSelectionMethod)