Label | Explanation | Data Type |
Input NetCDF Dataset
| The input voxel dataset. Supported voxel datasets include netCDF files. | File |
Ouput Voxel Layer
| The output voxel layer. | Voxel Layer |
Variables
(Optional) | Specifies the names of the variables that will be output to the voxel layer and whether they are discrete or continuous. If no variables are specified, all variables from the voxel dataset will be used with the data types based on the type specified in the voxel dataset. For example, an integer will be assumed discrete and a double will be assumed continuous. Uncheck the Use column value to remove the variable from the output layer. Available data types are as follows:
| Value Table |
Voxel Position Alignment
(Optional) | Specifies whether the voxel value will represent the values at the center or the origin of a voxel cube.
| String |
Exaggeration Mode
(Optional) | Specifies the exaggeration mode that will be used for the voxel layer.
| String |
Exaggeration
(Optional) | The vertical exaggeration of the voxel layer. The default value is proportional to the x,y extent of the layer. | Double |
Offset
(Optional) | An offset that will be used to raise or lower the voxel layer in the z-dimension. | Double |
Optimize for Performance
(Optional) | Specifies whether a .vxc1 file will be created to enhance the display performance of the voxel layer. The file will be created in the same folder as the netCDF file.
| Boolean |
Summary
Creates a voxel layer from a multidimensional voxel dataset. Voxel datasets with a netCDF source are the only supported inputs.
Usage
Unless otherwise specified, all supported variables in the netCDF file will be included in the output.
Unless otherwise specified, default values for exaggeration and offset will be calculated in the output.
This tool generates a temporary layer that will not persist unless it is saved as a layer file.
To share the voxel layer to ArcGIS Enterprise or ArcGIS Online, use the Create Voxel Scene Layer Content and Share Package tools.
Parameters
arcpy.management.MakeMultidimensionalVoxelLayer(in_dataset, out_layer, {variables}, {voxel_position}, {exaggeration_mode}, {exaggeration}, {offset}, {optimize_performance})
Name | Explanation | Data Type |
in_dataset | The input voxel dataset. Supported voxel datasets include netCDF files. | File |
out_layer | The output voxel layer. | Voxel Layer |
variables [variables,...] (Optional) | Specifies the names of the variables that will be output to the voxel layer and whether they are discrete or continuous. If no variables are specified, all variables from the voxel dataset will be used with the data types based on the type specified in the voxel dataset. For example, an integer will be assumed discrete and a double will be assumed continuous. Uncheck the Use column value to remove the variable from the output layer. Available data types are as follows:
| Value Table |
voxel_position (Optional) | Specifies whether the voxel value will represent the values at the center or the origin of a voxel cube.
| String |
exaggeration_mode (Optional) | Specifies the exaggeration mode that will be used for the voxel layer.
| String |
exaggeration (Optional) | The vertical exaggeration of the voxel layer. The default value is proportional to the x,y extent of the layer. | Double |
offset (Optional) | An offset that will be used to raise or lower the voxel layer in the z-dimension. | Double |
optimize_performance (Optional) | Specifies whether a .vxc1 file will be created to enhance the display performance of the voxel layer. The file will be created in the same folder as the netCDF file.
| Boolean |
Code sample
The following Python script creates a voxel layer with a user-specified exaggeration and offset.
import arcpy
arcpy.md.MakeMultidimensionalVoxelLayer(
in_dataset="emu_small_subset.nc",
out_layer="emu_small_subset_Layer",
variables=[[False, "ocean_name", "DISCRETE"], [True, "salinity", "CONTINUOUS"], [True, "temp", "CONTINUOUS"]],
voxel_position="CENTER",
exaggeration_mode="FROM_VOXEL_DATASET_ORIGIN",
exaggeration=5000.00,
offset=200.00,
optimize_performance="OPTIMIZED"
)
The following Python script creates a voxel scene layer package and publishes that package as a web scene layer to ArcGIS Online.
import arcpy
# Create the voxel layer
arcpy.md.MakeMultidimensionalVoxelLayer(
in_dataset=r"C:\data\emu_small_subset.nc",
out_layer="emu_small_subset_Layer",
variables=[[False, "ocean_name", "DISCRETE"], [True, "salinity", "CONTINUOUS"], [True, "temp", "CONTINUOUS"]],
voxel_position="CENTER",
exaggeration_mode="FROM_VOXEL_DATASET_ORIGIN",
exaggeration=None,
offset=None,
optimize_performance="OPTIMIZED"
)
# Create the voxel scene layer package
arcpy.management.CreateVoxelSceneLayerContent(
in_dataset="emu_small_subset_Layer",
out_slpk=r"C:\data\emu_voxel.slpk"
)
# Share the slpk and publish as web scene layer
arcpy.management.SharePackage(
in_package=r"C:\data\emu_voxel.slpk",
username="",
password=None,
summary="",
tags="",
credits="",
public="MYGROUPS",
groups=None,
organization="MYORGANIZATION",
publish_web_layer="TRUE",
portal_folder=""
)