Make Multidimensional Voxel Layer (Multidimensional)

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

LabelExplanationData 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:

  • Continuous—Use for floating-point values.
  • Discrete—Use for nonfloating-point values.
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.

  • CenterThe voxel value will represent the center of the voxel cube. This is the default.
  • OriginThe voxel value will represent the origin of the voxel cube.
String
Exaggeration Mode
(Optional)

Specifies the exaggeration mode that will be used for the voxel layer.

  • From voxel dataset originOnly the voxels will be scaled. This is the default.
  • Z-coordinatesAll z-positions will be multiplied by the exaggeration value. Use this option when exaggerating other 3D data with 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.

  • Checked—A .vxc1 file will be created. This is the default.
  • Unchecked—A .vxc1 file will not be created.
Boolean

arcpy.management.MakeMultidimensionalVoxelLayer(in_dataset, out_layer, {variables}, {voxel_position}, {exaggeration_mode}, {exaggeration}, {offset}, {optimize_performance})
NameExplanationData 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:

  • CONTINUOUS—Use for floating-point values.
  • DISCRETE—Use for nonfloating point values.
Value Table
voxel_position
(Optional)

Specifies whether the voxel value will represent the values at the center or the origin of a voxel cube.

  • CENTERThe voxel value will represent the center of the voxel cube. This is the default.
  • ORIGINThe voxel value will represent the origin of the voxel cube.
String
exaggeration_mode
(Optional)

Specifies the exaggeration mode that will be used for the voxel layer.

  • FROM_VOXEL_DATASET_ORIGINOnly the voxels will be scaled. This is the default.
  • Z-COORDINATESAll z-positions will be multiplied by the exaggeration value. Use this option when exaggerating other 3D data with 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.

  • OPTIMIZEDA .vxc1 file will be created. This is the default.
  • NOT_OPTIMIZEDA .vxc1 file will not be created.
Boolean

Code sample

MakeMultidimensionalVoxelLayer example 1 (Python window)

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"
)
MakeMultidimensionalVoxelLayer example 2 (stand-alone script)

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=""
)

Environments

This tool does not use any geoprocessing environments.