需要 Geostatistical Analyst 许可。
描述
将使用 3D 经验贝叶斯克里金工具创建的一个或多个 3D 地统计图层导出为 netCDF 格式(*.nc 文件)。此工具的主要目的是准备 3D 地统计图层,以将其可视化为局部场景中的体素图层。
插图
使用方法
输出 netCDF 文件参数不会自动将图层添加到地图或场景。要将输出渲染为体素图层,必须将其添加到局部场景,其具有与 netCDF 文件相同的水平和垂直坐标系。也可以分别使用创建 NetCDF 要素图层工具或创建 NetCDF 栅格图层工具,将其作为要素或栅格图层添加到地图或场景中。
将输出 netCDF 文件渲染为体素图层,将导出位置参数设置为 3D 格网化点。体素图层需要格网化位置才能进行渲染。
所有输入 3D 地统计图层必须为使用 3D 经验贝叶斯克里金法创建的 3D 地统计图层。
您可以通过以下两种方式中的任何一种来选择所要预测和导出的位置:
- 预测导出到 3D 格网化点 - 预测将被导出到 3D 模式下的格网化点。要使用此选项,请为导出位置参数指定 3D 格网化点。X 间距、Y 间距和高程间距参数将指定 x、y 和 z(高程)维度中每个格网化的点之间的距离。
- 预测导出到自定义 3D 位置 - 预测将被导出到由 3D 点要素定义的自定义 3D 位置。要使用此选项,请为导出位置参数指定自定义 3D 点,然后将 3D 点要素添加到 3D 点位置参数以指定要导出的位置。3D 点位置的高程必须存储在 Shape.Z 几何属性中。如果将高程存储为属性字段(而非 Shape.Z),则可以使用依据属性实现要素转 3D 工具将其转换为 3D 点。
输出 netCDF 文件参数的默认输出范围是所有输入 3D 地统计图层的范围的并集。
如果为导出位置参数指定 3D 格网化点,则将在输出范围环境的最小 x 坐标、最小 y 坐标和最小 z 坐标处创建第一个点。其余点将通过借助输出范围的维度遍历 X 间距、Y 间距和高程间距参数距离进行创建。如果任何间距都没有均匀划分输出范围的相应维度,则将在输出范围之外创建一行或一列点。例如,如果 x 的输出范围指定为 0 到 10,且 X 间距参数指定为 3,则输出在 x 范围内将有 4 行:0、3、6、9 和 12。同样,如果间距没有均匀地划分 y 或 z 范围,则会另外创建一行或一列点。
语法
GALayer3DToNetCDF(in_3d_geostat_layers, out_netcdf_file, {export_locations}, {x_spacing}, {y_spacing}, {elevation_spacing}, {in_points_3d}, {output_variables})
参数 | 说明 | 数据类型 |
in_3d_geostat_layers [in_3d_geostat_layers,...] | 将导出到输出 netCDF 文件的 3D 地统计图层。如果提供了多个图层,则输出将是多元 netCDF 文件。 | Geostatistical Layer |
out_netcdf_file | 包含从 输入 3D 地统计图层导出的值的输出 netCDF 文件。 | File |
export_locations (可选) | 指定要从输入 3D 地统计图层导出的位置。您可以导出到 3D 格网化点或提供自定义 3D 点要素来表示导出位置。如果您选择 3D 格网化点,则必须提供 X 间距、Y 间距和高程间距参数的值,这些参数表示所有维度上每个格网化的点之间的距离。如果您选择自定义 3D 点,则必须在 3D 点位置参数中提供 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 |
代码示例
将 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 #")
将 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: 需要 地统计分析
- Standard: 需要 地统计分析
- Advanced: 需要 地统计分析