Decimate TIN Nodes (3D Analyst)

Summary

Creates a triangulated irregular network (TIN) dataset using a subset of nodes from a source TIN.

Illustration

DecimateTinNodes illustration

Usage

  • This tool is useful for thinning oversampled data, which subsequently improves the drawing experience. The following thinning options are provided:

    • Z Tolerance—Resulting TIN will maintain the vertical accuracy of its source TIN within the specified Z tolerance value, which is always expressed in the native Z-unit of the source TIN. The deviation of any node from the source TIN, when compared to the interpolated value of the output TIN, will not exceed the Z tolerance.
      Note:

      This method also supports the enforcement of an optional node limit, which will cause the tool to stop processing if the Z tolerance value causes the resulting TIN to exceed the maximum number of nodes. If this occurs, the TIN will be produced, but a warning will be returned.

    • Count—Reduces the number of nodes in the output TIN to the specified value, which is presumably less than the node count of the source TIN. Nodes are generally selected to maintain the extent and surface characteristics of the source TIN.
  • If the Copy Breaklines option is selected, breaklines in the source TIN will be stored in the output without any generalization. Nodes contributed by breaklines are not factored toward any maximum node count limit.

  • The data boundary of the resulting TIN will be enforced as breakline edges regardless of whether the option to copy breaklines has been used or even whether the input TIN data boundary is enforced with breakline edges. This may increase the size of the output TIN and operates independently of any specified maximum node count limit.

Parameters

LabelExplanationData Type
Input TIN

The TIN dataset that will be processed.

TIN Layer
Output TIN

The TIN dataset that will be generated.

TIN
Decimation Method

Specifies the thinning method used for selecting a subset of nodes from the input TIN.

  • Z_TOLERANCECreates a TIN that will maintain the vertical accuracy specified in the Z Tolerance parameter. This is the default.
  • COUNTCreates a TIN that will not exceed the node limit specified in the Maximum Number of Nodes parameter.
String
Copy Breaklines
(Optional)

Indicates whether breaklines from the input TIN are copied over to the output.

  • Unchecked—Breaklines will not be copied. This is the default.
  • Checked—Breaklines will be copied.

Boolean

arcpy.ddd.DecimateTinNodes(in_tin, out_tin, method, {copy_breaklines})
NameExplanationData Type
in_tin

The TIN dataset that will be processed.

TIN Layer
out_tin

The TIN dataset that will be generated.

TIN
method

Specifies the thinning method used for selecting a subset of nodes from the input TIN.

  • Z_TOLERANCECreates a TIN that will maintain the vertical accuracy specified in the z_tolerance_value parameter. This is the default.
  • COUNTCreates a TIN that will not exceed the node limit specified in the max_node_value parameter.
String
copy_breaklines
(Optional)

Indicates whether breaklines from the input TIN are copied over to the output.

  • BREAKLINESBreaklines will be copied.
  • NO_BREAKLINESBreaklines will not be copied. This is the default.
Boolean

Code sample

DecimateTinNodes example 1 (Python window)

The following sample demonstrates the use of this tool in the Python window:

arcpy.env.workspace = "C:/data"
arcpy.ddd.DecimateTinNodes("tin", "tin_simple", "COUNT 5000" "BREAKLINES")
DecimateTinNodes example 2 (stand-alone script)

The following sample demonstrates the use of this tool in a stand-alone Python script:

'''****************************************************************************
Name: DecimateTinNodes Example
Description: This script demonstrates how to use the 
             DecimateTinNodes tool.
****************************************************************************'''

# Import system modules
import arcpy
from arcpy import env

# Set environment settings
env.workspace = "C:/data"

# Set Local Variables
inTin = "elevation"
method = "COUNT 5000"
copyBrk = "BREAKLINES"
# Ensure output name is unique
outTin = arcpy.CreateUniqueName("simple_elev")

#Execute DecimateTinNodes
arcpy.ddd.DecimateTinNodes(inTin, outTin, method, copyBrk)

Related topics