arcpy.3d.DelineateTinDataArea(in_tin, max_edge_length, {method})
|
名称
|
说明
|
数据类型
|
|
in_tin
|
要处理的 TIN 数据集。
|
TIN Layer
|
|
max_edge_length
|
用于在 TIN 数据区中定义 TIN 三角形边的最大长度的二维距离。 如果三角形的一个或多个边大于此值,则会将其视为处于 TIN 插值区之外,并且不会在地图中进行渲染或用于表面分析。
|
Double
|
|
method
(可选)
|
当描绘 TIN 数据区时,将进行求值的 TIN 边。
PERIMETER_ONLY—Iterates through triangles from the TIN's outer extent inward and will stop when the current iteration of boundary triangle edges does not exceed the Maximum Edge Length. This is the default.
ALL—Classifies the entire collection of TIN triangles by edge length.
|
String
|
派生输出
|
名称
|
说明
|
数据类型
|
|
derived_out_tin
|
更新后的 TIN。
|
TIN Layer
|
代码示例
DelineateTinDataArea 示例 1(Python 窗口)
下面的示例演示了如何在 Python 窗口中使用此工具:
arcpy.env.workspace = "C:/data"
arcpy.ddd.DelineateTinDataArea("elevation", 10, "PERIMETER_ONLY")
DelineateTinDataArea 示例 2(独立脚本)
下面的示例演示了如何在独立 Python 脚本中使用此工具:
'''****************************************************************************
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:
# Run LASToMultipoint
lasMP = arcpy.CreateUniqueName('lasMultipoint', 'in_memory')
arcpy.ddd.LASToMultipoint(inLas, LasMP, ptSpacing, class_code,
"ANY_RETURNS", "", sr, inFormat, zfactor)
# Run CreateTin
arcpy.ddd.CreateTin(outTin, sr, "{0} Shape.Z masspoints"\
.format(lasMP), "Delaunay")
# Run CopyTin
arcpy.ddd.CopyTin(outTin, "{0}_copy".format(outTin))
# Run DelineateTinDataArea
maxEdge = ptSpacing * 4
arcpy.ddd.DelineateTinDataArea(outTin, maxEdge, "PERIMETER_ONLY")
# Run TinDomain
arcpy.ddd.TinDomain(outTin, outBoundary, "POLYGON")
except arcpy.ExecuteError:
print(arcpy.GetMessages())
except Exception as err:
print(err)