Zusammenfassung
Klassifiziert Dachpunkte von Gebäuden in LIDAR-Daten
Abbildung
Verwendung
Für die LAS-Daten müssen Bodenpunkte klassifiziert worden sein, damit Sie Dachpunkte von Gebäuden klassifizieren 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.
Syntax
ClassifyLasBuilding(in_las_dataset, {min_height}, min_area, {compute_stats}, {extent}, boundary, {process_entire_files}, point_spacing, {reuse_building}, {photogrammetric_data})
Parameter | Erklärung | Datentyp |
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 aus koplanaren Punkten, die verwendet wird, um das Vorhandensein eines Gebäudedaches festzustellen. | 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.
| 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 |
point_spacing | Der durchschnittliche Abstand von LAS-Punkten, der verwendet wird, um das Vorhandensein von Gebäudedächern festzustellen. Dieser Wert entspricht standardmäßig dem für das LAS-Dataset berechneten durchschnittlichen Abstand. | 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.
| Boolean |
photogrammetric_data (optional) | Gibt an, ob die Punkte in der LAS-Datei aus einer photogrammetrisch abgeleiteten Punktwolke stammen. Gibt an, ob die Punkte in der LAS-Datei aus einer photogrammetrisch abgeleiteten Punktwolke stammen.
| Boolean |
Abgeleitete Ausgabe
Name | Erklärung | Datentyp |
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())
Umgebungen
Lizenzinformationen
- Basic: Erfordert 3D Analyst
- Standard: Erfordert 3D Analyst
- Advanced: Erfordert 3D Analyst