Summary
Redefines the data area, or interpolation zone, of a triangulated irregular network (TIN) based on its triangle edge length.
Illustration
Usage
This tool does not eliminate any of the source data. It modifies the input TIN by reclassifying its edges to be either included or excluded from the interpolation zone. If you wish to retain an unmodified version of the TIN that will be processed, consider creating a duplicate dataset using the Copy TIN tool prior to executing this tool.
All triangle edges are evaluated before edge length classification begins. This will effectively undo any existing data area classification. If the result obtained from one execution is unsatisfactory, the resulting TIN can be executed again without having to obtain the original data.
Extreme edge lengths produced by concave characteristics in the TIN's source measurements can be removed from the TIN's valid data area through this tool. Triangles that have an edge exceeding the Maximum Edge Length will be masked as NoData areas.
Note:
The Maximum Edge Length value is best determined from the average spacing of TIN nodes within areas that are considered valid data zones. Provide a value that is larger than the average spacing. The most successful use of this tool is based on knowledge of the data used to create the TIN.
-
The Method determines which triangles are evaluated.
Note:
Use Perimeter Edges (method = "PERIMETER_ONLY" in Python) if the concave data portions are relegated to the outer extremities of the TIN.
Syntax
arcpy.3d.DelineateTinDataArea(in_tin, max_edge_length, {method})
Parameter | Explanation | Data Type |
in_tin | The TIN dataset to process. | TIN Layer |
max_edge_length | The two-dimensional distance that defines the maximum length of a TIN triangle edge in the TIN's data area. Triangles with one or more edges that exceed this value will be considered outside the TIN's interpolation zone and will not be rendered in maps or used in surface analysis. | Double |
method (Optional) | The TIN edges that will be evaluated when delineating the TIN's data area.
| String |
Derived Output
Name | Explanation | Data Type |
derived_out_tin | The updated TIN. | TIN Layer |
Code sample
The following sample demonstrates the use of this tool in the Python window.
arcpy.env.workspace = "C:/data"
arcpy.DelineateTinDataArea_3d("elevation", 10, "PERIMETER_ONLY")
The following sample demonstrates the use of this tool in a stand-alone Python script.
'''****************************************************************************
Name: Define Data Boundary of LAS File
Description: This script demonstrates how to delineate data boundaries of
LAS files with irregularly clustered points. It is intended for
use as a script tool with one input LAS file.
****************************************************************************'''
# Import system modules
import arcpy
# Set local variables
inLas = arcpy.GetParameterAsText(0) # input LAS file
ptSpacing = arcpy.GetParameterAsText(1) # LAS point spacing
classCode = arcpy.GetParameterAsText(2) # List of integers
returnValue = arcpy.GetParameterAsText(3) # List of strings
outTin = arcpy.GetParameterAsText(4) # TIN created to delineate data area
outBoundary = arcpy.GetParameterAsText(5) # Polygon boundary file
try:
# Execute LASToMultipoint
lasMP = arcpy.CreateUniqueName('lasMultipoint', 'in_memory')
arcpy.ddd.LASToMultipoint(inLas, LasMP, ptSpacing, class_code,
"ANY_RETURNS", "", sr, inFormat, zfactor)
# Execute CreateTin
arcpy.ddd.CreateTin(outTin, sr, "{0} Shape.Z masspoints"\
.format(lasMP), "Delaunay")
# Execute CopyTin
arcpy.ddd.CopyTin(outTin, "{0}_copy".format(outTin))
# Execute DelineateTinDataArea
maxEdge = ptSpacing * 4
arcpy.ddd.DelineateTinDataArea(outTin, maxEdge, "PERIMETER_ONLY")
# Execute TinDomain
arcpy.ddd.TinDomain(outTin, outBoundary, "POLYGON")
except arcpy.ExecuteError:
print(arcpy.GetMessages())
except Exception as err:
print(err)
Environments
Licensing information
- Basic: Requires 3D Analyst
- Standard: Requires 3D Analyst
- Advanced: Requires 3D Analyst