ArcGIS Pro 3.4 API Reference Guide
ArcGIS.Desktop.Mapping Namespace / TinLayer Class / InterpolateShape Method / InterpolateShape(Geometry,SurfaceInterpolationMethod) Method
The geometry to be interpolated. It must be a point, multipoint, polyline or polygon.
The method of interpolation. The default method of interpolation for TINs is SurfaceInterpolationMethod.Linear./
Example

In This Topic
    InterpolateShape(Geometry,SurfaceInterpolationMethod) Method
    In This Topic
    Interpolates Z values for a geometric shape from the surface layer. This method must be called on the MCT. Use QueuedTask.Run.
    Syntax
    Public Overloads Function InterpolateShape( _
       ByVal geometry As Geometry, _
       ByVal interpolationMethod As SurfaceInterpolationMethod _
    ) As Geometry

    Parameters

    geometry
    The geometry to be interpolated. It must be a point, multipoint, polyline or polygon.
    interpolationMethod
    The method of interpolation. The default method of interpolation for TINs is SurfaceInterpolationMethod.Linear./

    Return Value

    A ArcGIS.Core.Geometry.Geometry with surface elevation z values.
    Exceptions
    ExceptionDescription
    geometry cannot be null.
    The set of parameters is invalid for this surface. See CanInterpolateShape.
    An exception occurred within the InterpolateShape calculation.
    This method or property must be called within the lambda passed to QueuedTask.Run.
    Remarks
    Portions of the input not falling within the interpolation zone of the surface will be clipped.

    InterpolateShape will handle differences in spatial reference between the input shape and the surface. It will project (a copy of) the input geometry to match the surface for the sake of interpolation. It will then re-project the output geometry so it's the same as the input shape.

    See also InterpolateShape(Geometry,SurfaceInterpolationMethod,Double,Double) if you wish to specify specific values for densification of the geometry before interpolation occurs depending upon your interpolation method.

    Example
    Interpolate Shape
    var tinLayer = MapView.Active.Map.GetLayersAsFlattenedList().OfType<TinLayer>().FirstOrDefault();
    await QueuedTask.Run(() =>
    {
      Geometry output = null;
      // interpolate z values for a geometry
      if (tinLayer.CanInterpolateShape(polyline))
        output = tinLayer.InterpolateShape(polyline, SurfaceInterpolationMethod.NaturalNeighbor);
    
      if (output != null)
      {
        // process the output
      }
    
    
      // densify the shape before interpolating
      if (tinLayer.CanInterpolateShape(polygon))
        output = tinLayer.InterpolateShape(polygon, SurfaceInterpolationMethod.Linear, 0.01, 0);
    
      if (output != null)
      {
        // process the output
      }
    
    });
    Requirements

    Target Platforms: Windows 11, Windows 10

    ArcGIS Pro version: 3.4 or higher.
    See Also