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.

Syntax

arcpy.3d.DecimateTinNodes(in_tin, out_tin, method, {copy_breaklines}, {z_tolerance_value}, {max_node_value})
ParameterExplanationData Type
in_tin

The TIN dataset to process.

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
z_tolerance_value
(Optional)

The maximum deviation from the source TIN's Z-value that will be allowed in the output TIN, which defaults to the lesser of either one-tenth of the Z-range or the number 10.

Double
max_node_value
(Optional)

The maximum number of nodes that can be stored in the output TIN, which defaults to the total number of nodes in the source TIN minus 1. If the Z-tolerance method is used, the tool will stop processing if the Z tolerance value causes the resulting TIN to exceed the maximum number of nodes.

Long

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.DecimateTinNodes_3d("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.DecimateTinNodes_3d(inTin, outTin, method, copyBrk)

Licensing information

  • Basic: Requires 3D Analyst
  • Standard: Requires 3D Analyst
  • Advanced: Requires 3D Analyst

Related topics