LAS zu Multipoint (ArcGIS 3D Analyst)
Zusammenfassung
Erstellt Multipoint-Features aus einer oder mehreren LIDAR-Dateien.
Bild
Verwendung
-
Unterstützte LAS-Dateiversionen sind 1.0, 1.1, 1.2 und 1.3.
Die LAS-Punkte lassen sich in verschiedenen Kategorien klassifizieren, die das von der LIDAR-Rückgabe gefundene Material beschreiben, z. B. Erde, Gebäude oder Wasser. Von der ASPRS (American Society for Photogrammetry and Remote Sensing; Amerikanische Gesellschaft für Photogrammetrie und Fernerkundung) wurden die folgenden Klassencodes für die LAS-Dateiversionen 1.1, 1.2 und 1.3 definiert:
Klassifizierungswert
Klassifizierungstyp
0
Nie klassifiziert
1
Nicht zugewiesen
2
Erde
3
Niedere Vegetation
4
Mittlere Vegetation
5
Hohe Vegetation
6
Gebäude
7
Rauschen
8
Modellschlüssel
9
Wasser
10
Reserviert für die ASPRS-Definition
11
Reserviert für die ASPRS-Definition
12
Überlappung
13–31
Reserviert für die ASPRS-Definition
Hinweis:Die LAS 1.0-Spezifikationen enthalten Klassencodes von 0 bis 255, jedoch kein standardisiertes Klassifizierungsschema. In 1.0-Dateien verwendete Klassencodes werden in der Regel vom Datenanbieter definiert und über Zusatzinformationen bereitgestellt.
-
Wenn Sie keine Punkte basierend auf ihrer Rückgabenummer importieren möchten oder wenn alle in der Datei bzw. den Dateien festgelegten Rückgabewerte auf 0 festgelegt sind, weil die Punkte gefiltert oder klassifiziert wurden, wählen Sie ANY_RETURNS.
-
Wenn Sie mehrere LAS-Attribute in eine Oracle-Datenbank laden, müssen Sie sicherstellen, dass alle DBTUNE-Schlüsselwörter für den Parameter "attribute_binary" für die Verwendung von BLOBs (Binary Large OBjects), nicht LONGRAW, festgelegt sind. Dies ist darauf zurückzuführen, dass die LAS-Attribute als BLOBs geladen werden und Oracle nicht mehrere BLOBs in LONGRAW-Tabellen unterstützt. Hilfe erhalten Sie von Ihrem Oracle-Datenbank-Administrator.
Syntax
Parameter | Erläuterung | Datentyp |
input [input,...] |
Eine oder mehrere Dateien oder Ordner mit Daten im Format der LAS-Version 1.0, 1.1 oder 1.2. Das LAS-Format ist der Industriestandard für LIDAR-Daten. | Folder or File |
out_feature_class |
Die Ausgabe-Feature-Class. | Feature Class |
average_point_spacing |
Die durchschnittliche 2D-Entfernung zwischen den Punkten in der Eingabedatei bzw. in den Eingabedateien. Dabei kann es sich um eine Annäherung handeln. Wenn Flächen mit verschiedenen Dichten gemessen werden, geben Sie den kleineren Abstand an. Der Wert muss in den Projektionseinheiten des Ausgabekoordinatensystems angegeben werden. | Double |
class_code [class_code,...] (optional) |
Die Klassifizierungscodes zur Verwendung als Abfragefilter für LAS-Datenpunkte. Gültige Werte liegen zwischen 1 und 32. Standardmäßig wird kein Filter angewendet. | Long |
return [return,...] (optional) |
Die als Abfragefilter verwendeten Rückgabewerte. Gültige Rückgabewerte sind 1-5, LAST_RETURNS und ANY_RETURNS. Die Standardeinstellung lautet ANY_RETURNS. | String |
attribute [[keyword, name],...] (optional) |
Mindestens ein zu ladendes und zu speicherndes LAS-Attribut und optional die zu verwendenden Feldnamen. Die Standardeinstellung ist Kein. Unterstützte Attributschlüsselwörter sind INTENSITY, RETURN_NUMBER, NUMBER_OF_RETURNS, SCAN_DIRECTION_FLAG, EDGE_OF_FLIGHTLINE, CLASSIFICATION, SCAN_ANGLE_RANK, FILE_MARKER, USER_BIT_FIELD und GPS_TIME. | Value Table |
input_coordinate_system (optional) |
Das Koordinatensystem der Eingabe-LAS-Datei. In der Standardeinstellung wird das in der LAS-Datei angegebene Koordinatensystem verwendet. Falls es aus irgendeinem Grund nicht in der Datei definiert, Ihnen jedoch bekannt ist, geben Sie es hier ein. | Coordinate System |
file_suffix (optional) |
Das Suffix der Dateien, die aus einem Eingabeordner importiert werden sollen. Dieser Parameter ist erforderlich, wenn als Eingabe ein Ordner angegeben wird. | String |
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 |
folder_recursion (optional) |
Durchsucht Unterordner, wenn ein Eingabeordner ausgewählt wird, der Daten im Unterordner-Verzeichnis enthält. Die Ausgabe-Feature-Class wird mit einer Zeile für jede in der Verzeichnisstruktur gefundene Datei generiert.
| Boolean |
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.LASToMultipoint_3d("001.las", "Test.gdb/feature_dataset/sample_1", 1.5,
"2", "ANY_RETURNS", "INTENSITY", "Coordinate Systems"\
"/Projected Coordinate Systems/UTM/NAD 1983/NAD 1983 "\
"UTM Zone 17N.prj", "las", 1)
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)