NetCDF 点转要素类(离散采样几何) (多维)

摘要

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

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

使用情况

  • 气候和预报 (CF) 元数据标准中,一个点是单个数据点,与其他点不存在隐式坐标关系。

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

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

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

  • 多个 netCDF DSG 点文件可以转换为具有唯一 instanceID 字段的单个要素类。 对于实例变量,系统都将通过变量名称进行匹配。 也就是说,如果不同 netCDF 文件中的两个变量具有相同的名称,则它们将被解释为表示相同的内容。

  • 可以为实例变量Python 中的 instance_variables)参数选择多个实例变量。

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

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

  • 如果范围没有明确指定为参数值,则其会从分析环境设置中派生。

  • 将创建一个 2D 或 3D 点要素类,其中包含所有位置信息以及所选实例变量Python 中的 instance_variables)参数的数据值。

  • netCDF 文件中的数据变量可以使用 grid_mapping 变量来明确定义用于空间坐标值的坐标参考系 (CRS)。 格网映射 epsg_code 属性可用于选择 GCS 或 PCS。 此外,格网映射 esri_pe_stringcrs_wktspatial_ref 属性均可用于定义 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
包括子目录
(可选)

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

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

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

File
分析范围
(可选)

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

Extent

派生输出

标注说明数据类型
输出点

输出点要素类。

Feature Class

arcpy.management.NetCDFPointsToFeatureClass(in_files_or_folders, target_workspace, out_point_name, {instance_variables}, {include_subdirectories}, {in_cf_metadata}, {analysis_extent})
名称说明数据类型
in_files_or_folders
[in_files_or_folders,...]

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

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

Folder; File
target_workspace

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

Workspace
out_point_name

要素类的名称,此要素类将包含 netCDF 变量中的位置。 这些变量将从 instance_variables 参数添加为字段。

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

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

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 - 范围的 XMin 值
    • YMin - 范围的 YMin 值
    • XMax - 范围的 XMax 值
    • YMax - 范围的 YMax 值

Extent

派生输出

名称说明数据类型
out_point

输出点要素类。

Feature Class

代码示例

NetCDFPointsToFeatureClass 示例 1(Python 窗口)

此示例使用包含来自 SWOT 数据集的 netCDF DSG 点文件的文件夹创建点要素类。

import arcpy
arcpy.md.NetCDFPointsToFeatureClass(r"C:\SWOT", r"C:\ArcGIS\Projects\output.gdb",
                                    "swot_water_frac", "water_frac", 
				    "INCLUDE_SUBDIRECTORIES", None, "DEFAULT")
NetCDFPointsToFeatureClass 示例 2(独立脚本)

此示例使用来自 MADIS 的一组 netCDF DSG 点文件和 .ncml 文件创建要素类。

# Name: NetCDFPointsToFeatureClass_Ex_02.py
# Description: Creates a feature class from a netCDF DSG points file from MADIS with a .ncml file. 

# Import system modules
Import arcpy  

# Set the local variables 
in_files_or_folders = r"C:\MADIS" 
target_workspace = r"C:\outputs\madis.gdb" 
out_point_name = "madis_point" 
instance_variables = "temperature;pressure"  
include_subdirectories = "DO_NOT_INCLUDE_SUBDIRECTORIES"
in_cf_metadata = r"C:\MADIS\swot_cf.ncml" 
analysis_extent = ""  

# Execute NetCDFTimeSeriesToFeatureClass
arcpy.md.NetCDFPointsToFeatureClass(in_files_or_folders, target_workspace,
                                    out_point_name, instance_variables,
                                    include_subdirectories, in_cf_metadata,
                                    analysis_extent)