ElevationSampler

AMD: require(["esri/layers/support/ElevationSampler"], (ElevationSampler) => { /* code goes here */ });
ESM: import ElevationSampler from "@arcgis/core/layers/support/ElevationSampler.js";
Class: esri/layers/support/ElevationSampler
Since: ArcGIS Maps SDK for JavaScript 4.7

A cache of elevation values created from an elevation service or the GroundView used for synchronously querying elevation information for geometries. This class does not have a constructor. You can create an instance of this class by using ElevationLayer.createElevationSampler() or Ground.createElevationSampler() methods. The elevation sampler created from the Ground will sample data from the first elevation layer that has data available. To control the layer used for elevation sampling and the sampling resolution, use ElevationLayer.createElevationSampler().

map.ground.load()
  .then(function() {
    // create an elevation sampler from a given extent
    return view.map.ground.createElevationSampler(extent);
  })
  .then(function(elevationSampler) {
    // use the elevation sampler to get z-values for a point, multipoint or polyline geometry
    let zEnrichedGeometry = elevationSampler.queryElevation(geometry);
  });

An instance of this class is also available in GroundView.elevationSampler. This can be used when the elevation values need to reflect the elevation currently displayed in the view.

let elevationSampler = view.groundView.elevationSampler;
// listen for elevation changes in the view
elevationSampler.on('changed', function() {
  // enrich geometry with z-values from the elevation displayed in the view
  let zEnrichedGeometry = elevationSampler.queryElevation(point);
});
See also

Property Overview

Name Type Summary Class

The minimum and maximum resolution of the data in the sampler.

ElevationSampler

The extent within which the sampler can be queried.

ElevationSampler

The value that is used to represent areas where there is no data available.

ElevationSampler

The spatial reference of the sampler.

ElevationSampler

Property Details

demResolution

Property
demResolution Objectreadonly

The minimum and maximum resolution of the data in the sampler.

Properties
min Number

The minimum resolution.

max Number

The maximum resolution.

extent

Property
extent Extent |null |undefinedreadonly
Since: ArcGIS Maps SDK for JavaScript 4.9 ElevationSampler since 4.7, extent added at 4.9.

The extent within which the sampler can be queried.

noDataValue

Property
noDataValue Number |undefinedreadonly
Since: ArcGIS Maps SDK for JavaScript 4.9 ElevationSampler since 4.7, noDataValue added at 4.9.

The value that is used to represent areas where there is no data available.

spatialReference

Property
spatialReference SpatialReferencereadonly
Since: ArcGIS Maps SDK for JavaScript 4.24 ElevationSampler since 4.7, spatialReference added at 4.24.

The spatial reference of the sampler.

Method Overview

Name Return Type Summary Class

Get elevation for a coordinate specified in the spatial reference of the sampler.

ElevationSampler

Registers an event handler on the instance.

ElevationSampler

Query elevation for a Point, Polyline or Multipoint geometry.

ElevationSampler

Method Details

elevationAt

Method
elevationAt(x, y){Number}
Since: ArcGIS Maps SDK for JavaScript 4.24 ElevationSampler since 4.7, elevationAt added at 4.24.

Get elevation for a coordinate specified in the spatial reference of the sampler. This is typically faster than ElevationSampler when getting elevation for many coordinates that are guaranteed to be in the spatial reference of the sampler. If the coordinate is outside of the elevation sampler extent, then the samplers ElevationSampler will be returned.

Parameters
x Number

The x coordinate.

y Number

The y coordinate.

Returns
Type Description
Number The sampled elevation.

on

Method
on(type, handler?){Object}

Registers an event handler on the instance. Call this method to hook an event with a listener. See the Events summary table for a list of listened events.

Parameters

The name of the event or the events to listen for.

handler? Function

The function to call when the event is fired, if modifiers were specified.

Returns
Type Description
Object Returns an event handler with a remove() method that can be called to stop listening for the event.
Property Type Description
remove Function When called, removes the listener from the event.
Example
view.groundView.elevationSampler.on("changed", function(evt) {
 console.log("elevation has changed");
});

queryElevation

Method
queryElevation(geometry){Point |Multipoint |Polyline}

Query elevation for a Point, Polyline or Multipoint geometry. A query will return a new geometry for which the z-values for each coordinate in the geometry are obtained from the elevation sampler. If the geometry used for the query is outside of the elevation sampler extent, then the returned geometry has the samplers ElevationSampler as z-values.

Parameter

The geometry to use for sampling elevation data.

Returns
Type Description
Point | Multipoint | Polyline The sampled geometry.

Event Overview

Name Type Summary Class

Fires when the data in the sampler has changed.

ElevationSampler

Event Details

changed

Event
changed

Fires when the data in the sampler has changed. This event is only relevant for dynamic elevation samplers such as the elevation sampler on the GroundView.

Example
view.groundView.elevationSampler.on("changed", function(evt) {
 console.log("elevation has changed");
});

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.