Skip to content
import ElevationInfo from "@arcgis/core/symbols/support/ElevationInfo.js";
Inheritance:
ElevationInfoAccessor
Since
ArcGIS Maps SDK for JavaScript 4.34

Specifies how elements like features, observers, targets or flow are placed on the vertical axis (z). This property may only be used in a SceneView. See the ElevationInfo sample for an example of how this property may be used.

If elevationInfo is not set, the elevation mode is picked on the fly for each feature:

  • Features with z-values default to absolute-height.
  • Features without z-values:
    • Polylines, polygons, and points drawn with ObjectSymbol3DLayer default to on-the-ground.
    • Points drawn with IconSymbol3DLayer default to relative-to-ground.

Feature services do not persist elevationInfo, so elevation settings from publishing tools such as ArcGIS Pro are lost unless saved in a web scene.

Constructors

Constructor

Constructor
Parameters
ParameterTypeDescriptionRequired
properties
See the properties table for a list of all the properties that may be passed into the constructor.

Properties

Any properties can be set, retrieved or listened to. See the Watch for changes topic.

declaredClass

readonlyinherited Property
Type
string
Inherited from: Accessor

The name of the class. The declared class name is formatted as esri.folder.className.

featureExpressionInfo

autocast Property
Type
FeatureExpressionInfo | null | undefined

Defines how to override an element's Z-value based on its attributes.

mode

autocast Property
Type
Modes

Defines how the element is placed with respect to the terrain surface or 3D objects in the scene. If the geometry consists of multiple points (e.g. lines or polygons), the elevation is evaluated separately for each point. See the table below for a list of possible values.

elevation-info

ModeDescription
on-the-groundElements are aligned to the Ground. If the scene contains an IntegratedMeshLayer or IntegratedMesh3DTilesLayer, then elements are aligned to the IntegratedMeshLayer or IntegratedMesh3DTilesLayer. If elements have z-values, then the z-values are ignored in this mode. Elements with 2D symbols are draped on the Ground or IntegratedMeshLayer or IntegratedMesh3DTilesLayer. This is the default mode for layers without z-values containing Polyline, Polygon or Point rendered with ObjectSymbol3DLayer.
absolute-heightElements are placed at an absolute elevation (z-value) above sea level. This z-value is determined by the geometry's z-value (if present). If featureExpressionInfo is defined, the result of the expression is used instead of the geometry's z-value. This mode doesn't take the elevation of the Ground or any other layers into account. This is the default value of elements with any geometry type where hasZ = true.
relative-to-groundElements are placed at an elevation relative to the Ground or IntegratedMeshLayer or IntegratedMesh3DTilesLayer. The element's elevation is determined by summing up the elevation of the Ground or IntegratedMeshLayer or IntegratedMesh3DTilesLayer and the geometry's z-value (if present). If featureExpressionInfo is defined, the result of the expression is used instead of the geometry's z-value. If the geometries don't have z-values, relative-to-ground is the default value for Point geometries rendered with IconSymbol3DLayers.
relative-to-sceneElements are aligned to extruded polygons, meshes, 3D Object SceneLayers or BuildingSceneLayers, depending on which one has higher elevation. If the element is not directly above a building or any other element, it is aligned to the elevation of the Ground or the IntegratedMeshLayer or IntegratedMesh3DTilesLayer. If present, the geometry's z-value is added to the elevation. If featureExpressionInfo is defined, the result of the expression is used instead of the geometry's z-value.

offset

Property
Type
number | null | undefined

An elevation offset, which is added to the vertical position of the element. If unit is not defined, the offset is in meters. When mode = "on-the-ground", this property has no effect.

unit

Property
Type
ElevationUnit | null | undefined

The unit for featureExpressionInfo and offset values.

Methods

MethodSignatureClass
fromJSON
inherited static
fromJSON(json: any): any
clone
inherited
clone(): this
toJSON
inherited
toJSON(): any

fromJSON

inheritedstatic Method
Signature
fromJSON (json: any): any
Inherited from: JSONSupportMixin

Creates a new instance of this class and initializes it with values from a JSON object generated from an ArcGIS product. The object passed into the input json parameter often comes from a response to a query operation in the REST API or a toJSON() method from another ArcGIS product. See the Using fromJSON() topic in the Guide for details and examples of when and how to use this function.

Parameters
ParameterTypeDescriptionRequired
json
any

A JSON representation of the instance in the ArcGIS format. See the ArcGIS REST API documentation for examples of the structure of various input JSON objects.

Returns
any

Returns a new instance of this class.

clone

inherited Method
Signature
clone (): this
Inherited from: ClonableMixin

Creates a deep clone of this object. Any properties that store values by reference will be assigned copies of the referenced values on the cloned instance.

Returns
this

A deep clone of the class instance that invoked this method.

toJSON

inherited Method
Signature
toJSON (): any
Inherited from: JSONSupportMixin

Converts an instance of this class to its ArcGIS portal JSON representation. See the Using fromJSON() guide topic for more information.

Returns
any

The ArcGIS portal JSON representation of an instance of this class.