com.esri.arcgis.geodatabase
Interface ITinSurface

All Superinterfaces:
IFunctionalSurface, ISurface, Serializable
All Known Subinterfaces:
ITinSurface2
All Known Implementing Classes:
Tin

public interface ITinSurface
extends ISurface, Serializable

Provides access to members that control TIN surfaces.

Superseded By

ITinSurface2

Product Availability

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

Supported Platforms

Windows, Solaris, Linux


Method Summary
 double getIntensity(_WKSPointZ pPi, _WKSPointZ pPj, _WKSPointZ pPk)
          Returns the hillshade brightness value of the plane defined by the three points.
 void getPartialVolumeAndArea(double reference, int type, IEnumTinTriangle pTriangles, Object[] pVolume, Object[] pSurfaceArea, Object[] pProjectedArea)
          Returns portion of the TIN's volume above or below an input z value.
 int getRasterInterpolationMethod()
          The elevation interpolation method for rasterization.
 _WKSPointZ getSunPosition()
          The vector indicating the direction of the light source relative to the scene.
 ITinSurfaceElement getSurfaceElement(IPoint pPoint)
          Returns the surface element at the specified location.
 void setRasterInterpolationMethod(int pType)
          The elevation interpolation method for rasterization.
 void setSunPosition(_WKSPointZ pPosition)
          The vector indicating the direction of the light source relative to the scene.
 
Methods inherited from interface com.esri.arcgis.geodatabase.ISurface
asPolygons, contour, contourList, getAspectDegrees, getAspectRadians, getContour, getElevation, getLineOfSight, getProfile, getProjectedArea, getSlopeDegrees, getSlopePercent, getSlopeRadians, getSteepestPath, getSurfaceArea, getVolume, getZFactor, interpolateShape, interpolateShapeVertices, isVoidZ, locate, locateAll, queryNormal, queryPixelBlock, querySurfaceLength, setZFactor
 
Methods inherited from interface com.esri.arcgis.geometry.IFunctionalSurface
getDomain, getZ
 

Method Detail

setRasterInterpolationMethod

void setRasterInterpolationMethod(int pType)
                                  throws IOException,
                                         AutomationException
The elevation interpolation method for rasterization.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
pType - A com.esri.arcgis.geodatabase.esriSurfaceInterpolationType constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getRasterInterpolationMethod

int getRasterInterpolationMethod()
                                 throws IOException,
                                        AutomationException
The elevation interpolation method for rasterization.

Description

The interpolation method used when converting a TIN to a raster using ITinSurface.QueryPixelBlock.

esriSurfaceInterpolationType can be set to either esriLinearInterpolation or esriNaturalNeighborInterpolation.

Linear interpolation considers each triangle as a flat plane. For each cell center in the output raster the encompassing triangle is found and the height for the location on the plane is determined.

Natural neighbor interpolation uses an area based weighting scheme to calculate height for output raster cell centers and produces smoother results than linear interpolation. The closest TIN nodes in all directions found for each raster cell center are used in the calculation. Hard breaklines present in the TIN will influence results as the surface definition is not continuously smooth across them with this interpolator.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Returns:
A com.esri.arcgis.geodatabase.esriSurfaceInterpolationType constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setSunPosition

void setSunPosition(_WKSPointZ pPosition)
                    throws IOException,
                           AutomationException
The vector indicating the direction of the light source relative to the scene.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
pPosition - A Structure: com.esri.arcgis.system._WKSPointZ (A com.esri.arcgis.system._WKSPointZ COM typedef) (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSunPosition

_WKSPointZ getSunPosition()
                          throws IOException,
                                 AutomationException
The vector indicating the direction of the light source relative to the scene.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Returns:
A Structure: com.esri.arcgis.system._WKSPointZ (A com.esri.arcgis.system._WKSPointZ COM typedef)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getIntensity

double getIntensity(_WKSPointZ pPi,
                    _WKSPointZ pPj,
                    _WKSPointZ pPk)
                    throws IOException,
                           AutomationException
Returns the hillshade brightness value of the plane defined by the three points.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
pPi - A Structure: com.esri.arcgis.system._WKSPointZ (A com.esri.arcgis.system._WKSPointZ COM typedef) (in)
pPj - A Structure: com.esri.arcgis.system._WKSPointZ (A com.esri.arcgis.system._WKSPointZ COM typedef) (in)
pPk - A Structure: com.esri.arcgis.system._WKSPointZ (A com.esri.arcgis.system._WKSPointZ COM typedef) (in)
Returns:
The pIntensity
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSurfaceElement

ITinSurfaceElement getSurfaceElement(IPoint pPoint)
                                     throws IOException,
                                            AutomationException
Returns the surface element at the specified location.

Description

A surface element contains information about the TIN and the surface it defines specific to a given point position. It maintains the surface attributes of elevation, slope, and aspect, as well as the the index and tag value of the containing triangle, and the index and tag value of the closest node in the containing triangle.

The element is constructed from the triangle containing the query point. If the query point falls on a triangle edge, one of the triangles on either side is picked randomly by the software. If the query point falls on a TIN node the triangle used is picked randomnly from those incident to the node.

A Nil pointer (nothing) is returned when the query point falls outside the interpolation zone.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
pPoint - A reference to a com.esri.arcgis.geometry.IPoint (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.ITinSurfaceElement
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getPartialVolumeAndArea

void getPartialVolumeAndArea(double reference,
                             int type,
                             IEnumTinTriangle pTriangles,
                             Object[] pVolume,
                             Object[] pSurfaceArea,
                             Object[] pProjectedArea)
                             throws IOException,
                                    AutomationException
Returns portion of the TIN's volume above or below an input z value.

Description

Calculates projected area, surface area, and/or volume relative to a given reference height and collection of triangles.

reference is the height against which area and volume statistics will be gathered. Height is used to define a horizontal plane. Area and volume is calculated per triangle and the values are summed for all triangles to produce the results.

esriPlaneReferenceType can be set to esriPlaneReferenceAbove or esriPlaneReferenceBelow. When set to esriPlaneReferenceAbove projected area and surface area is calculated for the portion of each triangle that falls above the plane. Triangles, or portions of triangles, that fall below the plane are excluded. Volume is calculated for the cubic area between the top of the reference plane and the underside of triangles above it. When the plane type is set to esriPlaneReferenceBelow the opposite action takes place. Area is calculated for triangles, or portions of triangles, that are below the plane. Volume is the cubic area between the underside of the plane and the tops of triangles that fall below it.

pTriangles is a triangle enumerator that determines which triangles are involved in the calculation. This enables analysis on a sub-portion of the TIN because only triangles passed by the enumerator are used. Alternately, if you want to perform the operation on the entire TIN use ISurface.GetProjectedArea, ISurface.GetSurfaceArea, or ISurface.GetVolume.

Volume, SurfaceArea, and ProjectedArea are optional double variables that are the output results. Only specify the ones you're interested in to avoid unnecessary computation.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
reference - The reference (in)
type - A com.esri.arcgis.geodatabase.esriPlaneReferenceType constant (in)
pTriangles - A reference to a com.esri.arcgis.geodatabase.IEnumTinTriangle (in)
pVolume - A Variant (in/out: use single element array, optional, pass single element of null if not required)
pSurfaceArea - A Variant (in/out: use single element array, optional, pass single element of null if not required)
pProjectedArea - A Variant (in/out: use single element array, optional, pass single element of null if not required)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.