Zusammenfassung
Reklassifiziert LIDAR-Punkte basierend auf ihrer Höhe von der Bodenoberfläche.
Verwendung
Mit diesem Werkzeug werden LAS-Punkte mit den Klassencodewerten "0" oder "1" basierend auf ihrer Höhe von der Bodenoberfläche reklassifiziert, die mit LIDAR-Rückgaben erstellt wurde, denen der Klassencodewert "2" oder "8" zugewiesen ist. Wenn LIDAR-Bodenrückgaben andere Werte als "2" oder "8" verwenden, nutzen Sie das Werkzeug LAS-Klassencodes ändern, damit die Klassencodedefinition den Spezifikationen des LAS-Formats entspricht.
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
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)
Syntax
arcpy.ddd.ClassifyLasByHeight(in_las_dataset, ground_source, height_classification, {noise}, {compute_stats}, {extent}, {process_entire_files}, boundary)
Parameter | Erklärung | 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 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) | Legen Sie die Ausdehnung der Daten fest, die von diesem Werkzeug ausgewertet werden. | Extent |
process_entire_files (optional) | Legen Sie fest, wie die Verarbeitungsausdehnung angewendet werden soll.
| Boolean |
boundary | Ein Polygon-Feature, das die Region definiert, für die LAS-Bodenpunkte ausgewertet werden. | Feature Layer |
Abgeleitete Ausgabe
Name | Erklärung | Datentyp |
out_las_dataset | Das LAS-Dataset, das geändert wurde. | LAS-Dataset-Layer |
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
- Basic: Erfordert 3D Analyst
- Standard: Erfordert 3D Analyst
- Advanced: Erfordert 3D Analyst