ArcGIS Pro 3.4 API Reference Guide
ArcGIS.Desktop.Mapping Namespace / SurfaceZsResult Class
Members Example Version

SurfaceZsResult Class
Defines the result of calling Map.GetZsFromSurfaceAsync()
Object Model
SurfaceZsResult ClassGeometry Class
Syntax
public sealed class SurfaceZsResult 
Example
Get Z values from the default ground surface
var mapPoint = await QueuedTask.Run<MapPoint>(() =>
{
  MapPoint mapCentergeometry = MapView.Active.Map.CalculateFullExtent().Center;
  return mapCentergeometry;
});
//Pass any Geometry type to GetZsFromSurfaceAsync
var surfaceZResult = await MapView.Active.Map.GetZsFromSurfaceAsync(mapPoint);
if (surfaceZResult.Status == SurfaceZsResultStatus.Ok)
{
  // cast to a mapPoint
  var mapPointZ = surfaceZResult.Geometry as MapPoint;
  var z = mapPointZ.Z;
}
Get Z values from a specific surface
var eleLayer = MapView.Active.Map.GetElevationSurfaceLayers().FirstOrDefault(l => l.Name == "TIN");
//Pass any Geometry type to GetZsFromSurfaceAsync
var zResult = await MapView.Active.Map.GetZsFromSurfaceAsync(polyline, eleLayer);
if (zResult.Status == SurfaceZsResultStatus.Ok)
{
  var polylineZ = zResult.Geometry as Polyline;

  // process the polylineZ
}
Get Z values from a layer
var tinLayer = MapView.Active.Map.GetLayersAsFlattenedList().OfType<TinLayer>().FirstOrDefault();
await QueuedTask.Run(() =>
{
  if (tinLayer.CanGetZs())
  {
    // get z value for a mapPoint
    var zResult = tinLayer.GetZs(mapPoint);
    if (zResult.Status == SurfaceZsResultStatus.Ok)
    {
      // cast to a mapPoint
      var mapPointZ = surfaceZResult.Geometry as MapPoint;
      var z = mapPointZ.Z;
    }

    // get z values for a polyline
    zResult = tinLayer.GetZs(polyline);
    if (zResult.Status == SurfaceZsResultStatus.Ok)
    {
      // cast to a mapPoint
      var polylineZ = surfaceZResult.Geometry as Polyline;
    }
  }
});
Get Z values from a TIN Layer
var tinLayer = MapView.Active.Map.GetLayersAsFlattenedList().OfType<TinLayer>().FirstOrDefault();
await QueuedTask.Run(() =>
{
  if (tinLayer.CanGetZs())
  {
    // get z value for a mapPoint
    var zResult = tinLayer.GetZs(mapPoint);
    if (zResult.Status == SurfaceZsResultStatus.Ok)
    {
      // cast to a mapPoint
      var mapPointZ = zResult.Geometry as MapPoint;
      var z = mapPointZ.Z;
    }

    // get z values for a polyline
    zResult = tinLayer.GetZs(polyline);
    if (zResult.Status == SurfaceZsResultStatus.Ok)
    {
      // cast to a Polyline
      var polylineZ = zResult.Geometry as Polyline;
    }
  }
});
Inheritance Hierarchy

System.Object
   ArcGIS.Desktop.Mapping.SurfaceZsResult

Requirements

Target Platforms: Windows 11, Windows 10

ArcGIS Pro version: 3 or higher.
See Also