Zusammenfassung
Wertet die Statistiken von LAS-Punkten aus, die die von Polygon-Features definierte Fläche überlagern.
Verwendung
-
Mit dem LAS-Dataset-Layer können Sie die angezeigten und verarbeiteten LAS-Punkte begrenzen, indem Sie in den Filtereinstellungen des Layers eine beliebige Kombination von Klassifizierungscodes, Klassifizierungs-Flags und Rückgabewerten auswählen. Die Filter können über das Dialogfeld Layer-Eigenschaften oder mit dem Werkzeug LAS-Dataset-Layer erstellen definiert werden.
Verwenden Sie dieses Werkzeug, um die Eigenschaften von LIDAR-Punkten über Regionen von Interesse zu bestimmen, die von Polygon-Grenzen definiert wurden. Es werden nur Höhen ausgewertet, die aus LAS-Punkten abgerufen wurden. Alle von Oberflächeneinschränkungs-Features bereitgestellten Z-Werte, die von dem LAS-Dataset referenziert wurden, werden ignoriert.
Mit diesem Werkzeug werden mehrere Felder zu der Attributtabelle der Eingabe-Features hinzugefügt. Wenn die Felder bereits vorhanden sind, werden deren Werte überschrieben. Die Werte in den aktualisierten Feldern zeigen die angegebenen Statistiken zu LAS-Punkten an, die das Eingabe-Feature überlappen:
- Z_MIN: Der niedrigste Z-Wert.
- Z_MAX: Der höchste Z-Wert.
- Z_MEAN: Der durchschnittliche Z-Wert.
- POINT_COUNT: Die Summe der ausgewerteten LAS-Punkte.
- STD_DEV: Die Standardabweichung der Z-Werte.
Syntax
arcpy.3d.LasPointStatsByArea(in_las_dataset, in_features, out_property)
Parameter | Erklärung | Datentyp |
in_las_dataset | Das zu verarbeitende LAS-Dataset. | LAS Dataset Layer |
in_features | Das Polygon, das die Fläche definiert, für die Statistiken ausgegeben werden. | Feature Layer |
out_property [out_property,...] | Die Eigenschaften, die berechnet werden.
| String |
Abgeleitete Ausgabe
Name | Erklärung | Datentyp |
output_polygons | Die aktualisierten Eingabe-Polygon-Features. | Feature-Class |
Codebeispiel
Anhand des folgenden Beispiels wird die Verwendung dieses Werkzeugs im Python-Fenster veranschaulicht.
import arcpy
from arcpy import env
env.workspace = 'C:/data'
arcpy.ddd.LasPointStatsByArea('city_lidar.lasd', 'study_area.shp',
['Z_MIN', 'Z_MAX'])
Im folgenden Beispiel wird die Verwendung dieses Werkzeugs in einem eigenständigen Python-Skript veranschaulicht.
'''****************************************************************************
Name: Extract Building Footprints
Description: Extract footprint from lidar points classified as buildings,
regularize its geometry, and calculate the building height.
****************************************************************************'''
import arcpy
lasd = arcpy.GetParameterAsText(0)
footprint = arcpy.GetParameterAsText(1)
try:
lasd_layer = 'building points'
arcpy.management.MakeLasDatasetLayer(lasd, lasd_layer, class_code=6)
temp_raster = 'in_memory/bldg_raster'
arcpy.management.LasPointStatsAsRaster(lasd_layer, temp_raster,
'PREDOMINANT_CLASS', 'CELLSIZE', 2.5)
temp_footprint = 'in_memory/footprint'
arcpy.conversion.RasterToPolygon(temp_raster, temp_footprint)
arcpy.ddd.RegularizeBuildingFootprint(temp_footprint, footprint,
method='RIGHT_ANGLES')
arcpy.ddd.LasPointStatsByArea(lasd_layer, footprint, ['MIN_Z', 'MAX_Z'])
arcpy.management.AddField(footprint, 'Height', 'Double')
arcpy.management.CalculateField(footprint, 'Height',
"round('!Z_Max! - !Z_Min!', 2)",
'PYTHON_9.3')
except arcpy.ExecuteError:
print(arcpy.GetMessages())
Umgebungen
Lizenzinformationen
- Basic: Erfordert 3D Analyst
- Standard: Erfordert 3D Analyst
- Advanced: Erfordert 3D Analyst