ArcObjects Library Reference (GeoDatabaseExtensions)  

IDynamicSurface2.InterpolateShapeVertices Method

Interpolates z values for a defined geometric shape.

[Visual Basic .NET]
Public Sub InterpolateShapeVertices ( _
    ByVal pInShape As IGeometry, _
    ByVal Resolution As Double, _
    ByVal Type As esriSurfaceInterpolationType, _
    ByVal pTrackCancel As ITrackCancel, _
    ByRef ppOutShape As IGeometry _
)
[C#]
public void InterpolateShapeVertices (
    IGeometry pInShape,
    double Resolution,
    esriSurfaceInterpolationType Type,
    ITrackCancel pTrackCancel,
    ref IGeometry ppOutShape
);
[C++]
HRESULT InterpolateShapeVertices(
  IGeometry* pInShape,
  double Resolution,
  esriSurfaceInterpolationType Type,
  ITrackCancel* pTrackCancel,
  IGeometry** ppOutShape
);
[C++]

Parameters

pInShape [in]

  pInShape is a parameter of type IGeometry

Resolution [in]   Resolution is a parameter of type double Type [in]

  Type is a parameter of type esriSurfaceInterpolationType

pTrackCancel [in]

  pTrackCancel is a parameter of type ITrackCancel

ppOutShape [out]

  ppOutShape is a parameter of type IGeometry

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Description

pInShape is the input geometry for which heights will be interpolated. The shape types supported are points, multipoints, polylines, and polygons. Heights will only be calculated for input vertices. No densification of polyline or polygon vertices takes place.

Resolution controls which pyramid level of the terrain to use as a surface. Depending on the type of filter used to generate the terrain pyramid, resolution represents either the z-tolerance or window size of the desired pyramid level. Pass a value of 0.0 to use the full resolution surface.

Type is used to control which interpolant is applied; linear or natural neighbors.

pTrackCancel supports process interruption. This can be set to NULL ('Nothing' in VB).

pOutShape is a placeholder for the resulting 3D geometry. It does not need to reference an instantiated object. The geometry will be created by the function. The result will be NULL ('Nothing' in VB) if any part of the geometry falls outside the surface.

 

Notes

This function is best used to interpolate heights for one feature that crosses over multiple terrain tiles which, at the desired resolution, can't all be held in memory.  An alternative is IDynamicSurface2.InterpolateFeatureClassVertices, which is optimized for processing multiple features. If multiple features fall within an extent of the terrain which can be held in memory (estimate this using ITerrain.GetPointCount) then consider using IDynamicSurface.GetTin followed by ISurface.InterpolateShapeVertices on the TIN. Another approach would be to retreive a TIN using ITerrainLayer.GetCurrentSurface followed by ISurface.InterpolateShapeVertices on the TIN if the current representation of a terrain layer's surface is sufficient.

See Also

IDynamicSurface2 Interface