Edit TIN (3D Analyst)


Loads data from one or more input features to modify the surface of an existing triangulated irregular network (TIN).

Learn more about how Edit TIN works


Add breaklines to TIN


  • This tool modifies the input TIN. Consider using the Copy TIN tool to maintain a backup if you wish to retain an unmodified version of the source TIN.

  • The surface feature type defines how the input features will contribute to the definition of the triangulated surface.

    • Point features can be specified as mass points, which provide data nodes whose Z values are used in the triangulation of the surface.
    • Line features can be specified as mass points and breaklines, which represent locations along a surface with linear discontinuities in slope, such as ridge lines, shore lines, pavement edges, building footprints, and so on.
    • Polygon features can also be specified as mass points and breaklines, along with clip features that define the data area, replace features that define regions with constant Z values (e.g. water bodies), and erase features that indicate interior areas where data does not exist.
  • The maximum number of nodes supported by a TIN depends primarily on the free, contiguous memory resources available on the computer. Consider limiting the total number of nodes to under 6 million to maintain responsive display performance and overall usability. Larger triangulated surfaces are best managed using a multi-resolution terrain dataset.


arcpy.3d.EditTin(in_tin, in_features, {constrained_delaunay})
ParameterExplanationData Type

The TIN dataset to process.

TIN Layer
[[in_features, height_field, tag_value, SF_type, use_z],...]

The input features and their related properties that will contribute to the definition of the TIN.

  • in_features—The feature whose geometry will be imported to the TIN.
  • height_field—The source of elevation for the input features. Any numeric field from the input feature's attribute table can be used, along with the Z or M values stored in the Shape field. Choosing the <None> keyword will result in the feature's elevation being interpolated from the surrounding surface.
  • tag_field—A numeric attribute derived from an integer field in the input feature's attribute table whose values can be used to assign a basic form of attribution to the TIN's data elements. Specifying <None> will result in no tag values being assigned.
  • sf_type—The input feature's role in defining the TIN surface. The valid options depend on the geometry of the input features. Point and multipoint features can be defined as Mass_Points, which contribute elevation values that get stored as TIN data nodes. Line features can be designated as Mass_Points or breaklines by specifying Hard_Line or Soft_Line. Polygon features can represent the interpolation boundary by specifying Hard_Clip or Soft_Clip, interior portions with no data by choosing Hard_Erase or Soft_Erase, or areas of constant height by specifying Hard_Replace or Soft_Replace. Additionally, polygons can also be used to assign integer attribute values by specifying Hardvalue_Fill or Softvalue_Fill.
  • use_z—Indicates whether Z or M values are used when the SHAPE field is specified as the height source. Setting this option to True indicates Z values will be used, whereas setting it to False results in M values being used.
Value Table

Specifies the triangulation technique used along the breaklines of the TIN.

  • DELAUNAYThe TIN will use Delaunay conforming triangulation, which may densify each segment of the breaklines to produce multiple triangle edges. This is the default.
  • CONSTRAINED_DELAUNAYThe TIN will use constrained Delaunay triangulation, which will add each segment as a single edge. Delaunay triangulation rules are honored everywhere except along breaklines, which will not get densified.

Derived Output

NameExplanationData Type

The updated TIN.

TIN Layer

Code sample

EditTin example 1 (Python window)

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

arcpy.env.workspace = "C:/data"
arcpy.ddd.EditTin("my_tin", "clip_polygon.shp <None> <None> hardclip false; "\
                 "new_points.shp Shape <None> masspoints true", "Delaunay")
EditTin example 2 (stand-alone script)

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

Name: EditTin Example
Description: This script demonstrates how to use the
             EditTin tool to add features to a output of the CopyTin tool.

# Import system modules
import arcpy

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

# Set Local Variables
origTin = "elevation"
copyTin = "elev_copy"
inFCs = [["Clip_Polygon.shp", "<None>", "<None>", "hardclip", False],
         ["new_points.shp", "Shape", "<None>", "masspoints", True]]

# Execute CopyTin
arcpy.CopyTin_3d(origTin, copyTin, "CURRENT")

# Execute EditTin
arcpy.EditTin_3d(copyTin, inFCs, Delaunay)

Licensing information

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

Related topics