Intersect TINs Command


Calculates the difference, or intersection, between two TINs. As output, it creates a difference TIN and a polygon feature class containing volumetric information.

How to use:

    Steps for adding a command/tool from a DLL:

  1. Register the DLL: IntersectTins.dll.
  2. In ArcMap or ArcScene's Customize dialog, click on 'Add from file' and select this sample's dll.
  3. Select the Intersect TINs command under the 3D Developer Samples Category on the Commands tab. Drag and drop it to the desired location in the application's user interface. Dismiss the Customize dialog.

    Using the Tool:

  1. Add two TINs you want intersected to a map or scene document. They are expected to overlap (have some area in common) in XY.
  2. Execute the command. Select the two TINs to intersect in the dropdowns. Specify output TIN and polygon feature class names and press OK.
  3. The output TIN surface represents the difference between the two input TINs, the first minus the second. Locations with a height of 0.0 on this surface represent areas where both TINs are the same. Positive heights represent areas where the first TIN is higher. Negative heights are where the first TIN is lower.
  4. The output polygon feature class contains polygons of contiguous areas where the first TIN is either higher, equal to, or lower than the second TIN. "Area", "Volume", and "Code" attributes are included for each polygon. You may want to display this feature class classified by unique values on the "Code" field in order to see the distinction between areas that are above, below, or the same.

ArcScene or ArcMap

Requires: ArcGIS 8.2 or higher and a 3D Analyst license.

Difficulty: Intermediate

Visual Basic
File Description
IntersectTins.cls Implementation of ICommand for this sample.
frmIntersectTins.frm Most of the work for the command is implemented here.
IntersectTins.vbp Visual Basic Project file for the tool.
IntersectTins.dll The compiled DLL containing the implementation of the sample.

Key CoClasses: Tin
Key Interfaces: ITinAdvanced, ITinEdit, ITinSurface
Key Members: ITinEdit::AddPointZ, ITinSurface::ContourList