Gebäude aus LAS klassifizieren (3D Analyst)

Zusammenfassung

Klassifiziert Gebäudedächer und -seiten in LAS-Daten.

Abbildung

Klassifizierung von Dachpunkten von Gebäuden.

Verwendung

  • Punkte, die Wände, vertikale Fassaden und kleine Dach-Features wie Dachgauben und Kamine darstellen, werden möglicherweise nicht in der Gebäudeklassifizierung mitberücksichtigt. Wenn diese Punkte einbezogen werden sollen, können Sie das Werkzeug mit den Optionen zur Klassifizierung von ober- und unterhalb des Daches liegenden Punkten ausführen.

  • Die LAS-Daten müssen klassifizierte Bodenpunkte aufweisen, bevor Dachpunkte von Gebäuden klassifiziert werden können. Wenn noch keine Bodenpunkte klassifiziert wurden, können Sie das Werkzeug Boden aus LAS klassifizieren verwenden. Die Bodenpunkte müssen den Klassencodewert 2 aufweisen. Wenn Bodenpunkte über einen anderen Klassencodewert als 2 verfügen, verwenden Sie das Werkzeug LAS-Klassencodes ändern, um den Klassencode entsprechend neu zuzuweisen.

  • LAS-Punkte mit den Klassencodewerten 0, 1 und 6 werden ausgewertet, um zu bestimmen, ob sie die Eigenschaften von Gebäudedächern aufweisen. Wenn Punkte, die als Gebäude klassifiziert wurden, diese Kriterien nicht erfüllen, wird ihnen der neue Klassencodewert 1 zugewiesen, es sei denn, die Option zur Wiederverwendung vorhandener Punkte, die als Gebäude klassifiziert wurden, ist angegeben.

  • Der Parameter Methode wird nicht verwendet, wenn die Option Photogrammetrische Daten festgelegt ist.

Syntax

ClassifyLasBuilding(in_las_dataset, {min_height}, min_area, {compute_stats}, {extent}, boundary, {process_entire_files}, point_spacing, {reuse_building}, {photogrammetric_data}, {method}, {classify_above_roof}, {above_roof_height}, {above_roof_code}, {classify_below_roof}, {below_roof_code})
ParameterErklärungDatentyp
in_las_dataset

Das LAS-Dataset, das klassifiziert werden soll.

LAS Dataset Layer
min_height
(optional)

Die Höhe vom Boden, die den niedrigsten Punkt festlegt, von dem aus Dachpunkte identifiziert werden.

Linear Unit
min_area

Die kleinste Fläche des Gebäudedachs.

Areal 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.

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
point_spacing

Der durchschnittliche Abstand der LAS-Punkte. Dieser Parameter wird nicht mehr verwendet.

Linear Unit
reuse_building
(optional)

Gibt an, ob die vorhandenen, als Gebäude klassifizierten Punkte erneut verwendet oder ausgewertet werden.

Gibt an, ob die vorhandenen, als Gebäude klassifizierten Punkte erneut verwendet oder ausgewertet werden.

  • RECLASSIFY_BUILDINGVorhandene Punkte, die als Gebäude klassifiziert wurden, werden neu ausgewertet, um den Kriterien für die Erkennung von Ebenen zu entsprechen. Punkten, die der angegebenen Fläche und Höhe nicht entsprechen, wird der Wert 1 zugewiesen. Dies ist die Standardeinstellung.
  • REUSE_BUILDINGVorhandene Punkte, die als Gebäude klassifiziert wurden, tragen zur Erkennung von Ebenen bei. Wenn sie die angegebenen Kriterien für die Regelausführung nicht erfüllen, werden sie jedoch nicht neu klassifiziert. Verwenden Sie diese Option, wenn die vorhandene Klassifizierung wünschenswert ist.
Boolean
photogrammetric_data
(optional)

Gibt an, ob die Punkte in der LAS-Datei mit einer photogrammetrischen Methode abgeleitet wurden.

Gibt an, ob die Punkte in der LAS-Datei mit einer photogrammetrischen Methode abgeleitet wurden.

  • NOT_PHOTOGRAMMETRIC_DATADie Punkte in der LAS-Datei stammen aus einer LIDAR-Vermessung und nicht aus einer photogrammetrischen Methode für die Erzeugung von Punktwolken. Dies ist die Standardeinstellung.
  • PHOTOGRAMMETRIC_DATADie Punkte in der LAS-Datei stammen aus einer photogrammetrischen Methode für die Erzeugung von Punktwolken aus überlappenden Bilddaten.
Boolean
method
(optional)

Die zu verwendende Klassifizierungsmethode.

  • AGGRESSIVEPunkte, die den planaren Dacheigenschaften entsprechen, werden mit einer relativ hohen Toleranz für Ausreißer ermittelt. Verwenden Sie diese Methode, wenn die Punkte nicht optimal kalibriert sind.
  • STANDARDPunkte, die den planaren Dacheigenschaften entsprechen, werden mit einer relativ moderaten Toleranz für unregelmäßige Punkte ermittelt. Hierbei handelt es sich um die Standardeinstellung.
  • CONSERVATIVEPunkte, die den planaren Dacheigenschaften entsprechen, werden mit einer relativ niedrigen Toleranz für unregelmäßige Punkte ermittelt. Verwenden Sie diese Methode, wenn die Gebäudepunkte koplanar mit Punkten von Objekten sind, die keine Gebäude sind.
String
classify_above_roof
(optional)

Legt fest, ob Punkte über den für das Dach ermittelten Ebenen klassifiziert werden sollen.

  • NO_CLASSIFY_ABOVE_ROOFDie Punkte über den von diesem Werkzeug ermittelten Ebenen werden nicht klassifiziert. Dies ist die Standardeinstellung.
  • CLASSIFY_ABOVE_ROOFDie Punkte über den von diesem Werkzeug ermittelten Ebenen werden klassifiziert.
Boolean
above_roof_height
(optional)

Die maximale Höhe der Punkte über dem Gebäudedach, die mit dem im Parameter Klassencode für Punkte über Dächern angegebenen Wert klassifiziert werden.

Linear Unit
above_roof_code
(optional)

Der Klassencode, der Punkten über dem Dach zugewiesen wird.

Long
classify_below_roof
(optional)

Legt fest, ob Punkte zwischen dem Dach und dem Erdboden klassifiziert werden sollen.

  • NO_CLASSIFY_BELOW_ROOFPunkte zwischen dem Dach und dem Erdboden werden nicht klassifiziert. Dies ist die Standardeinstellung.
  • CLASSIFY_BELOW_ROOFPunkte zwischen dem Dach und dem Erdboden werden klassifiziert.
Boolean
below_roof_code
(optional)

Der Klassencode, der Punkten zwischen dem Erdboden und dem Dach zugewiesen wird.

Long

Abgeleitete Ausgabe

NameErklärungDatentyp
derived_las_dataset

Das LAS-Dataset, das für Gebäudedächer klassifiziert ist.

LAS-Dataset-Layer

Codebeispiel

ClassifyLasBuilding – Beispiel 1 (Python-Fenster)

Anhand des folgenden Beispiels wird die Verwendung dieses Werkzeugs im Python-Fenster veranschaulicht.

arcpy.env.workspace = 'C:/data'

arcpy.ClassifyLasBuilding_3d('Highland.lasd', minHeight='9 feet', 
                             minArea='30 Square Feet', compute_stats=True)
ClassifyLasBuilding – Beispiel 2 (eigenständiges Skript)

Im folgenden Beispiel wird die Verwendung dieses Werkzeugs in einem eigenständigen Python-Skript veranschaulicht.

'''****************************************************************************
       Name: Tile & Classify LAS Files
Description: Creates & classifies tiled LAS files.
****************************************************************************'''
# Import system modules
import arcpy
import tempfile
import math

in_las = arcpy.GetParameterAsText(1) # The LAS files that need to be tiled
out_folder = arcpy.GetParameterAsText(2) # folder for LAS files
basename = arcpy.GetParameterAsText(3) # basename for output files
out_lasd = arcpy.GetParameterAsText(4) # output LAS dataset


try:
    # Create temp LAS dataset to reference LAS files that will be tiled
    temp_lasd = arcpy.CreateUniqueName('temp.lasd', tempfile.gettempdir())
    arcpy.management.CreateLasDataset(in_las, temp_lasd)
    arcpy.ddd.TileLas(temp_lasd, out_folder, basename, out_lasd, las_version=1.4, 
                      point_format=7, file_size=300)
    arcpy.management.Delete(temp_lasd)
    arcpy.ddd.ClassifyLasGround(out_lasd, method='AGGRESSIVE')
    arcpy.ddd.ClassifyLasBuilding(out_lasd, min_height='3 Meters', min_area='4 Meters')
    arcpy.ddd.ClassifyLasByHeight(out_lasd, height_classification=[(3, 6), (4,20), (5,70)],
                                  noise='All Noise', compute_stats='COMPUTE_STATS')

except arcpy.ExecuteError:
    print(arcpy.GetMessages())

Lizenzinformationen

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

Verwandte Themen