LAS-Dataset zu TIN (ArcGIS 3D Analyst)
Zusammenfassung
Exportiert ein trianguliertes unregelmäßiges Netzwerk (TIN) aus einem LAS-Dataset.
Bild
Verwendung
Wenn ein LAS-Dataset als Eingabe festgelegt wird, werden alle Datenpunkte in den LAS-Dateien, auf die es verweist, verarbeitet.
Mit dem LAS-Dataset-Layer können LAS-Punkte nach Klassencode oder Rückgabewerten gefiltert werden. Der Layer kann mit dem Werkzeug LAS-Dataset-Layer erstellen erzeugt werden, oder indem Sie das LAS-Dataset in ArcMap oder ArcScene laden und die gewünschten Klassencodes und Rückgabewerte im Dialogfeld "Layer-Eigenschaften" angeben.
-
Die Punktauswahloptionen MINIMUM, MAXIMUMund AVERAGE verwenden eine automatisch berechnete Kachelungsfläche, die dazu dient, ein TIN-Dataset zu erzeugen, dessen Anzahl von Knoten vom System gut bearbeitet werden kann.
Syntax
Parameter | Erläuterung | Datentyp |
in_las_dataset |
Das Eingabe-LAS-Dataset. | LAS Dataset Layer |
out_tin |
Das Ausgabe-TIN-Dataset. | TIN |
thinning_type (optional) |
Die Art der Ausdünnung, die für die Reduzierung der an den Knoten des Ergebnis-TIN gespeicherten LAS-Datenpunkte verwendet wird.
| String |
thinning_method (optional) |
Die Ausdünnungsmethode definiert die spezifische Technik, die zum Reduzieren der LAS-Datenpunkte verwendet wird und sich darauf auswirkt, wie der +++Thinning Value ausgelegt wird. Die verfügbaren Optionen hängen vom ausgewählten +++Thinning Type ab. Für RANDOM:
Für WINDOW_SIZE:
| String |
thinning_value (optional) |
Der Wert, der dem ausgewählten +++Thinning Type und der +++Thinning Method zugeordnet ist. Für die Ausdünnungsmethoden, die für die Punktauswahlmethode RANDOM verfügbar sind:
Für alle Ausdünnungsmethoden WINDOW_SIZE stellt der Wert den Bereich dar, in den die Ausdehnung des LAS-Dataset für die Erfassung der Datenpunkte unterteilt wird. | Double |
max_nodes (optional) |
Die maximale Anzahl der im Ausgabe-TIN möglichen Knoten. Die Standardeinstellung ist 5 Millionen. | Double |
z_factor (optional) |
Der Faktor, mit dem die Höhenwerte multipliziert werden. Dieser wird in der Regel verwendet, um lineare Z-Einheiten zu konvertieren, sodass sie den linearen XY-Einheiten entsprechen. Der Standardwert ist 1, wodurch die Höhenwerte unverändert bleiben. | Double |
Codebeispiel
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.LasDatasetToTin_3d('se_baltimore.lasd', 'se_bmore', 'RANDOM', 15, 3.28)
Im folgenden Beispiel wird die Verwendung dieses Werkzeugs in einem eigenständigen Python-Skript veranschaulicht:
'''**********************************************************************
Name: LAS Dataset to TIN Example
Description: Create a TIN using bare earth lidar measurements. This
script is designed for use as a script tool.
**********************************************************************'''
# Import system modules
import arcpy
import exceptions, sys, traceback
# Set Local Variables
lasD = arcpy.GetParameterAsText(0)
inLas = arcpy.GetParameterAsText(1) #input las files
surfCons = arcpy.GetParameterAsText(2) #input surface constraints
sr = arcpy.GetParameter(3) #spatial reference of las dataset
outTin = arcpy.GetParameterAsText(4)
thinningType = arcpy.GetParameterAsText(5)
thinningMethod = arcpy.GetParameterAsText(6)
thinningValue = arcpy.GetParameter(7)
zFactor = arcpy.GetParameter(8)
try:
arcpy.CheckOutExtension('3D')
# Execute CreateLasDataset
arcpy.management.CreateLasDataset(inLas, lasD, 'RECURSION', surfCons, sr)
lasLyr = arcpy.CreateUniqueName('lasdToTin', 'in_memory')
classCode = 2
returnValue = 'LAST'
# Execute MakeLasDatasetLayer
arcpy.management.MakeLasDatasetLayer(lasD, lasLyr, classCode, returnValue)
# Define extent of the area of interest
env.extent(1426057, 606477, 1449836, 623246)
# Execute LasDatasetToTin
arcpy.ddd.LasDatasetToTin(lasLyr, outTin, thinningType,
thinningMethod, thinningValue, zFactor)
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)