3D GA 图层转 NetCDF (地统计分析)

需要 Geostatistical Analyst 许可。

摘要

可将使用 3D 经验贝叶斯克里金工具创建的一个或多个 3D 地统计图层导出为 netCDF 格式*.nc 文件)。 输出文件将在本地场景中显示为体素图层。

了解有关体素图层的详细信息

插图

“3D GA 图层转 NetCDF”工具图示
体素图层将显示 3D 插值的结果。

使用情况

  • 如果该工具在本地场景中运行,该场景与输入要素具有相同的水平和垂直坐标系,则会将体素图层添加至场景,以便以交互方式探索结果。 您还可以使用创建多维体素图层工具或者添加多维体素图层对话框将输出 netCDF 文件添加为体素图层。

    可以使用复制栅格工具将输出 netCDF 文件转换为多维栅格。 您也可以分别使用创建 NetCDF 要素图层工具或创建 NetCDF 栅格图层工具,将其作为要素或栅格图层添加至地图。

  • 所有输入地统计图层必须为使用 3D 经验贝叶斯克里金法创建的 3D 地统计图层

  • 您可以通过以下两种方式中的任何一种来选择所要预测和导出的位置:

    • 预测导出到 3D 格网化点 - 预测将被导出到 3D 模式下的格网化点。 要使用此选项,请为导出位置参数指定 3D 格网化点X 间距Y 间距高程间距参数将指定 x、y 和 z(高程)维度中每个格网化的点之间的距离。
    • 预测导出到自定义 3D 位置 - 预测将被导出到由 3D 点要素定义的自定义 3D 位置。 要使用此选项,请为导出位置参数指定自定义 3D 点,并在 3D 点位置参数中提供 3D 点要素以指定要预测的位置。
      提示:

      可以使用依据属性实现要素转 3D 工具,根据具有高程字段的 2D 点创建 3D 点。

  • 输出 netCDF 文件的默认输出范围是所有输入 3D 地统计图层的范围的并集。

  • 输入研究区域面最小高程裁剪栅格最大高程裁剪栅格参数可用于限制特定研究区域内和两个高程表面之间的分析。 这些边界之外的任何体素将没有任何值并且不会显示。 例如,如果这些点位于海洋保护区内,则可以创建一个体素图层,该图层仅显示在保护区(研究区域)的面内、海底上方(最小高程栅格)和温跃层下方(最大高程栅格)。

    使用高程表面作为最小或最大高程栅格包含多种注意事项。 影像服务、web 高程图层和 web 影像图层的性能最慢,并且大量查询可能会出错。 在磁盘上保存为本地文件的栅格的性能最高,因此在大空间范围内创建高分辨率体素图层时推荐使用此类栅格。

  • 在布置表示体素的点的 3D 网格时,将在输出范围(默认情况下,为输入要素的范围)的最小 x 坐标、最小 y 坐标和最小 z 坐标处创建第一个点。 其余点将通过借助输出范围的维度遍历 X 间距Y 间距高程间距参数距离进行创建。 如果任何间距都没有均匀划分输出范围的相应维度,则将在输出范围之外创建一行或一列点。 例如,如果 x 的输出范围指定为 0 到 10,并且 X 间距参数指定为 3,则输出在 x 范围内将有五行:0、3、6、9 和 12。 同样,如果间距没有均匀地划分 y 或 z 范围,则会另外创建一行或一列点。

  • 最小和最大高程裁剪栅格必须位于投影坐标系中。 如果点或栅格具有带纬度和经度坐标的地理坐标系,则必须使用投影投影栅格工具将它们投影到投影坐标系。

  • 如果提供输入研究区域面,则研究区域的范围将用作默认输出范围,并且将基于此范围重新计算 X 间距Y 间距参数值。 由此可确保输出将默认填充整个研究区域。

参数

标注说明数据类型
输入 3D 地统计图层

将导出到输出 netCDF 文件的 3D 地统计图层。

Geostatistical Layer
输出 netCDF 文件

包含从输入地统计图层导出的值的输出 netCDF 文件。 每个地统计图层的结果将在 netCDF 文件中另存为不同的变量。

File
导出位置
(可选)

指定要根据输入 3D 地统计图层参数值导出的位置。 如果您选择 3D 格网化点选项,则必须提供 X 间距Y 间距高程间距参数的值,这些参数表示所有维度上每个格网化的点之间的距离。 如果您选择自定义 3D 点选项,则必须在 3D 点位置参数中提供 3D 点要素,其表示要导出的位置。

  • 3D 格网化点预测位置是 3D 格网化点。 这是默认设置。
  • 自定义 3D 点预测位置由自定义 3D 点要素定义。
String
X 间距
(可选)

x 维度中每个格网化点之间的间距。 默认值沿输出 x 范围创建 40 个点。

Linear Unit
Y 间距
(可选)

y 维度中每个格网化点之间的间距。 默认值沿输出 y 范围创建 40 个点。

Linear Unit
高程间距
(可选)

高程 (z) 维度中每个格网化点之间的间距。 默认值沿输出 z 范围创建 40 个点。

Linear Unit
3D 点位置
(可选)

表示要导出的位置的 3D 点要素。 点要素的高程必须存储在 Shape.Z 几何属性中。

Feature Layer
输出变量
(可选)

指定输入 3D 地统计图层值的输出类型。 您可以为每个图层指定一个或多个输出类型,也可以将输出类型应用于所有输入地统计图层。 默认情况下,将导出所有图层的预测。

要导出其他输出类型,请在值表的第一个条目中指定要导出的图层(或选择所有以指定所有图层)。 在值表的第二个条目中指定输出类型。 如果您选择概率分位数作为输出类型,请在值表的第三个条目中指定阈值(用于概率)或分位数(用于分位数)。 如果您选择预测预测标准误差作为输出类型,则可将值表中的第三个条目留空。

了解有关地统计输出类型的详细信息

Value Table
输入研究区域面
(可选)

表示研究区域的面要素。 仅研究区域内的点保存在输出 netCDF 文件中。 如果可视化为体素图层,则场景中将仅显示研究区域内的体素。 将仅使用点的 x 和 y 坐标来确定点位于研究区域内部还是外部。

Feature Layer
最小高程裁剪栅格
(可选)

用于裁剪体素图层底部的高程栅格。 仅为此高程栅格上方的体素分配预测。 例如,如果使用地面高程栅格,则将仅显示在地面上方的体素图层。 该工具还可用于基岩表面或页岩沉积物的底部。

栅格必须在投影坐标系中,并且高程值的单位必须与栅格的垂直单位相同。

Raster Layer
最大高程裁剪栅格
(可选)

用于裁剪体素图层顶部的高程栅格。 仅为此高程栅格下方的体素分配预测。 例如,如果使用地面高程栅格,则将仅显示在地面下方的体素图层。 该工具还可用于将体素裁剪到受限空域的顶部。

栅格必须在投影坐标系中,并且高程值的单位必须与栅格的垂直单位相同。

Raster Layer

派生输出

标注说明数据类型
输出体素图层

预测值的体素图层。

Voxel Layer

arcpy.ga.GALayer3DToNetCDF(in_3d_geostat_layers, out_netcdf_file, {export_locations}, {x_spacing}, {y_spacing}, {elevation_spacing}, {in_points_3d}, {output_variables}, {in_study_area}, {min_elev_raster}, {max_elev_raster})
名称说明数据类型
in_3d_geostat_layers
[in_3d_geostat_layers,...]

将导出到输出 netCDF 文件的 3D 地统计图层。

Geostatistical Layer
out_netcdf_file

包含从输入地统计图层导出的值的输出 netCDF 文件。 每个地统计图层的结果将在 netCDF 文件中另存为不同的变量。

File
export_locations
(可选)

指定要根据 in_3d_geostat_layers 参数值导出的位置。 如果您选择 3D_GRIDDED_POINTS 选项,则必须提供 x_spacingu_spacingelevation_spacing 参数的值,这些参数表示所有维度上每个格网化的点之间的距离。 如果您选择 CUSTOM_3D_POINTS 选项,则必须在 in_points_3d 参数中提供 3D 点要素,其表示要导出的位置。

  • 3D_GRIDDED_POINTS预测位置是 3D 格网化点。 这是默认设置。
  • CUSTOM_3D_POINTS预测位置由自定义 3D 点要素定义。
String
x_spacing
(可选)

x 维度中每个格网化点之间的间距。 默认值沿输出 x 范围创建 40 个点。

Linear Unit
y_spacing
(可选)

y 维度中每个格网化点之间的间距。 默认值沿输出 y 范围创建 40 个点。

Linear Unit
elevation_spacing
(可选)

高程 (z) 维度中每个格网化点之间的间距。 默认值沿输出 z 范围创建 40 个点。

Linear Unit
in_points_3d
(可选)

表示要导出的位置的 3D 点要素。 点要素的高程必须存储在 Shape.Z 几何属性中。

Feature Layer
output_variables
[[layer_name, output_type, quantile_probability_value],...]
(可选)

指定输入 3D 地统计图层值的输出类型。 您可以为每个图层指定一个或多个输出类型,也可以将输出类型应用于所有输入地统计图层。 默认情况下,将导出所有图层的预测。

要导出其他输出类型,请在值表的第一个条目中指定要导出的图层(或选择所有以指定所有图层)。 在值表的第二个条目中指定输出类型。 如果您选择概率分位数作为输出类型,请在值表的第三个条目中指定阈值(用于概率)或分位数(用于分位数)。 如果您选择预测预测标准误差作为输出类型,则可将值表中的第三个条目留空。

了解有关地统计输出类型的详细信息

Value Table
in_study_area
(可选)

表示研究区域的面要素。 仅研究区域内的点保存在输出 netCDF 文件中。 如果可视化为体素图层,则场景中将仅显示研究区域内的体素。 将仅使用点的 x 和 y 坐标来确定点位于研究区域内部还是外部。

Feature Layer
min_elev_raster
(可选)

用于裁剪体素图层底部的高程栅格。 仅为此高程栅格上方的体素分配预测。 例如,如果使用地面高程栅格,则将仅显示在地面上方的体素图层。 该工具还可用于基岩表面或页岩沉积物的底部。

栅格必须在投影坐标系中,并且高程值的单位必须与栅格的垂直单位相同。

Raster Layer
max_elev_raster
(可选)

用于裁剪体素图层顶部的高程栅格。 仅为此高程栅格下方的体素分配预测。 例如,如果使用地面高程栅格,则将仅显示在地面下方的体素图层。 该工具还可用于将体素裁剪到受限空域的顶部。

栅格必须在投影坐标系中,并且高程值的单位必须与栅格的垂直单位相同。

Raster Layer

派生输出

名称说明数据类型
out_voxel_layer

预测值的体素图层。

Voxel Layer

代码示例

GALayer3DToNetCDF 示例 1(Python 窗口)

将 3D 点插值两次并将输出转换为多元 netCDF 文件。

import arcpy
arcpy.ga.EmpiricalBayesianKriging3D("my3DPoints1", "Shape.Z",
                                    "myValueField1", "my3DGALayer1")
arcpy.ga.EmpiricalBayesianKriging3D("my3DPoints2", "Shape.Z",
                                    "myValueField2", "my3DGALayer2")
arcpy.ga.GALayer3DToNetCDF("my3DGALayer1;my3DGALayer2", "outputNCDF.nc",
                           "3D_GRIDDED_POINTS", "50 Meters", "50 Meters", "5 Meters",
                           "", "<ALL> PREDICTION #")
GALayer3DToNetCDF 示例 2(独立脚本)

将 3D 点插值两次并将输出转换为多元 netCDF 文件。 导出到自定义 3D 网格化点。

# Name: GALayer3DToNetCDF_Example_02.py
# Description: Interpolates 3D points and exports to a netCDF file.
# Requirements: Geostatistical Analyst Extension
# Author: Esri

# Import system modules
import arcpy

# Allow overwriting output
arcpy.env.overwriteOutput = True

# Set up variables
in3DPoints1 = "C:/gapydata/inputs.gdb/my3DPoints1"
in3DPoints2 = "C:/gapydata/inputs.gdb/my3DPoints2"
elevationField1 = "Shape.Z"
elevationField2 = "Shape.Z"
valueField1 = "myValueField1"
valueField2 = "myValueField2"
outGALayer1 = "myGALayer1"
outGALayer2 = "myGALayer2"


# Check out the ArcGIS Geostatistical Analyst extension license
arcpy.CheckOutExtension("GeoStats")

# Execute Empirical Bayesian Kriging 3D twice
arcpy.ga.EmpiricalBayesianKriging3D(in3DPoints1, elevationField1, valueField1, outGALayer1)
arcpy.ga.EmpiricalBayesianKriging3D(in3DPoints2, elevationField2, valueField2, outGALayer2)


# Export predictions for first model and probability that second model exceeds 10
# Export to gridded 3D points

# Set up variables
in_3d_ga_layers = outGALayer1+";"+outGALayer2
out_ncdf = "C:/gapydata/outputs/outputNetCDF1.nc"
export_locations = "3D_GRIDDED_POINTS"
x_spacing = "50 Meters"
y_spacing = "50 Meters"
elev_spacing = "5 Meters"
custom_points = ""
out_vars = "myGALayer1 PREDICTION #;myGALayer2 PROBABILITY 10"

# Run tool.
arcpy.ga.GALayer3DToNetCDF(in_3d_ga_layers, out_ncdf, export_locations,
                           x_spacing, y_spacing, elev_spacing, custom_points, out_vars)


# Export standard errors for first model and 75th quantile for second model
# Export to custom 3D points

# Set up variables
in_3d_ga_layers = outGALayer1+";"+outGALayer2
out_ncdf = "C:/gapydata/outputs/outputNetCDF2.nc"
export_locations = "CUSTOM_3D_POINTS"
x_spacing = ""
y_spacing = ""
elev_spacing = ""
custom_points = "C:/gapydata/inputs.gdb/myCustom3DPoints"
out_vars = "myGALayer1 PREDICTION_STANDARD_ERROR #;myGALayer2 QUANTILE 0.75"

# Run tool.
arcpy.ga.GALayer3DToNetCDF(in_3d_ga_layers, out_ncdf, export_locations,
                           x_spacing, y_spacing, elev_spacing, custom_points, out_vars)

许可信息

  • Basic: 需要 Geostatistical Analyst
  • Standard: 需要 Geostatistical Analyst
  • Advanced: 需要 Geostatistical Analyst

相关主题