Provides access to members that control TIN surfaces.
Members
Name | Description | |
---|---|---|
AsPolygons | Converts the surface to a polygon feature class representing slope or aspect. | |
CanDoCurvature | Indicates if earth curvature can be applied. | |
Contour | Output contours based on the specified root value and interval. | |
ContourList | Output a list of contours corresponding to the specified eleveation values. | |
ConvertToMultiPatches | Convert TIN into Multipatches. | |
DecimateNodes | Outputs a new TIN with reduced number of nodes. | |
DecimateNodesByCount | Outputs a new TIN with reduced number of nodes. | |
Domain | The interpolation domain of the surface. | |
FindNormal | Restricted. | |
Generalize | Outputs a generalized TIN. | |
GeneralizeByNodeCount | Outputs a generalized TIN. | |
GetAspectDegrees | Returns the aspect at the specified location in degrees. | |
GetAspectRadians | Returns the aspect at the specified location in radians. | |
GetContour | Returns a countour passing through the queried point. | |
GetElevation | Returns the z value of the specified location. | |
GetIntensity | Returns the hillshade brightness value of the plane defined by the three points. | |
GetLineOfSight | Computes the visibility of a line-of-sight from the observer to the target. | |
GetNormal | Returns the normal vector to the specified location. | |
GetPartialVolumeAndArea | Returns portion of the TIN's volume above or below an input z value. | |
GetProfile | Returns a polyline with z values interpolated from the surface. | |
GetProjectedArea | Returns the projected area of the surface above or below an input z value. | |
GetSlopeDegrees | Returns the slope at the specified location in degrees. | |
GetSlopePercent | Returns the slope at the specified location in percent. | |
GetSlopeRadians | Returns the slope at the specified location in radians. | |
GetSteepestPath | Returns the steepest path downhill from the specified point. | |
GetSurfaceArea | Returns the area measured on its surface above or below an input z value. | |
GetSurfaceElement | Returns the surface element at the specified location. | |
GetTriAspectDegrees | Restricted. | |
GetTriAspectRadians | Restricted. | |
GetTriNormal | Restricted. | |
GetTriSlopeDegrees | Restricted. | |
GetTriSlopePercent | Restricted. | |
GetTriSlopeRadians | Restricted. | |
GetUnitTriNormal | Restricted. | |
GetVolume | Returns the volume above or below an input z value. | |
InterpolateAsMultiPatch | Interpolate the input Polygon and output as a Multipatch. | |
InterpolateShape | Interpolates z values for a defined geometric shape. | |
InterpolateShapeVertices | Interpolates z values for a defined geometric shape at its vertices only. | |
IsVoidZ | Returns TRUE if the passed value is equal to the surface's void value. | |
Locate | Returns the intersection of the query ray and the surface. | |
LocateAll | Returns the distances of intersections of the query ray and the surface. | |
LocateMultiple | Returns the intersections of the query ray and the surface. | |
QueryElevationBand | Restricted. | |
QueryNormal | Returns the vector normal to the specified triangle. | |
QueryPixelBlock | Derives slope, aspect, hillshade, or elevation from the input surface and writes the result to the provided PixelBlock. | |
QuerySurfaceLength | Returns the length of an input polyline measured on the surface. | |
RasterInterpolationMethod | The elevation interpolation method for rasterization. | |
SunPosition | The vector indicating the direction of the light source relative to the scene. | |
Z | The surface Z = f(x,y). | |
ZFactor | Multiplication factor applied to all z values to provide unit-congruency between coordinate components. |
ITinSurface2.ConvertToMultiPatches Method
Convert TIN into Multipatches.
Public Sub ConvertToMultiPatches ( _
ByVal pFeatureClass As IFeatureClass, _
ByVal maxPatchSize As Integer, _
ByVal maxStripSize As Integer _
)
public void ConvertToMultiPatches (
IFeatureClass pFeatureClass,
int maxPatchSize,
int maxStripSize
);
Description
Converts the TIN to a feature class comprised of one or more multipatches. To perform this the TIN is turned into triangle strips that are used as parts in output multipatches.
pFeatureClass is the target. It needs to be an existing, empty, multipatch based FeatureClass.
maxPatchSize is the maximum number of triangle strips to use as parts for each output multipatch.
maxStripSize is the maximum number of vertices to use in each triangle strip.
ITinSurface2.DecimateNodes Method
Outputs a new TIN with reduced number of nodes.
Public Sub DecimateNodes ( _
ByVal pAreaOfInterest As IEnvelope, _
ByVal ZTolerance As Double, _
ByVal bCopyBreakline As Boolean, _
ByRef pMaxRemainingNodeCount As Object, _
ByRef ppNewTin As ITin, _
[ByRef pbToleranceAchieved As Object] _
)
public void DecimateNodes (
IEnvelope pAreaOfInterest,
double ZTolerance,
bool bCopyBreakline,
ref object pMaxRemainingNodeCount,
ref ITin ppNewTin,
ref object pbToleranceAchieved
);
Description
Produces an output TIN that is constructed by removing nodes from an input TIN. The resulting TIN's linearly interpolated surface is within a user specified vertical tolerance of the input.
pAreaOfInterest is an Envelope that constrains where nodes are removed. This can be a NULL pointer ('Nothing' in VB) in which case the entire data area of the input TIN is used.
zTolerance is the maximum amount of height the output TIN is allowed to deviate fom the input. Specify a value in units equal to the Z units of the input.
bCopyBreaklines is an optional boolean parameter, which defaults to FALSE, used to indicate whether breaklines should be copied from the input TIN to the output. These are not generalized in any way. Note, this parameter is in reference to breaklines on the inside of the TIN. The data area boundary is always copied into the output TIN as a breakline, regardless of the setting of this parameter, in order to properly enforce the interpolation zone.
maxRemainingNodeCount is an estimate of the maximum number of nodes allowed in the output TIN. The decimation process will stop when the output TIN has exceeded this count. If this happens, the vertical tolerance has not been achieved and the output parameter bToleranceAchieved will be set to FALSE. By default, this parameter is not set, there is no maximum limit of nodes.
pNewTin is the output TIN. Pass a compatible TIN interface pointer (e.g. ITin) to receive the object.
bToleranceAchieved is an optional output boolean parameter. It's set to TRUE if the zTolerance is achieved or FALSE if not because a specified maxRemainingNodeCount was reached.
ITinSurface2.DecimateNodesByCount Method
Outputs a new TIN with reduced number of nodes.
Public Sub DecimateNodesByCount ( _
ByVal pAreaOfInterest As IEnvelope, _
ByVal maxRemainingNodeCount As Integer, _
ByVal bCopyBreakline As Boolean, _
ByRef ppNewTin As ITin _
)
public void DecimateNodesByCount (
IEnvelope pAreaOfInterest,
int maxRemainingNodeCount,
bool bCopyBreakline,
ref ITin ppNewTin
);
Description
Produces an output TIN that is constructed by removing nodes from an input TIN.
pAreaOfInterest is an Envelope that constrains where nodes are removed. This can be a NULL pointer ('Nothing' in VB) in which case the entire data area of the input TIN is used.
maxRemainingNodeCount is an estimate of the maximum number of nodes allowed in the output TIN. The decimation process will stop when the output TIN has exceeded this count.
bCopyBreaklines is an optional boolean parameter, which defaults to FALSE, used to indicate whether breaklines should be copied from the input TIN to the output. These are not generalized in any way. Note, this parameter is in reference to breaklines on the inside of the TIN. The data area boundary is always copied into the output TIN as a breakline, regardless of the setting of this parameter, in order to properly enforce the interpolation zone.
pNewTin is the output TIN. Pass a compatible TIN interface pointer (e.g. ITin) to receive the object.
ITinSurface2.Generalize Method
Outputs a generalized TIN.
Public Sub Generalize ( _
ByVal pAreaOfInterest As IEnvelope, _
ByVal ZTolerance As Double, _
ByRef pMaxRemainingNodeCount As Object, _
ByRef ppNewTin As ITin, _
[ByRef pbToleranceAchieved As Object] _
)
public void Generalize (
IEnvelope pAreaOfInterest,
double ZTolerance,
ref object pMaxRemainingNodeCount,
ref ITin ppNewTin,
ref object pbToleranceAchieved
);
ITinSurface2.GeneralizeByNodeCount Method
Outputs a generalized TIN.
Public Sub GeneralizeByNodeCount ( _
ByVal pAreaOfInterest As IEnvelope, _
ByVal maxRemainingNodeCount As Integer, _
ByRef ppNewTin As ITin _
)
public void GeneralizeByNodeCount (
IEnvelope pAreaOfInterest,
int maxRemainingNodeCount,
ref ITin ppNewTin
);
ITinSurface2.InterpolateAsMultiPatch Method
Interpolate the input Polygon and output as a Multipatch.
Public Sub InterpolateAsMultiPatch ( _
ByVal pShape As IPolygon, _
ByVal maxStripSize As Integer, _
ByRef ppMultiPatch As IMultiPatch _
)
public void InterpolateAsMultiPatch (
IPolygon pShape,
int maxStripSize,
ref IMultiPatch ppMultiPatch
);
Description
Takes a 2-D polygon and converts it into a multipatch which, by definition, is 3-D. The polygon boundary heights are interpolated from the TIN using linear interpolation. The triangles from the TIN, along with the integrated polygon boundary, are extracted as triangle strips. The strips are used to populate the output multipatch geometry.
pShape is the input polygon.
MaxStripSize controls the maximum number of points used to create an individual triangle strip. Note that each multipatch is usually comprised of multiple strips. The value must be 3 or larger. The recommended range is between 128 and 2048.
pMultiPatch is the resulting geometry. What you provide for this parameter need not reference an instantiated object. Just provide an interface pointer and the function will create the multipatch.
ITinSurface2.LocateMultiple Method
Returns the intersections of the query ray and the surface.
Public Function LocateMultiple ( _
ByVal pRay As IRay _
) As IMultipoint
public IMultipoint LocateMultiple (
IRay pRay
);
Description
Returns the intersection points between a 3D ray and the surface.
The returned multipoint will contain 0..n points depending on the number of intersections between the ray and the surface.
Notes:
Consider using ITinSurface3.QueryLocate or ITinSurface3.QueryLocateWithinDistance when inside a loop, for the sake of efficiency, since those methods allow you to reuse output point and multipoint objects whereas this method always creates new ones.
Inherited Interfaces
Interfaces | Description |
---|---|
ITinSurface | Provides access to members that control TIN surfaces. |
ISurface | Provides access to members that control surfaces. |
IFunctionalSurface | Provides access to information about the functional surface, generating heights given x,y locations. Also see IFunctionalSurface2. |
Classes that implement ITinSurface2
Classes | Description |
---|---|
Tin | The Esri TIN component. |