ArcGIS Pro 3.5 API Reference Guide
ArcGIS.Desktop.Mapping Namespace / ElevationProfileResult Class
Members Example

In This Topic
    ElevationProfileResult Class
    In This Topic
    Defines the result of calling Map.GetElevationProfileFromSurface().
    Object Model
    ElevationProfileResult ClassPolyline Class
    Syntax
    public class ElevationProfileResult 
    Public Class ElevationProfileResult 
    Example
    Get Elevation profile from the default ground surface
    // get the elevation profile for a polyline / set of polylines
    var result = await MapView.Active.Map.GetElevationProfileFromSurfaceAsync([lineGeom]);
    if (result.Status == SurfaceZsResultStatus.Ok)
    {
      var polylineZ = result.Polyline;
    
      // process the polylineZ
    }
    
    // get the elevation profile for a set of points
    result = await MapView.Active.Map.GetElevationProfileFromSurfaceAsync(pts);
    if (result.Status == SurfaceZsResultStatus.Ok)
    {
      var polylineZ = result.Polyline;
    
      // process the polylineZ
    }
    Get Elevation profile from a specific surface
    // find a specific elevation surface layer
    var eleLayer = MapView.Active.Map.GetElevationSurfaceLayers().FirstOrDefault(l => l.Name == "TIN");
    
    // get the elevation profile for a polyline / set of polylines
    // use the specific elevation surface layer
    var zResult = await MapView.Active.Map.GetElevationProfileFromSurfaceAsync([lineGeom], eleLayer);
    if (zResult.Status == SurfaceZsResultStatus.Ok)
    {
      var polylineZ = zResult.Polyline;
    
      // process the polylineZ
    }
    
    // get the elevation profile for a set of points
    // use the specific elevation surface layer
    zResult = await MapView.Active.Map.GetElevationProfileFromSurfaceAsync(pts, eleLayer);
    if (zResult.Status == SurfaceZsResultStatus.Ok)
    {
      var polylineZ = zResult.Polyline;
    
      // process the polylineZ
    }
    Interpolate a line between two points and calculate the elevation profile
    int numPoints = 20;
    
    // use the default ground elevation surface
    var result = await MapView.Active.Map.GetElevationProfileFromSurfaceAsync(startPt, endPt, numPoints);
    if (result.Status == SurfaceZsResultStatus.Ok)
    {
      var polylineZ = result.Polyline;
    
      // process the polylineZ
    }
    
    // use a specific elevation surface
    var eleLayer = MapView.Active.Map.GetElevationSurfaceLayers().FirstOrDefault(l => l.Name == "TIN");
    result = await MapView.Active.Map.GetElevationProfileFromSurfaceAsync(startPt, endPt, numPoints, eleLayer);
    if (result.Status == SurfaceZsResultStatus.Ok)
    {
      var polylineZ = result.Polyline;
    
      // process the polylineZ
    }
    Show Elevation profile graph using an ElevationProfileResult
    var elevProfileResult = await MapView.Active.Map.GetElevationProfileFromSurfaceAsync(startPt, endPt, 10);
    if (elevProfileResult.Status != SurfaceZsResultStatus.Ok)
      return;
    
    if (!MapView.Active.CanShowElevationProfileGraph())
      return;
    
    // show the elevation profile using the result
    MapView.Active.ShowElevationProfileGraph(elevProfileResult);
    
    Inheritance Hierarchy

    System.Object
       ArcGIS.Desktop.Mapping.ElevationProfileResult

    Requirements

    Target Platforms: Windows 11, Windows 10

    ArcGIS Pro version: 3.4 or higher.
    See Also