TIN erstellen (3D Analyst)
Zusammenfassung
Hiermit wird ein TIN-Dataset erstellt.
Verwendung
-
TINs für die Oberflächenmodellierung müssen mithilfe projizierter Koordinatensysteme erstellt werden. Geographische Koordinatensysteme werden nicht empfohlen. Funktionen wie Neigung, Volumen und Sichtlinie können irreführende oder falsche Ergebnisse liefern, wenn XY-Einheiten als Winkelmaße (z. B. als Dezimalgrade) angegeben werden.
-
Wenn Sie das Dialogfeld verwenden, können Sie die Größe des Eigenschaftsdialogfelds Eingabe-Feature-Class ändern, um es zu verbreitern, falls die Standardspaltenbreite zu klein ist.
-
Die maximale Anzahl von Knoten, die von einem TIN unterstützt wird, ändert sich je nach den freien, zusammenhängenden Speicherressourcen auf dem System. 10 bis 15 Millionen Knoten stellen in der Regel die maximale Größe dar, die unter normalen Betriebsbedingungen auf einer 32-Bit-Windows-Plattform erzielt werden kann. Erwägen Sie jedoch, die Anzahl der Knoten auf einige Millionen zu begrenzen, um eine ausreichende Benutzerfreundlichkeit und Darstellungs-Performance beizubehalten. Größere Datasets werden am besten durch ein Terrain dargestellt.
Syntax
Parameter | Erläuterung | Datentyp |
out_tin |
The output TIN dataset. | TIN |
spatial_reference (optional) |
Der Raumbezug der Ausgabe-TIN. | Coordinate System |
in_features [[in_feature_class, height_field, SF_type, tag_value],...] (optional) | Fügen Sie Verweise auf mindestens eine Feature-Class hinzu, die in das TIN eingebunden wird. Für jede Feature-Class müssen Sie Eigenschaften festlegen, die angeben, wie sie zur Definition der Oberfläche verwendet wird. in_feature_class: Die Feature-Class, deren Features in das TIN importiert werden. height_field: Das Feld, in dem die Quelle der Höhenwerte für die Features angegeben ist. Es kann jedes Zahlenfeld in der Attributtabelle des Features verwendet werden. Wenn das Feature Z-Werte unterstützt, kann die Feature-Geometrie gelesen werden, indem die Shape.Z-Option ausgewählt wird. Wenn keine Höhe gewünscht wird, geben Sie das Schlüsselwort <Keines> an, um Features ohne Z-Werte zu erstellen, deren Höhe von der Oberfläche interpoliert werden würde. SF_type: Mit dem Oberflächen-Feature-Typ wird definiert, wie die aus den Features importierte Geometrie in die Triangulation für die Oberfläche integriert wird. Optionen mit harter oder weicher Bezeichnung verweisen darauf, ob die Feature-Kanten verschiedene Brüche in der Neigung oder eine allmähliche Änderung darstellen, wenn die triangulierte Oberfläche in ein Raster konvertiert wird. Die folgenden Schlüsselwörter sind verfügbar:
tag_value: Das Ganzzahlfeld aus der Attributtabelle der Feature-Class, das verwendet wird, wenn der Oberflächen-Feature-Typ auf eine Wertfülloption festgelegt wird. Tagfüllung wird als grundlegende Form von Dreiecksattributen verwendet, deren Grenzen in der Triangulation als Bruchkanten erzwungen werden. Für die Standardoption ist <keines> festgelegt. | Value Table |
constrained_delaunay (optional) | Specifies the triangulation technique used along the breaklines of the TIN.
| Boolean |
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.CreateTin_3d("NewTIN", "Coordinate Systems/Projected Coordinate Systems/State Plane/NAD 1983 (Feet)/NAD 1983 StatePlane California II FIPS 0402 (Feet).prj", "points.shp Shape.Z masspoints", "constrained_delaunay")
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)