TIN-Daten-Fläche skizzieren (3D Analyst)
Zusammenfassung
Definiert die Datenfläche oder Interpolationszone eines unregelmäßigen Dreiecksnetzes (TIN) auf Grundlage seiner Dreieckskantenlänge neu.
Weitere Informationen zur Funktionsweise von "TIN-Daten-Fläche skizzieren" (3D Analyst)
Abbildung
![]() |
Verwendung
-
Mit diesem Werkzeug wird das Eingabe-TIN geändert. Wenn Sie vorziehen, die Eingabe nicht zu ändern, können Sie das Werkzeug TIN kopieren verwenden, um vor der Bearbeitung eine Kopie zu erstellen.
-
Der Wert für Maximale Kantenlänge wird am besten aus dem mittleren Knotenabstand im TIN innerhalb der Bereiche ermittelt, bei denen es sich um gültige Datenzonen handelt. Geben Sie einen Wert ein, der größer ist als der mittlere Punktabstand.
Syntax
| Parameter | Erläuterung | Datentyp |
in_tin |
The input TIN. | TIN Layer |
max_edge_length |
Dreiecke mit mindestens einer Kante, die die <max_edge_length> überschreitet, werden als NODATA ausgeblendet. Diese Dreiecke werden in den Karten nicht dargestellt und in der Oberflächenanalyse, z. B. in der Interpolation, nicht verwendet. Die Länge ist die 2D-Entfernung. | Double |
method (optional) |
Die zum Abgrenzen der Datenfläche des TINs verwendete Methode.
| String |
Codebeispiel
The following sample demonstrates the use of this tool in the Python window:
import arcpy
from arcpy import env
arcpy.CheckOutExtension("3D")
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
import exceptions, sys, traceback
# 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:
arcpy.CheckOutExtension("3D")
# Execute LASToMultipoint
arcpy.AddMessage("Creating multipoint features from LAS...")
lasMP = arcpy.CreateUniqueName('lasMultipoint', 'in_memory')
arcpy.ddd.LASToMultipoint(inLas, LasMP, ptSpacing, class_code,
"ANY_RETURNS", "", sr, inFormat, zfactor)
# Execute CreateTin
arcpy.AddMessage("Creating TIN dataset...")
arcpy.ddd.CreateTin(outTin, sr, "{0} Shape.Z masspoints"\
.format(lasMP), "Delaunay")
# Execute CopyTin
arcpy.AddMessage("Copying TIN to delineate data boundary...")
arcpy.ddd.CopyTin(outTin, "{0}_copy".format(outTin))
# Execute DelineateTinDataArea
arcpy.AddMessage("Delineating TIN boundary...")
maxEdge = ptSpacing * 4
arcpy.ddd.DelineateTinDataArea(outTin, maxEdge, "PERIMETER_ONLY")
# Execute TinDomain
arcpy.AddMessage("Exporting data area to polygon boundary...")
arcpy.ddd.TinDomain(outTin, outBoundary, "POLYGON")
arcpy.AddMessage("Finished")
arcpy.CheckInExtension("3D")
except arcpy.ExecuteError:
print arcpy.GetMessages()
except:
# Get the traceback object
tb = sys.exc_info()[2]
tbinfo = traceback.format_tb(tb)[0]
# Concatenate error information into message string
pymsg = 'PYTHON ERRORS:\nTraceback info:\n{0}\nError Info:\n{1}'\
.format(tbinfo, str(sys.exc_info()[1]))
msgs = 'ArcPy ERRORS:\n {0}\n'.format(arcpy.GetMessages(2))
# Return python error messages for script tool or Python Window
arcpy.AddError(pymsg)
arcpy.AddError(msgs)
