NetCDF 配置文件转要素类(离散采样几何) (多维)

摘要

根据 netCDF 文件中的配置文件创建要素类。 在气候和预报 (CF) 元数据约定中,配置文件是一种离散采样几何 (DSG)。

了解有关离散采样几何 (DSG) 工具工作原理的详细信息

使用情况

  • 气候和预报 (CF) 元数据标准中,配置文件是在固定水平位置和固定时间沿垂直线排序的一组数据点。

  • 离散采样几何 (DSG) 数据集的特征在于其维数低于进行数据采样的时空区域。

  • 输入 netCDF 文件应符合气候和预报 (CF) 标准(CF 1.6 或更高版本)。 CF 约定用于定义元数据以描述每个变量表示的数据以及数据的空间和时态属性。

  • 如果输入 netCDF 文件不符合 CF 标准,则您可以指定具有其他属性或已更改属性的输入气候和预报元数据Python 中的 in_cf_metadata)文件。 输入气候和预报元数据文件是一个扩展名为 .ncml 的 XML 文件。 此元数据文件中的属性将扩展或覆盖 netCDF 文件中的元数据。 如果输入 netCDF 文件没有格网映射变量,则输入气候和预报元数据文件也可用于指定格网映射变量。

  • DSG 要素类型将由已标记 cf_role 属性的实例 ID 变量进行标识。 具有相同方案的多个 netCDF 文件可以转换为具有唯一 InstanceID 字段的单个要素类。 每个 netCDF 文件都应具有一个已标记相同 cf_role 属性的变量,并将其用作跨多个文件的标识字段。 系统将严格沿此变量的实例维度进行聚合。

  • 对于实例变量和观测变量,系统都将通过变量名称进行匹配。 也就是说,如果不同 netCDF 文件中的两个变量具有相同的名称,则它们将被解释为表示相同的内容。

  • 可以分别在实例变量Python 中的 instance_variables)和观测变量Python 中的 observation_variables)参数中选择多个实例和观测变量(巡航次数、温度、盐度等)。

  • 您可以使用分析范围Python 中的 analysis_extent)参数为独立工具操作显式指定输出分析区域,或将环境设置覆盖为工作流的一部分。 通过输入值、选择显示范围、选择图层或浏览输入数据集,可以指定范围。

  • 默认分析范围值是根据输入 netCDF 文件的总范围计算得出的。

  • 如果未将该范围显式指定为参数值,则将从分析环境设置中获取。

  • 当为输出方案参数(Python 中为 out_schema = "INSTANCE_AND_OBSERVATION")指定实例和观测点选项时,将创建一个包含所有位置信息和所选实例字段的 2D 点要素类,以及一个包含所选观测变量的相关表。 还可以选择性地创建一个图层,图层将基于 InstanceID 字段将表连接到要素类。 指定路径和事件选项(Python 中为 (out_schema = "ROUTE_AND_EVENT")时,将创建两个输出。 其中一个是具有 3D 顶点和每个垂直级别测量值的垂直折线要素类。 另一个输出是包含观测值、from_zto_z 字段的表。 您可以使用此表通过配置文件创建线性动态分段事件类。 不会为此方案创建连接图层。 指定点 3D 选项(Python 中为 out_schema = "POINT_3D")时,仅会创建包含所有记录(包含所有垂直级别的所有位置)的 3D 点要素。

  • netCDF 文件中的数据变量可以使用 grid_mapping 变量来明确定义用于空间坐标值的坐标参考系 (CRS)。 格网映射 epsg_code 属性可用于选择 GCS 或 PCS。 此外,格网映射 esri_pe_stringcrs_wktspatial_ref 属性都可用于定义 WKT 1 或 WKT 2 字符串。 如果这些属性中的任何一个存在,则系统将不会使用水平坐标系的其他属性。 此处列出了支持的 WKT 1 和 WKT 2 字符串及其 WKID:垂直坐标系投影坐标系地理坐标系

  • 如果空间坐标值为 3D 值,则 grid_mapping 变量还应指定垂直坐标系 (VCS)。 VCS 是垂直基准面、线性测量单位和垂直坐标增加方向(向上或向下)的组合。 基准面通常从格网映射变量的属性中获得,而其他属性则从垂直坐标变量中获得。 可以使用复合 WKT 字符串作为上面列出的 WKT 属性之一的值来指定任意垂直基准面。 可以使用 geoid_namegeopotential_datum_name 属性来指定基于重力的基准面。 此外,可以使用垂直坐标变量的潮汐标准名称之一来隐性指定潮汐基准面。 如果未指定 VCS 并且存在垂直坐标变量,则系统将选择瞬时水位深度或高度 (epsg:5831, epsg:5829) 作为默认值。

参数

标注说明数据类型
输入 NetCDF 文件或文件夹

将用于创建要素类的输入 netCDF 文件。 可以使用单个 netCDF 文件以及包含多个 netCDF 文件的文件夹。

输入 netCDF 文件必须具有相同的 DSG 要素类型和方案。

Folder; File
目标工作空间

将在其中创建输出要素类和表的企业级地理数据库或文件地理数据库。 该工作空间必须是现有的工作空间。

Workspace
输出点或折线名称

将包含来自 netCDF 变量的位置的要素类的名称。 这些变量将作为实例变量参数中的字段进行添加。

String
观测变量
(可选)

包含每个位置和每个垂直级别的所有观测值的 netCDF 变量。 这些变量将作为字段添加到输出表

String
输出连接或事件表名称
(可选)

将包含观测变量中所有记录的输出表的名称。

String
实例变量
(可选)

区分各个要素并表示执行观测的位置的 netCDF 变量。 这些变量将作为字段添加到输出要素类。

String
输出方案
(可选)

指定将创建的输出要素类类型。

  • 实例和观测点将创建包含 2D 点(包含每个实例的位置)的要素类和包含所有观测变量的相关表。 这是默认设置。
  • 路径和事件将创建具有 3D 折点的垂直折线要素类和观测变量的线性事件表。
  • 点 3D将创建一个包含所有垂直级别的所有实例的 3D 要素类。
String
包括子目录
(可选)

指定是否使用位于输入文件夹子目录中的文件。

  • 选中 - 将使用所有子目录中的所有 netCDF 文件。
  • 未选中 - 仅使用输入文件夹中的文件。 这是默认设置。
Boolean
输入气候和预报元数据
(可选)

带有 .ncml 扩展名的 XML 文件,将为输入 netCDF 文件提供丢失或更改的 CF 信息。

File
分析范围
(可选)

定义输出要素类区域的范围。

Extent
输出连接图层
(可选)

通过将输入表连接到输出要素类创建的输出图层。 这是一个可选输出,仅当为输出方案参数指定了实例和观测点选项时才可用。

Feature Layer

派生输出

标注说明数据类型
输出点或折线

输出点或折线要素类。

Feature Class
输出连接或事件表

输出表。

Table

arcpy.md.NetCDFProfilesToFeatureClass(in_files_or_folders, target_workspace, out_point_or_polyline_name, {observation_variables}, {out_table_name}, {instance_variables}, {out_schema}, {include_subdirectories}, {in_cf_metadata}, {analysis_extent}, {out_join_layer})
名称说明数据类型
in_files_or_folders
[in_files_or_folders,...]

将用于创建要素类的输入 netCDF 文件。 可以使用单个 netCDF 文件以及包含多个 netCDF 文件的文件夹。

输入 netCDF 文件必须具有相同的 DSG 要素类型和方案。

Folder; File
target_workspace

将在其中创建输出要素类和表的企业级地理数据库或文件地理数据库。 该工作空间必须是现有的工作空间。

Workspace
out_point_or_polyline_name

将包含来自 netCDF 变量的位置的要素类的名称。 这些变量将作为 instance_variables 参数中的字段进行添加。

String
observation_variables
[observation_variables,...]
(可选)

包含每个位置和每个垂直级别的所有观测值的 netCDF 变量。 这些变量将作为字段添加到输出表

String
out_table_name
(可选)

将包含观测变量中所有记录的输出表的名称。

String
instance_variables
[instance_variables,...]
(可选)

区分各个要素并表示执行观测的位置的 netCDF 变量。 这些变量将作为字段添加到输出要素类。

String
out_schema
(可选)

指定将创建的输出要素类类型。

  • INSTANCE_AND_OBSERVATION将创建包含 2D 点(包含每个实例的位置)的要素类和包含所有观测变量的相关表。 这是默认设置。
  • ROUTE_AND_EVENT将创建具有 3D 折点的垂直折线要素类和观测变量的线性事件表。
  • POINT_3D将创建一个包含所有垂直级别的所有实例的 3D 要素类。
String
include_subdirectories
(可选)

指定是否使用位于输入文件夹子目录中的文件。

  • INCLUDE_SUBDIRECTORIES将使用所有子目录中的所有 netCDF 文件。
  • DO_NOT_INCLUDE_SUBDIRECTORIES仅使用输入文件夹中的文件。 这是默认设置。
Boolean
in_cf_metadata
(可选)

带有 .ncml 扩展名的 XML 文件,将为输入 netCDF 文件提供丢失或更改的 CF 信息。

File
analysis_extent
(可选)

Extent 类用于确定输出栅格数据集的范围。

Extent 类的形式如下:

  • Extent (XMin, YMin, XMax, YMax)

    其中:

    • XMin - 范围 X 最小值
    • YMin - 范围 Y 最小值
    • XMax - 范围 X 最大值
    • YMax - 范围 Y 最大值

Extent
out_join_layer
(可选)

通过将输入表连接到输出要素类创建的输出图层。 这是一个可选输出,仅当为 out_schema 参数指定了 INSTANCE_AND_OBSERVATION 选项时才可用。

Feature Layer

派生输出

名称说明数据类型
out_point_or_polyline

输出点或折线要素类。

Feature Class
out_table

输出表。

Table

代码示例

NetCDFProfilesToFeatureClass 示例 1(Python 窗口)

此示例通过世界海洋数据集的 netCDF DSG 配置文件创建一个要素类和一个表。

import arcpy
arcpy.md.NetCDFProfilesToFeatureClass(r"C:\WOD\wod_ctd_2019.nc", r"C:\ArcGIS\Projects\output.gdb", 
									  "WOD_2019", "Salinity", None, "WOD_2019_table", 
									  "INSTANCE_AND_OBSERVATION", "INCLUDE_SUBDIRECTORIES",
									  None, "DEFAULT", "WOD_2019_layer")
NetCDFProfilesToFeatureClass 示例 2(独立脚本)

此示例通过 Argo 的 netCDF DSG 配置文件创建 3D 要素类。

# Name: NetCDFProfilesToFeatureClass_Ex_02.py
# Description: Creates a 3D point feature class from a set of float data.

# Import system modules
Import arcpy  

# Set the local variables 
in_files_or_folders = r"C:\Argo" 
target_workspace = r"C:\outputs\argo.gdb" 
out_point_or_polyline_name = “argo_3d” 
observation_variables = “temperature;pressure” 
out_table_name = “” 
instance_variables = “” 
out_schema = “POINT_3D” 
include_subdirectories = “DO_NOT_INCLUDE_SUBDIRECTORIES” 
in_cf_metadata = “” 
analysis_extent = “” 
out_join_layer = “” 

# Execute NetCDFProfilesToFeatureClass
arcpy.md.NetCDFProfilesToFeatureClass(in_files_or_folders, target_workspace,
                                      out_point_or_polyline_name, observation_variables,
                                      out_table_name, instance_variables, out_schema,
                                      include_subdirectories, in_cf_metadata,
                                      analysis_extent, out_join_layer)

许可信息

  • Basic: 是
  • Standard: 是
  • Advanced: 是

相关主题