创建 NetCDF 要素图层 (Multidimension)
摘要
根据 NetCDF 文件创建要素图层。
用法
对于非常大的 netCDF 文件,工具结束与初始绘制 netCDF 图层之间可能会有一定的延迟。后续绘制图层不会有延迟。
-
NetCDF 要素图层可用作任何可接受要素类作为输入的地理处理工具的输入。
-
可使用保存至图层文件工具将临时要素图层保存为图层文件或使用复制要素工具将此图层保存为新要素类。
-
除非使用保存至图层文件工具将在 ArcCatalog 中创建的图层保存为图层文件,否则无法在 ArcMap 中使用这些图层。
-
如果指定相同的图层名称,则现有要素图层将被覆盖。
-
辅助坐标变量将在 X 变量和 Y 变量下拉列表中列出并在执行期间使用(如果指定)。这些变量不会在维度值参数下拉列表中列出,并且不可在命令行或脚本中设置为此参数的值。
-
图层中要素的数量等于行维度中唯一值的数量。如果选择了多个维度,则记录数将是这些维度中唯一值数量的乘积。
-
如果未指定行维度,则仅创建一个要素。
-
字段类型由 NetCDF 变量类型确定。
-
非行维度的第一个值用于创建多维变量的默认视图。
-
在 ArcGIS 中无法使用日历属性值 noleap 和 365_day(已分配给 NetCDF 文件的时间坐标变量)。
语法
参数 | 说明 | 数据类型 |
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)。默认情况下,将使用维度的第一个值。也可通过“图层属性”对话框中的 netCDF 选项卡更改此默认值。 | Value Table |
value_selection_method (可选) |
指定维度值选择方法。
| String |
代码实例
根据 NetCDF 文件创建要素图层。
import arcpy
arcpy.MakeNetCDFFeatureLayer_md("C:/data/netcdf/rainfall.nc",
"pptx","longitude","latitude","rainfall",
"station")
根据 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 = "c:/output/rainfall"
rowDimensions = "station"
ZVariable = ""
MVariable = ""
dimensionValues = ""
valueSelectionMethod = ""
#Execute MakeNetCDFFeatureLayer
arcpy.MakeNetCDFFeatureLayer_md(inNetCDFFile, inVariables, inXVariable,
inYVariable, outFeatureLayer, rowDimensions,
ZVariable, MVariable, dimensionValues,
valueSelectionMethod)