ArcGIS Pro 3.7 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 requires a 3D Analyst license. 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.
    A 3D Analyst license is required.
    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.

    Any curved line or polygon segments will be densified using a sampling distance based on the edges produced by the triangulated surface. If the curve is shorter than the sampling size, the curve will be simplified into a two-point line using its start and end points. This densification procuess occurs before the interpolation. If you wish to specify specific values for the densification of the geometry, see InterpolateShape(Geometry,SurfaceInterpolationMethod,Double,Double).

    Example
    Interpolate Shape
    {
      // Note: Needs QueuedTask to run
      // Note: Needs 3d Analyst license to run
      {
        ArcGIS.Core.Geometry.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 Home, Pro, Enterprise (64 bit)

    ArcGIS Pro version: 3.4 or higher.
    See Also