Zusammenfassung
Klassifiziert Bodenpunkte in LIDAR-Luftbilddaten.
Abbildung
Verwendung
Für dieses Werkzeug muss das Eingabe-LAS-Dataset ein projiziertes Koordinatensystem aufweisen. In einem geographischen Koordinatensystem gespeicherte Daten können mithilfe des Werkzeugs LAS extrahieren mit einem projizierten Koordinatensystem in der Umgebungseinstellung "Ausgabe-Koordinatensystem" neu projiziert werden.
Nur LAS-Punkte mit den Klassencodewerten 0, 1 oder 2 können als Bodenpunkte zugewiesen werden. Wenn Ihre LAS-Dateien verschiedene Klassencodewerte zur Darstellung von nicht klassifizierten oder Bodenmessungen verwenden, können Sie sie mit dem Werkzeug LAS-Klassencodes ändern entsprechend neu zuweisen. Der Klassifizierungsprozess ignoriert auch Punkte, die mit den Klassifizierungs-Flags "Überlappung" oder "Zurückgehalten" versehen sind.
Sie können den Parameter DEM-Auflösung verwenden, um schnellere Ergebnisse zu erzielen, wenn die Punkte mit Bodenklassifizierung zum Erstellen einer Boden-Raster-Oberfläche mit einer bestimmten Auflösung verwendet werden. Die Performance-Verbesserung wird erreicht, indem die Anzahl der dem Bodenklassencode zugewiesenen Punkte reduziert wird, die für die angegebene Auflösung erforderliche Abdeckung jedoch beibehalten wird.
Beim Klassifizieren von LAS-Rückgaben über ein Terrain mit sehr unterschiedlichen Neigungseigenschaften, wie etwa relativ ebenen Flächen neben Stellen mit Steilhangprofilen, führen Sie die Bodenklassifizierung einmal mit der Standardmethode und ein zweites Mal mit der aggressiven Erkennungsmethode aus, und verwenden Sie dabei erneut die aktivierte Bodenoption. Wenden Sie eine Verarbeitungsausdehnung an, oder geben Sie eine Polygongrenze an, um diese Operation auf die Region zu begrenzen, für die sie benötigt wird.
Standorte mit Brücken und Autobahnauf- und -abfahrten sollten überprüft werden, da sie möglicherweise falsch als Boden klassifiziert sind.
Syntax
arcpy.ddd.ClassifyLasGround(in_las_dataset, method, {reuse_ground}, {dem_resolution}, {compute_stats}, {extent}, boundary, {process_entire_files})
Parameter | Erklärung | Datentyp |
in_las_dataset | Das zu verarbeitende LAS-Dataset. Es werden nur die zuletzt zurückgegebenen LAS-Punkte mit den Klassencodewerten 0, 1 oder 2 überprüft. | LAS Dataset Layer |
method | Gibt die zur Erkennung von Bodenpunkten verwendete Methode an.
| String |
reuse_ground (optional) | Legt fest, ob vorhandene Bodenpunkte reklassifiziert oder wiederverwendet werden sollen.
| Boolean |
dem_resolution (optional) | Eine Entfernung, die dazu führt, dass nur eine Teilmenge von Punkten für die Klassifizierung als Boden überprüft wird, wodurch der Vorgang beschleunigt wird. Sie können diesen Parameter verwenden, wenn eine schnellere Methode zum Erstellen einer DEM-Oberfläche benötigt wird. Diese minimale Entfernung beträgt 0,3 Meter, die angegebene Entfernung muss jedoch mindestens das 1,5-fache des durchschnittlichen Punktabstands der LIDAR-Daten betragen, damit dieser Vorgang wirksam wird. | Linear Unit |
compute_stats (optional) | Gibt an, ob für die vom LAS-Dataset referenzierten LAS-Dateien Statistiken berechnet werden sollen. Durch das Berechnen von Statistiken wird ein räumlicher Index für jede LAS-Datei bereitgestellt, wodurch sich die Analyse- und Darstellungs-Performance verbessert. Ferner werden durch Statistiken die Filter- und Symbolisierungsverfahren verbessert, da die Anzeige von LAS-Attributen, beispielsweise Klassifizierungscodes und Rückgabeinformationen, auf die in der LAS-Datei vorhandenen Werte begrenzt wird.
| Boolean |
extent (optional) | Legt die Ausdehnung der Daten fest, die von diesem Werkzeug ausgewertet werden. | Extent |
boundary | Ein Polygon-Feature, das den Interessenbereich definiert, der von diesem Werkzeug verarbeitet werden soll. | Feature Layer |
process_entire_files (optional) | Legt fest, wie die Verarbeitungsausdehnung angewendet werden soll.
| Boolean |
Abgeleitete Ausgabe
Name | Erklärung | Datentyp |
out_las_dataset | Das LAS-Dataset, das geändert wurde. | LAS-Dataset-Layer |
Codebeispiel
ClassifyLasGround – Beispiel 1 (Python-Fenster)
Anhand des folgenden Beispiels wird die Verwendung dieses Werkzeugs im Python-Fenster veranschaulicht.
arcpy.env.workspace = 'C:/data'
arcpy.ClassifyLasGround_3d('metro.lasd', 'CONSERVATIVE',
boundary='study_area.shp',
process_entire_files='PROCESS_ENTIRE_FILES')
ClassifyLasGround – Beispiel 2 (eigenständiges Skript)
Im folgenden Beispiel wird die Verwendung dieses Werkzeugs in einem eigenständigen Python-Skript veranschaulicht.
'''****************************************************************************
Name: Classify Ground & Vegetation in Forest Environment
Description: Classify points representing vegetation with LAS class code values
of 3, 4, and 5. The code is designed for use as a script tool.
****************************************************************************'''
# Import system modules
import arcpy
# Set Local Variables
inLas = arcpy.GetParameterAsText(0)
recursion = arcpy.GetParameterAsText(1)
lasd = arcpy.GetParameterAsText(2)
try:
arcpy.CheckOutExtension('3D')
# Execute CreateLasDataset
arcpy.management.CreateLasDataset(inLas, lasd, folder_recursion=recursion)
# Make an initial pass of ground classifier
arcpy.ddd.ClassifyLasGround(lasd, method="Conservative")
# Make a secondary pass to capture ridges
arcpy.ddd.ClassifyLasGround(lasd, method="Aggressive",
reuse_ground="REUSE_GROUND")
# Classify vegetation
arcpy.ddd.ClassifyLasByHeight(lasd, ground_source='GROUND',
height_classification=[[3, 5],
[4, 17],
[5, 120]],
noise='HIGH_NOISE', compute_stats="COMPUTE_STATS")
arcpy.CheckInExtension('3D')
except arcpy.ExecuteError:
print(arcpy.GetMessages())
Umgebungen
Lizenzinformationen
- Basic: Erfordert 3D Analyst
- Standard: Erfordert 3D Analyst
- Advanced: Erfordert 3D Analyst