Show / Hide Table of Contents

Class Surface

Surface contains elevation sources and defines a surface upon which layers and overlays can be draped.

Inheritance
object
Surface
Implements
ILoadable
INotifyPropertyChanged
object.Equals(object)
object.Equals(object, object)
object.GetHashCode()
object.GetType()
object.MemberwiseClone()
object.ReferenceEquals(object, object)
object.ToString()
Namespace: Esri.ArcGISRuntime.Mapping
Assembly: Esri.ArcGISRuntime.dll
Syntax
public class Surface : ILoadable, INotifyPropertyChanged
Remarks

The surface is used to represent the ground in a scene. It is comprised of a collection of elevation sources (ElevationSource) which are combined in the scene to generate the surface.

Surface provides methods for retrieving elevation values at one or more locations. Use ApplyElevationAsync(Geometry, CancellationToken) to efficiently determine the elevation for all vertices in a geometry. Use GetElevationAsync(MapPoint) when you only need the elevation for a single point.

Constructors

Name Description
Surface()

Initializes a new instance of the Surface class.

Properties

Name Description
BackgroundGrid

Gets or sets the grid and color settings to render the background grid of this surface.

ElevationExaggeration

Gets or sets the elevation exaggeration for the surface.

ElevationSources

Gets the collection of elevation sources in the surface.

IsEnabled

Gets or sets a value indicating whether this surface is enabled and should be rendered.

LoadError

Gets the load error of the surface (null if loading was successful).

LoadStatus

Gets the load status of the surface.

Name

Gets or sets the name for the surface.

NavigationConstraint

Gets or sets the type of navigation constraint of the surface.

Opacity

Gets or sets the opacity applied to the surface.

Methods

Name Description
ApplyElevationAsync(Geometry, CancellationToken)

Gets and applies an elevation (in meters) for each point in the input geometry.

CancelLoad()

Cancels an ongoing load.

GetElevationAsync(MapPoint)

Gets the elevation (in meters) for the specified location on the surface.

LoadAsync()

Initiates loading of the surface.

RetryLoadAsync()

Retry loading the surface.

Events

Name Description
LoadStatusChanged

Occurs when the surface LoadStatus property is changed.

Loaded

Occurs when the surface is loaded.

PropertyChanged

Occurs when a property value changes.

Applies to

TargetVersions
.NET Standard 2.0100.3 - 200.8
.NET100.13 - 300.0
.NET Windows100.13 - 300.0
.NET Android200.0 - 300.0
.NET iOS200.0 - 300.0
.NET Framework100.0 - 200.8
Xamarin.Android100.0 - 100.15
Xamarin.iOS100.0 - 100.15
UWP100.0 - 200.8

Relevant samples

Add an integrated mesh layer: View an integrated mesh layer from a scene service.
Change atmosphere effect: Changes the appearance of the atmosphere in a scene.
Choose camera controller: Control the behavior of the camera in a scene.
In this article
Provide feedback
Back to top Copyright © 2025 Esri.