A voxel layer contains one or more variables that you symbolize. Depending on the type of data represented by a variable in a voxel layer, you can visualize qualitative discrete or quantitative continuous data. There are two symbology methods you can use to symbolize a voxel layer: unique values or stretch.
Symbology is defined per variable of a voxel layer. For example, you can switch between variables and see the symbology you defined. If the variable of the voxel layer contains qualitative data—for example, the soil types defined in discrete classes—the data is visualized as unique values. If the variable represents quantitative values of continuous measurements, such as temperature, you can visualize this variable using stretch symbology.
Symbology for a voxel layer is applied to the volume and surface. For example, you can change the symbology, and the changes are applied to the volume as well as to the sections and isosurfaces. You can lock a section of a voxel layer to create a snapshot of the section at the current position, time stamp, and area of interest. The symbology remains the same as the variable of the locked section.
Voxel layers can contain billions of individual voxel cubes. When adding a voxel layer to a scene, the voxel cubes are loaded dynamically until no more voxel cubes are discovered. You can update the symbology to include all values after all voxel cubes are loaded.
Unique values
Unique values symbology assigns a unique symbol to each defined symbol class in a dataset. It allows you to represent qualitative values in a variable. When you add a voxel layer to a scene, the data type is already determined. If the values are discrete, they are represented as unique values. When adding the voxel layer or switching to a discrete variable for the first time, unique values are dynamically loaded. You can show all unique values or select a subset to be drawn in the scene. You can also change the color and the label of the unique values in the Symbology pane. A Count column displays a count for each unique value. For time-enabled data, the count updates per time stamp. For example, if a unique value renders in one time stamp, it shows the count, but if it does not render in the next time stamp, it shows a 0 count. You can hide the count column by clicking Show count in the Options context menu.
You can apply transparency to the color of a unique value. Because voxel cubes are building blocks in the voxel volume, the transparency accumulates when voxel cubes overlap. The transparency is not applied to the sections.
You can turn unique value classes on and off from the Symbology pane to only show relevant values. Alternatively, choose the Use the Contents pane for class visibility option to turn on or off unique values in the Contents pane.
To symbolize a voxel layer using unique values, follow these steps:
- Select a voxel layer in the Contents pane and click the Voxel Layer tab set.
- In the Drawing group, click the Symbology button .
- In the Symbology pane, optionally, choose a Color scheme.
- Optionally, click Format color scheme to open the Color Scheme Editor to modify a color scheme.
- Optionally, check the Visible check box next to each unique value to adjust the visibility of the symbol classes.
When unchecked, the symbol class is removed from the Contents pane and does not draw in the scene.
- Optionally, click the label associated with a unique value to change it.
- Optionally, change the heading for the variable to be more descriptive.
- To change the order of the symbol classes, click
Move selected value(s) up or
Move selected value(s) down.
The symbol class order is reflected in the Contents pane and in the legend on a layout.
- To remove unique values, right-click and click Remove. The removed unique value is automatically added to <all other values>. To hide <all other values>, turn off the visibility.
The voxel color scheme is selected by default, but you can choose another color scheme. Check the Show all check box to see all available color schemes in the project.
Stretch
Stretch symbology allows you to define how the values are stretched between a minimum and maximum value that is associated with a color scheme, which represents quantitative data such as temperature or oxygen.
Use symbology to explore your voxel data further. Filter the data to show only values you are interested in using the Min and Max range options. These values can be changed by adjusting the Data Filter in the Symbology pane.
By default, the histogram shows the significant data range. The values are exaggerated by a factor of 2 to increase readability of the histogram. To view the value without the exaggeration, click the Show Significant Data Range check box from More option.
A transparency function in stretch symbology can emphasize specific values by making other values transparent. For example, to highlight a high concentration of pollution, you can make lower pollution values transparent. Use an isosurface to show pollution concentration at a specific value.
For example, you can apply the transparency function to a temperature variable in an ecological marine unit voxel layer:
To symbolize using stretch symbology, follow these steps:
- Select a voxel layer in the Contents pane and click the Voxel Layer tab set.
- In the Drawing group, click the Symbology button .
The Symbology pane appears.
- In the Symbology pane, optionally choose a new Color scheme.
- Optionally, check Data Filter to set a filter and set the Min and Max values.
- Optionally, change the Color range and set the Min and Max values.
- Optionally, check Transparency function.
- Interactively change the position of the control points. To add a new control point, double-click the transparency function graph or change the transparency settings.
- Modify the Value and Position settings interactively for each control point by moving the point on the transparency function graph. Alternatively, add a value to the Value and Position dialog boxes.
The first and last control point cannot be deleted.
Check the Show all check box to see all available color schemes. Click Format color scheme to open the Color Scheme Editor to modify a color scheme.
Advanced options for stretch symbology
Advanced symbology options allow you to customize the formatting of numeric labels in a voxel layer's legend to better represent the symbology. You can specify whether the numeric field data values represent percentages, directions, currency, rates, fractions, or angles. You can also format labels using scientific notation (standard format) or create a custom format string for the label. You can access advanced symbology options by clicking Advanced symbology in the Symbology pane.
In addition to formatting legend labels in the scene, you can also format the layout legend. For information about formatting legend text symbol styles and fonts in layouts, see Format a legend item.
Note:
Labels match the values specified in the color range.
Define symbology for voxel layers
Voxel layers support reading symbology in a NetCDF file defined by an attribute. Use this option when your organization has a specific color ramp for a set of data and you have automated creation of this data through a workflow creating netCDF files in Python or chaining a series of geoprocessing tools to create the voxel layer. For continuous data, you can specify the esri_color_ramp attribute and the value is the key string for the color ramp. For discrete data, you can use the esri_unique_values attribute with integer values for each unique value. You can use esri_unique_labels to optionally specify a label for each unique value.
To find the key for a color ramp, follow these steps:
- Click the View tab and click Catalog View .
- In the Contents pane, expand the Styles folder .
- Click ArcGIS Colors .
- In the Catalog View, expand Styles Classes.
- Click Color scheme to open the style class.
- Choose any color scheme and notice the value for the key.
- Use this key value for the esri_color_ramp attribute in your NetCDF file.
Use a Python snippet to add the esri_color_ramp attribute
Geoprocessing tools such as Empirical Bayesian Kriging 3D and Nearest Neighbor 3D write out the attribute by default. If you are using other workflows to generate a netCDF file, you can use the following Python snippet to add the appropriate attribute and value: Adds esri_color_ramp attribute to pm10 variable.
import netCDF4 as nc
# Open the netCDF file in write mode
ncfile = nc.Dataset('C:\\test\\airQuality.nc', 'r+')
# Access the variable to which you want to add the attribute
variable = ncfile.variables['pm10']
# Add a new attribute to the variable
variable.esri_color_ramp = 'Prediction_Analytical_2'
# Save the changes and close the netCDF file
ncfile.close()