Zusammenfassung
Erstellt ein TIN-Dataset (Triangulated Irregular Network).
Verwendung
-
Vermeiden Sie die Erstellung eines TIN mit dem geographischen Koordinatensystem, da die Delaunay-Triangulationsregel nicht effektiv umgesetzt werden kann, wenn die XY-Einheiten in sphäroidischen Koordinaten ausgedrückt sind.
-
Anhand des Oberflächen-Feature-Typs wird definiert, wie die Eingabe-Features zur Definition der triangulierten Oberfläche beitragen.
- Punkt-Features können als Massenpunkte festgelegt werden, die Datenknoten bereitstellen, deren Z-Werte in der Triangulation der Oberfläche des Terrain-Layers verwendet werden.
- Linien-Features können als Massenpunkte und Bruchkanten festgelegt werden, die Positionen an einer Oberfläche mit linearen Unterbrechungen in der Neigung darstellen, z. B. Bergkämme, Küstenlinien, Straßenbelagskanten, Gebäudegrundrisse usw.
- Polygon-Features können auch als Massenpunkte und Bruchkanten zusammen mit Clip-Features festgelegt werden, die die Datenfläche definieren, Features ersetzen, die Regionen mit konstanten Z-Werten (z. B. Gewässer) definieren, sowie Features löschen, die innere Flächen angeben, in denen keine Daten vorhanden sind.
-
Die maximale Anzahl der von einem TIN unterstützten Knoten hängt in erster Linie davon ab, wie viele freie, zusammenhängende Speicherressourcen auf dem Computer verfügbar sind. Sie können die Gesamtzahl der Knoten zur Beibehaltung einer reaktionsschnellen Darstellungs-Performance und allgemeinen Benutzerfreundlichkeit auf einen Wert unter 6 Mio. begrenzen. Größere triangulierte Oberflächen werden am besten mit einem Terrain-Dataset mit mehreren Auflösungen verwaltet.
-
Legen Sie die Umgebungseinstellung für die TIN-Speicherungsversion auf PRE_10.0 fest, wenn das zu erstellende TIN in Versionen von ArcGIS Desktop vor 10.0 verwendet wird.
Syntax
CreateTin(out_tin, {spatial_reference}, {in_features}, {constrained_delaunay})
Parameter | Erklärung | Datentyp |
out_tin | Das erstellte TIN-Dataset. | TIN |
spatial_reference (optional) | Der Raumbezug des Ausgabe-TIN sollte auf ein projiziertes Koordinatensystem festgelegt werden. Geographische Koordinatensysteme werden nicht empfohlen, da die Delaunay-Triangulation nicht garantiert werden kann, wenn die XY-Koordinaten in Winkeleinheiten ausgedrückt sind, was negative Auswirkungen auf die Genauigkeit entfernungsbasierter Berechnungen wie Neigung, Volumen und Sichtlinie haben kann. | Coordinate System |
in_features [[in_features, height_field, SF_type, tag_value],...] (optional) | Die Eingabe-Features und die zugehörigen Eigenschaften, die zur Definition des TIN beitragen.
| Value Table |
constrained_delaunay (optional) | Gibt die entlang der Bruchkanten des TINs angewendete Triangulationstechnik an.
| Boolean |
Codebeispiel
CreateTin – Beispiel 1 (Python-Fenster)
Anhand des folgenden Beispiels wird die Verwendung dieses Werkzeugs im Python-Fenster veranschaulicht.
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")
CreateTin – Beispiel 2 (eigenständiges Skript)
Im folgenden Beispiel wird die Verwendung dieses Werkzeugs in einem eigenständigen Python-Skript veranschaulicht.
'''****************************************************************************
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)
Umgebungen
Lizenzinformationen
- Basic: Erfordert 3D Analyst
- Standard: Erfordert 3D Analyst
- Advanced: Erfordert 3D Analyst
Verwandte Themen
- Überblick über das Toolset "Datenmanagement"
- Grundlagen von Oberflächen
- Oberflächenformate
- TIN-basierte Oberflächenkonzepte
- Was ist eine TIN-Oberfläche?
- Grundlagen zum Erstellen von TIN-Oberflächen
- Grundlagen zum Bearbeiten von TIN-Oberflächen
- Bearbeiten von Features eines TINs mit Geoverarbeitungswerkzeugen
- Geoverarbeitungswerkzeuge für TIN-Oberflächen