Zusammenfassung
Erstellt Multipoint-Features aus einer oder mehreren LIDAR-Dateien.
Abbildung
Verwendung
Dieses Werkzeug unterstützt die ZLAS- und LAS-Dateiversionen 1.0 bis 1.4.
-
Das LAS-Format unterstützt die Klassifizierung jedes Punktes basierend auf den von der ASPRS (American Society for Photogrammetry and Remote Sensing) definierten Spezifikationen. Die ArcGIS Plattform wendet das für die LAS-Dateiversion 1.4 angegebene Klassifizierungsschema an:
Klassifizierungswert Klassifizierungstyp 0
Nie klassifiziert
1
Nicht zugewiesen
2
Boden
3
Niedrige Vegetation
4
Mittelhohe Vegetation
5
Hohe Vegetation
6
Gebäude
7
Niedriges Rauschen
8
Modellschlüssel/Reserviert
9
Wasser
10
Schienen
11
Straßenbelag
12
Überlappung/Reserviert
13
Draht - Schutz
14
Draht - Leiter
15
Strommast
16
Drahtverbinder
17
Brückenfahrbahn
18
Hohes Rauschen
19 – 63
Für die ASPRS-Definition reserviert (die Versionen LAS 1.1 bis 1.3 unterstützen bis zum Klassencode 31)
32 – 255
Kann vom Benutzer definiert werden (wird nur in LAS 1.0 und bestimmten Versionen von 1.4 unterstützt)
Das LAS-Format unterstützt die Speicherung von zahlreichen vordefinierten Attributen für jeden LIDAR-Punkt. Wenn Ihnen nicht bekannt ist, welche Attribute mit einer bestimmten Sammlung von LAS-Dateien verfügbar sind, verwenden Sie ein LAS-Dataset, um die LAS-Dateieigenschaften zu überprüfen.
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
arcpy.ddd.LASToMultipoint(input, out_feature_class, average_point_spacing, {class_code}, {return}, {attribute}, {input_coordinate_system}, {file_suffix}, {z_factor}, {folder_recursion})
Parameter | Erklärung | Datentyp |
input [input,...] | Die LAS- oder ZLAS-Dateien, die in eine Multipoint-Feature-Class importiert werden sollen. Wenn ein Ordner angegeben wird, werden alle darin enthaltenen LAS-Dateien importiert. Im Dialogfeldfenster des Werkzeugs kann ein Ordner auch als Eingabe festgelegt werden, indem der gewünschte Ordner in Windows Explorer ausgewählt und in das Eingabefeld des Parameters gezogen wird. | Folder; File |
out_feature_class | Die Feature-Class, die von diesem Werkzeug erstellt wird. | 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. Zulässig sind Werte im Bereich von 1 bis 32. Standardmäßig wird kein Filter angewendet. | Long |
return [return,...] (optional) | Die Rückgabewerte zum Filtern der LAS-Punkte, die in Multipoint-Features importiert werden.
| String |
attribute [[keyword, name],...] (optional) | Die LAS-Punkteigenschaften, deren Werte in Binary Large Object (BLOB)-Feldern der Attributtabelle der Ausgabe gespeichert werden. Wenn die resultierenden Features an einem Terrain-Dataset beteiligt sind, kann das Terrain mit den gespeicherten Attributen symbolisiert werden. Die Spalte Name gibt den Namen des Feldes an, das zum Speichern der angegebenen Attribute verwendet wird. Folgende LAS-Eigenschaften werden unterstützt:
| Value Table |
input_coordinate_system (optional) | Das Koordinatensystem der Eingabe-LAS-Datei. | 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 Z-Werte 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. Der Parameter ist deaktiviert, wenn der Raumbezug der Eingabe-Oberfläche über ein Z-Datum mit einer angegebenen linearen Einheit verfügt. | 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
LASToMultipoint: 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.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)
LASToMultipoint: 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