ArcGIS Pro 3.7 API Reference Guide
ArcGIS.Desktop.Mapping Namespace / ElevationProfileResult Class / Status Property
Example

In This Topic
    Status Property (ElevationProfileResult)
    In This Topic
    Gets the result status.
    Syntax
    Public ReadOnly Property Status As SurfaceZsResultStatus
    public SurfaceZsResultStatus Status {get;}
    Example
    Get Elevation profile from the default ground surface
    {
        // get the elevation profile for a polyline / set of polylines
        Polyline polyline = PolylineBuilderEx.CreatePolyline();
        MapPoint mapPoint = MapPointBuilderEx.CreateMapPoint(34, -118, SpatialReferences.WGS84);
        List<MapPoint> mapPoints = new List<MapPoint> { mapPoint };
        var result = await MapView.Active.Map.GetElevationProfileFromSurfaceAsync([polyline]);
        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(mapPoints);
            if (result.Status == SurfaceZsResultStatus.Ok)
            {
                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");
        Polyline polyline = PolylineBuilderEx.CreatePolyline();
        MapPoint mapPoint = MapPointBuilderEx.CreateMapPoint(34, -118, SpatialReferences.WGS84);
        List<MapPoint> mapPoints = new List<MapPoint> { mapPoint };
        // get the elevation profile for a polyline / set of polylines
        // use the specific elevation surface layer
        var zResult = await MapView.Active.Map.GetElevationProfileFromSurfaceAsync([polyline], 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(mapPoints, 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;//Or any number of points you want to interpolate
                           // use a specific elevation surface
        var eleLayer = MapView.Active.Map.GetElevationSurfaceLayers().FirstOrDefault(l => l.Name == "TIN");
        // use the default ground elevation surface
        MapPoint startPt = MapPointBuilderEx.CreateMapPoint(-130, 20, SpatialReferences.WGS84);
    
        MapPoint endPt = MapPointBuilderEx.CreateMapPoint(-100, 50, SpatialReferences.WGS84);
        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
        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
    {
        MapPoint startPt = MapPointBuilderEx.CreateMapPoint(-130, 20, SpatialReferences.WGS84);
        MapPoint endPt = MapPointBuilderEx.CreateMapPoint(-100, 50, SpatialReferences.WGS84);
        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);
    }
    Requirements

    Target Platforms: Windows 11 Home, Pro, Enterprise (64 bit)

    ArcGIS Pro version: 3.4 or higher.
    See Also