The Esri TIN component.
The Tin coclass is used for surface modeling and other types of spatial analysis. TIN is an acronym for Triangulated Irregular Network. A TIN is comprised of adjacent, non-overlapping, triangles formed from input points and vertices. It is a complete planar graph that maintains topologic relationships between its constituent elements: nodes, edges, and triangles.
TINs are most commonly used as surface models. They provide a natural solution for handling vector based inputs, particularly 3-D geometry. Points, lines, and polygons can be used. Lines and polygon boundaries, that provide structure and definition to the surface, are enforced as triangle edges. Source vertices are maintained in the triangulation and honored precisely in any resulting analysis. These traits make TIN the solution of choice for photogrammetrically derived mass points and breaklines. It's also an appropriate model to use for irregularly spaced input points like soundings and LiDAR.
The creation, editing, and analysis of TIN objects requires a 3D Analyst license.
There are a number of properties and methods that can be used on the TIN and its components to:
- Discover the relationships between elements
- Navigate through it
- Modify properties of elements
- Perform proximity based functions
- Perform surface analysis
When being used, TINs are held in memory. For processing efficiency they should not be so large as to exceed physical RAM. When dealing with large input datasets consider an iterative, tile based, approach.
Extended Error Information
Use the ISupportErrorInfo method InterfaceSupportsErrorInfo to determine if the object supports extended error information. If the object supports extended error info, VC++ developers should use the OLE/COM IErrorInfo interface to access the ErrorInfo object. Visual Basic developers should use the global error object Err to retrieve this extended error information.
|IDataset||Provides access to members that supply dataset information.|
|IFunctionalSurface (esriGeometry)||Provides access to information about the functional surface, generating heights given x,y locations. Also see IFunctionalSurface2.|
|IFunctionalSurface3 (esriGeometry)||Provides access to members that allow fuller interpolation of polygonal patches.|
|IGeoDataset||Provides access to members that provide information about a Geographic Dataset.|
|IGeoDatasetSchemaEdit||Provides access to members that change the schema of a GeoDataset.|
|IMetadata||Provides access to members that manage and update metadata.|
|IMetadataEdit||Provides access to members that provide information about whether metadata can be edited.|
|INativeTypeInfo||Provides access to the native type.|
|ISupportErrorInfo||Indicates whether a specific interface can return Automation error objects.|
|ISurface||Provides access to members that control surfaces.|
|ITin||Provides access to members that control TINs.|
|ITinAdvanced||Provides access to members that control advanced TIN functions.|
|ITinAdvanced2||Provides access to members that control advanced TIN functions.|
|ITinAdvanced3||Provides access to members that control advanced TIN functions.|
|ITinClock||Provides timing utilities.|
|ITinEdit||Provides access to members that control TIN editing.|
|ITinEdit2||Provides access to members that control TIN editing.|
|ITinEditErrorLog||Provides access to TIN's internal edit errors.|
|ITinFeatureEdit||Provides access to methods that control TIN 'features'.|
|ITinNodeCollection||Provides access to members that control TIN nodes.|
|ITinNodeInfo||Provides access to TIN node's properties.|
|ITinSelection||Provides access to members that control TIN selction methods.|
|ITinSurface||Provides access to members that control TIN surfaces.|
|ITinSurface2||Provides access to members that control TIN surfaces.|
|ITinSurface3||Provides access to members that control TIN surfaces.|
|ISurfaceIntersectionEvents (default)||Provides access to events that occur with a surface intersection process.|
Working with Events
When working with Tin's default outbound interface in Visual Basic 6 declare variables as follows:
Private WithEvents pTin as Tin