栅格至 NetCDF (多维)

摘要

将栅格数据集转换为 NetCDF 文件。

使用情况

  • 输入可以是任意有效的栅格数据集。

  • 默认的变量名与输入栅格的名称相同。

  • 输出 netCDF 变量类型是基于输入栅格数据集类型的浮点型或整型。

  • 默认 x 维度和 y 维度名称分别是 xy

  • 波段维度参数仅适用于多波段输入栅格。

  • 字符串字段不能用于在 netCDF 文件中创建维度。

  • 较高的压缩级别将减小输出文件的大小,并可能提高工具的性能。将经过压缩的 netCDF 文件用作输入以进行进一步的分析时,它的运行表现通常会更好。

  • 该工具会在 CF 约定CF 约定网站的链接 后面写入变量作为等间距格网数据。因此,输出 netCDF 文件中的变量可用于创建体素图层。

参数

标注说明数据类型
输入栅格

输入栅格数据集。

Raster Layer
输出 netCDF 文件

待输出的 netCDF 文件。 文件名的扩展名必须是 .nc

File
变量
(可选)

将在输出 netCDF 文件中使用的 netCDF 变量名。此变量将包含输入栅格中像元的值。

String
变量单位
(可选)

包含在变量中的数据的单位。变量名在变量参数中指定。

String
X 维度
(可选)

将用于指定 x 坐标或经度坐标的 NetCDF 维度名称。

String
Y 维度
(可选)

将用于指定 y 坐标或纬度坐标的 NetCDF 维度名称。

String
波段维度
(可选)

将用于指定波段的 NetCDF 维度名称。

String
字段至维度
(可选)

在 netCDF 文件中创建维度时将使用的字段。

  • Field - 输入栅格属性表中的某个字段。
  • 维度 - netCDF 维度名称
  • 单位 - 由字段表示的数据单位
Value Table
压缩级别
(可选)

输出 netCDF 文件将被压缩的级别。默认值为 0,表示不进行压缩。值为 9 表示压缩程度最大。

Long

arcpy.management.RasterToNetCDF(in_raster, out_netCDF_file, {variable}, {variable_units}, {x_dimension}, {y_dimension}, {band_dimension}, {fields_to_dimensions}, {compression_level})
名称说明数据类型
in_raster

输入栅格数据集。

Raster Layer
out_netCDF_file

待输出的 netCDF 文件。 文件名的扩展名必须是 .nc

File
variable
(可选)

将在输出 netCDF 文件中使用的 netCDF 变量名。此变量将包含输入栅格中像元的值。

String
variable_units
(可选)

包含在变量中的数据的单位。变量名在变量参数中指定。

String
x_dimension
(可选)

将用于指定 x 坐标或经度坐标的 NetCDF 维度名称。

String
y_dimension
(可选)

将用于指定 y 坐标或纬度坐标的 NetCDF 维度名称。

String
band_dimension
(可选)

将用于指定波段的 NetCDF 维度名称。

String
fields_to_dimensions
[[field, {dimension}, {units}],...]
(可选)

在 netCDF 文件中创建维度时将使用的字段。

  • field - 输入栅格属性表中的某个字段。
  • {dimension} - netCDF 维度名称
  • {units} - 由字段表示的数据单位
Value Table
compression_level
(可选)

输出 netCDF 文件将被压缩的级别。默认值为 0,表示不进行压缩。值为 9 表示压缩程度最大。

Long

代码示例

RasterToNetCDF 示例 1(Python 窗口)

将栅格数据集转换为 NetCDF 文件。

import arcpy
arcpy.md.RasterToNetCDF("C:/data/elevation","C:/output/elev.nc","elevation",
                        "meter","x","y", "", "")
RasterToNetCDF 示例 2(独立脚本)

将栅格数据集转换为 NetCDF 文件。

# RasterToNetCDF_Ex_02.py
# Description: Converts a raster dataset to a netCDF file.
# Requirements: None

# Import system modules
import arcpy
from arcpy import env

# Set environment settings
env.workspace = "C:/data"

# Set local variables
inRaster = "C:/data/elevation"
outNetCDFFile = "C:/output/elevnetcdf.nc"
variable = "elevation"
units = "meter"
XDimension = "x"
YDimension = "y"
bandDimension = ""
compressionLevel = ""

# Process: RasterToNetCDF
arcpy.md.RasterToNetCDF(inRaster, outNetCDFFile, variable, units, 
                        XDimension, YDimension, bandDimension, compressionLevel)