Boden aus LAS klassifizieren (3D Analyst)

Zusammenfassung

Klassifiziert Bodenpunkte in LIDAR-Luftbilddaten.

Abbildung

Boden aus LAS klassifizieren

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.3d.ClassifyLasGround(in_las_dataset, method, {reuse_ground}, {dem_resolution}, {compute_stats}, {extent}, boundary, {process_entire_files})
ParameterErklärungDatentyp
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.

  • STANDARDDiese Methode weist eine Toleranz für Neigungsvariation auf, die es ihr ermöglicht, graduelle Unebenheiten in der Topografie des Bodens zu erfassen. Diese Typen von scharfen Reliefs werden eher von der aggressiven als von der konservativen Option erfasst. Dies ist die Standardeinstellung.
  • CONSERVATIVEVerglichen mit anderen Optionen verwendet diese Methode eine straffere Beschränkung der Neigungsvariation des Bodens, wodurch der Boden von tief liegender Vegetation wie Gras und Sträuchern differenziert werden kann. Sie ist optimal für Topografien mit minimaler Krümmung geeignet.
  • AGGRESSIVEDiese Methode ermöglicht die Erkennung von Bodenflächen mit schärferen Reliefs wie Bergkämme und Bergspitzen, die von der STANDARDmethode ignoriert werden. Diese Methode wird am besten bei der zweiten Ausführung dieses Werkzeugs verwendet, wobei der Parameter reuse_ground auf REUSE_GROUND festgelegt ist. Vermeiden Sie die Verwendung dieser Methode in städtischen Gebieten oder flachen, ländlichen Gebieten, da dies dazu führen kann, dass höhere Objekte wie Versorgungstürme, Vegetation und Gebäudeteile falsch als Boden klassifiziert werden.
String
reuse_ground
(optional)

Legt fest, ob vorhandene Bodenpunkte reklassifiziert oder wiederverwendet werden sollen.

  • RECLASSIFY_GROUNDVorhandene Bodenpunkte werden reklassifiziert. Punkten, die nicht Teil des Bodens sind, wird der Klassencodewert 1 erneut zugewiesen, der nicht klassifizierte Punkte darstellt. Dies ist die Standardeinstellung.
  • REUSE_GROUNDVorhandene Bodenpunkte werden akzeptiert und ohne Überprüfung wiederverwendet und tragen zur Bestimmung nicht klassifizierter Punkte bei.
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.

  • COMPUTE_STATSEs werden Statistiken berechnet.
  • NO_COMPUTE_STATSEs werden keine Statistiken berechnet. Dies ist die Standardeinstellung.
Boolean
extent
(optional)

Legt die Ausdehnung der Daten fest, die von diesem Werkzeug ausgewertet werden.

  • MAXOF: Die maximale Ausdehnung aller Eingaben wird verwendet.
  • MINOF: Die kleinste gemeinsame Fläche aller Eingaben wird verwendet.
  • DISPLAY: Die Ausdehnung entspricht der sichtbaren Anzeige.
  • Layer-Name: Die Ausdehnung des angegebenen Layers wird verwendet.
  • Extent-Objekt: Die Ausdehnung des angegebenen Objekts wird verwendet.
  • Durch Leerzeichen getrennte Koordinatenzeichenfolge: Die Ausdehnung der angegebenen Zeichenfolge wird verwendet. Die Koordinaten werden in der Reihenfolge X-Min, Y-Min, X-Max, Y-Max ausgedrückt.
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.

  • PROCESS_EXTENTEs werden nur LAS-Punkte verarbeitet, die den Interessenbereich schneiden. Dies ist die Standardeinstellung.
  • PROCESS_ENTIRE_FILESWenn ein Teil einer LAS-Datei den Interessenbereich schneidet, werden alle Punkte in dieser LAS-Datei verarbeitet, einschließlich derer außerhalb des Interessenbereichs.
Boolean

Abgeleitete Ausgabe

NameErklärungDatentyp
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())

Lizenzinformationen

  • Basic: Erfordert 3D Analyst
  • Standard: Erfordert 3D Analyst
  • Advanced: Erfordert 3D Analyst

Verwandte Themen