Zusammenfassung
Berechnet Statistiken zur Verteilung der Höhenmesswerte von Vegetationspunkten, die in LAS-Daten erfasst wurden.
Verwendung
Mit diesem Werkzeug werden statistische Ableitungen von Punkten über dem Boden generiert, um umfassendere Erkenntnisse zu Baumkronen zu gewinnen. LAS-Punkte mit einem Klassencodewert von 0 oder 1 für nicht klassifizierte Punkte sowie 3, 4 und 5 für Vegetationspunkte werden analysiert.
Vor der Ausführung des Werkzeugs müssen für die verarbeiteten LAS-Daten Bodenpunkte klassifiziert werden. Hierzu kann das Werkzeug Boden aus LAS klassifizieren verwendet werden.
Mit diesem Werkzeug wird für jede Statistikoption und jedes angegebene Höhenperzentil ein Raster ausgegeben. Der Name des jeweiligen Rasters beginnt mit dem angegebenen Basisnamen und dem Höhenkennwert bzw. der räumlichen Statistik. Beim Mittelwert-Raster wird "mean" an den Dateinamen angehängt. Beim Raster für die Standardabweichung wird dem Dateinamen "stdev" hinzugefügt. Beim Raster für die mittlere absolute Abweichung wird der Dateiname um "stdev" ergänzt.
Verwenden Sie den Parameter Minimale Höhe, um sehr tiefe Punkte auszuschließen. Dies gilt insbesondere dann, wenn die Bodenpunkte nicht eingehend klassifiziert wurden, da es hierdurch zu einer Verzerrung bei den Ergebnissen des Werkzeugs kommen kann.
Verwenden Sie den Parameter Minimale Anzahl Punkte, um Flächen mit einer zu geringen Anzahl an Punkten über dem Boden auszuschließen, damit aussagekräftige Ergebnisse erzielt werden.
Syntax
arcpy.ddd.LasHeightMetrics(in_las_dataset, out_location, {base_name}, {statistics}, {height_percentiles}, min_height, min_points, cell_size)
Parameter | Erklärung | Datentyp |
in_las_dataset | Das zu verarbeitende LAS-Dataset. | LAS Dataset Layer |
out_location | Der Ordner oder die Geodatabase, in dem bzw. in der die Ausgabe-Raster-Datasets gespeichert werden sollen. Wenn das Ausgabeverzeichnis ein Ordner ist, haben die resultierenden Raster-Datasets das TIFF-Format. | Workspace |
base_name (optional) | Der Basisname für die Ausgabe-Raster-Datasets. | String |
statistics [statistics,...] (optional) | Gibt die berechneten Statistiken für die nicht klassifizierten Punkte und die Vegetationspunkte über dem Boden an, die innerhalb der Fläche jeder Zelle im Ausgabe-Raster liegen.
| String |
height_percentiles [height_percentiles,...] (optional) | Die Höhe, die durch den angegebenen Prozentsatz der Punkte in der Zelle unterschritten wird. Bei einem Wert von 95 beispielsweise geben die resultierenden Zellenwerte die Höhe an, an der 95 Prozent der Punkte über dem Boden auftreten. | Long |
min_height | Die minimale Höhe über dem Boden für Punkte, die ausgewertet werden sollen. | Linear Unit |
min_points | Die minimale Anzahl an Punkten, die in einer angegebenen Zelle vorhanden sein müssen, damit Höhenkennwerte berechnet werden. Für Zellen mit weniger Punkten als das angegebene Minimum sind dann in der Ausgabe keine Daten vorhanden. | Long |
cell_size | Die Zellengröße der Ausgabe-Raster-Datasets. | Linear Unit |
Abgeleitete Ausgabe
Name | Erklärung | Datentyp |
derived_out_location | Der Speicherort der Ausgabe-Raster-Datasets. | Workspace |
output_rasters | Die Ausgabe-Raster-Datasets. | Raster-Dataset |
Codebeispiel
LasHeightMetrics – 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)
LasHeightMetrics – 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