Zusammenfassung
Reklassifiziert LIDAR-Punkte basierend auf ihrer Höhe von der Bodenoberfläche.
Verwendung
Dieses Werkzeug erfordert, dass LAS-Punkte mithilfe der Klassencodewerte 2 oder 8 als Boden klassifiziert werden. Wenn Punkte, die den Boden darstellen, einem anderen Klassencodewert zugewiesen wurden, können Sie das Werkzeug LAS-Klassencode ändern verwenden, damit die Klassencodedefinition den Spezifikationen des LAS-Formats entspricht. Es werden nur LAS-Punkte mit den Klassencodewerten 0 und 1 reklassifiziert.
Sie können dieses Werkzeug zum Klassifizieren der Vegetation in LIDAR-Daten verwenden, die für Remote-Bereiche mit minimaler Anzahl von Gebäuden erfasst wurden.
Wenden Sie eine Verarbeitungsausdehnung an, um die Eignung der festgelegten Z-Wertbereiche für eine Teilmenge von LAS-Punkten zu überprüfen. Nachdem die reklassifizierte Region als zufriedenstellend erachtet wurde, kann sie anschließend auf eine größere Ausdehnung angewendet werden.
-
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
Erde
3
Niedrige Vegetation
4
Mittelhohe Vegetation
5
Hohe Vegetation
6
Gebäude
7
Niedriger Rauschwert
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)
Syntax
ClassifyLasByHeight_3d (in_las_dataset, ground_source, height_classification, {noise}, {compute_stats}, {extent}, boundary, {process_entire_files})
Parameter | Erläuterung | Datentyp |
in_las_dataset | Das LAS-Dataset, das verarbeitet wird. Es werden nur LAS-Punkte mit den Klassencodewerten 0 und 1 ausgewertet. | LAS Dataset Layer |
ground_source | Die Bodenquellenmessungen zur Bestimmung der Höhe über dem Boden.
| String |
height_classification [class_code, height_from_ground] | Der Klassencodewert, der LAS-Punkten zugewiesen wird, die in den Wertebereich fallen, der von der angegebenen Höhe vom Boden abgeleitet ist. Die Reihenfolge der Einträge hat Auswirkungen auf die Höhenbereiche, anhand derer die Reklassifizierung von LAS-Punkten definiert wird. Der Z-Bereich des ersten Eintrags reicht von der Bodenoberfläche bis zu dem für height_from_ground angegebenen Wert. Der Z-Bereich nachfolgender Einträge reicht von der Obergrenze des vorherigen Eintrags bis zu seinem eigenen Wert für height_from_ground. | Value Table |
noise (optional) | Gibt an, ob Punkte basierend auf ihrer Nähe zum Boden als Rauschen reklassifiziert werden. Rauschen-Artefakte in LIDAR-Daten können durch Sensorfehler und das versehentliche Abfangen von Hindernissen in der Luft, wie Vögel im Pfad des LIDAR-Impulses, entstehen.
| String |
compute_stats (optional) | Gibt an, ob für die vom LAS-Dataset referenzierten LAS-Dateien Statistiken berechnet werden sollen. Durch Statistiken wird es ermöglicht, in den Filter- und Symbologieoptionen des LAS-Dataset-Layers nur die in den LAS-Dateien vorhandenen LAS-Attributwerte anzuzeigen.
| Boolean |
extent (optional) | Legen Sie die Ausdehnung der Daten fest, die von diesem Werkzeug ausgewertet werden. | Extent |
boundary | Ein Polygon-Feature, das die Region definiert, für die LAS-Bodenpunkte ausgewertet werden. | Feature Layer |
process_entire_files (optional) | Legen Sie fest, wie die Verarbeitungsausdehnung angewendet werden soll.
| Boolean |
Codebeispiel
ClassifyLasByHeight – Beispiel 1 (Python-Fenster)
Anhand des folgenden Beispiels wird die Verwendung dieses Werkzeugs im Python-Fenster veranschaulicht.
arcpy.env.workspace = 'C:/data'
arcpy.ClassifyLasByHeight_3d('lidar.lasd', 'Ground',
[[3, 5], [4, 17], [5, 120]], 'HIGH_NOISE')
ClassifyLasByHeight – Beispiel 2 (eigenständiges Skript)
Im folgenden Beispiel wird die Verwendung dieses Werkzeugs in einem eigenständigen Python-Skript veranschaulicht.
'''****************************************************************************
Name: Classify Vegetation Points
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
import exceptions, sys, traceback
# Set Local Variables
inLas = arcpy.GetParameterAsText(0)
recursion = arcpy.GetParameterAsText(1)
lasd = arcpy.GetParameterAsText(2)
extent = arcpy.GetParameter(3)
calcStats = arcpy.GetParameter(4)
try:
# Execute CreateLasDataset
arcpy.management.CreateLasDataset(inLas, lasd, folder_recursion=recursion)
# Execute ChangeLasClassCodes
arcpy.ddd.ClassifyLasByHeight(lasd, ground_source='GROUND',
height_classification=[[3, 5],
[4, 17],
[5, 120]],
noise='ALL_NOISE', compute_stats=calcStats,
extent=extent)
except arcpy.ExecuteError:
print(arcpy.GetMessages())
Umgebungen
Lizenzinformationen
- ArcGIS Desktop Basic: Erfordert 3D Analyst
- ArcGIS Desktop Standard: Erfordert 3D Analyst
- ArcGIS Desktop Advanced: Erfordert 3D Analyst