Zusammenfassung
Erstellt einen LAS-Dataset-Layer, der Filter auf LAS-Punkte anwendet und die Umsetzung von Oberflächeneinschränkungs-Features steuert.
Verwendung
Ein LAS-Dataset-Layer kann zum Filtern von Lidar-Daten für nachfolgende Analysen verwendet werden. Ein digitales Höhenmodell (DEM) kann beispielsweise einfach erstellt werden, indem nach dem Klassencode 2 gefiltert wird, der Bodenmessungen darstellt, und anschließend der resultierende Layer als Eingabe an das Werkzeug LAS-Dataset in Raster übergeben wird.
Syntax
arcpy.management.MakeLasDatasetLayer(in_las_dataset, out_layer, {class_code}, {return_values}, {no_flag}, {synthetic}, {keypoint}, {withheld}, {surface_constraints})
Parameter | Erklärung | Datentyp |
in_las_dataset | Das zu verarbeitende LAS-Dataset. | LAS Dataset Layer |
out_layer | Der Name des resultierenden LAS-Dataset-Layers. Ein Gruppen-Layer kann mit einem beliebigen Schrägstich oder umgekehrten Schrägstrich bezeichnet werden. | LAS Dataset Layer |
class_code [class_code,...] (optional) | Ermöglicht das Filtern von LAS-Punkten durch Klassifizierungscodes. Der Bereich gültiger Werte hängt von den Klassencodes ab, die von der Version der durch das LAS-Dataset referenzierten LAS-Dateien unterstützt werden. Standardmäßig werden alle Klassencodes ausgewählt.
| String |
return_values [return_values,...] (optional) | Die zum Filtern der LAS-Punkte verwendeten Rückgabewerte. Wenn kein Wert angegeben wird, werden alle Rückgaben verwendet.
| String |
no_flag (optional) | Gibt an, ob Datenpunkte, denen keine Klassifizierungs-Flags zugewiesen sind, für die Anzeige und Analyse aktiviert werden sollen.
| Boolean |
synthetic (optional) | Gibt an, ob als synthetisch gekennzeichnete Datenpunkte oder Punkte aus anderen Datenquellen als LIDAR für die Anzeige und Analyse aktiviert werden sollen.
| Boolean |
keypoint (optional) | Gibt an, ob Datenpunkte, die als Modellschlüsselpunkte gekennzeichnet sind, oder wesentliche Messungen, die nicht ausgedünnt werden dürfen, für die Anzeige und Analyse aktiviert werden sollen.
| Boolean |
withheld (optional) | Gibt an, ob Datenpunkte, die als zurückgehalten gekennzeichnet sind, was in der Regel auf unerwünschte Rauschmessungen hinweist, für die Anzeige und Analyse aktiviert werden sollen.
| Boolean |
surface_constraints [surface_constraints,...] (optional) | Der Name der Oberflächeneinschränkungs-Features, die im Layer aktiviert werden. Alle Einschränkungen sind standardmäßig aktiviert. | String |
Codebeispiel
MakeLasDatasetLayer: Beispiel 1 (Python-Fenster)
Anhand des folgenden Beispiels wird die Verwendung dieses Werkzeugs im Python-Fenster veranschaulicht.
import arcpy
from arcpy import env
arcpy.CheckOutExtension('3D')
env.workspace = 'C:/data'
arcpy.MakeLasDatasetLayer_management('Baltimore.lasd', 'Baltimore Layer',
2, 'LAST', 'INCLUDE_UNFLAGGED',
'EXCLUDE_SYNTHETIC', 'INCLUDE_KEYPOINT',
'EXCLUDE_WITHHELD')
MakeLasDatasetLayer: Beispiel 2 (eigenständiges Skript)
Im folgenden Beispiel wird die Verwendung dieses Werkzeugs in einem eigenständigen Python-Skript veranschaulicht.
'''*********************************************************************
Name: Export Elevation Raster from Ground LAS Measurements
Description: This script demonstrates how to export
ground measurements from LAS files to a raster using a
LAS dataset. This sample is designed to be used as a script
tool.
*********************************************************************'''
# Import system modules
import arcpy
try:
# Set Local Variables
inLas = arcpy.GetParameterAsText(0)
recursion = arcpy.GetParameterAsText(1)
surfCons = arcpy.GetParameterAsText(2)
classCode = arcpy.GetParameterAsText(3)
returnValue = arcpy.GetParameterAsText(4)
spatialRef = arcpy.GetParameterAsText(5)
lasD = arcpy.GetParameterAsText(6)
outRaster = arcpy.GetParameterAsText(7)
cellSize = arcpy.GetParameter(8)
zFactor = arcpy.GetParameter(9)
if arcpy.ProductInfo == 'ArcView':
arcpy.CheckOutExtension('3D')
# Execute CreateLasDataset
arcpy.management.CreateLasDataset(inLas, lasD, recursion, surfCons, sr)
# Execute MakeLasDatasetLayer
lasLyr = arcpy.CreateUniqueName('Baltimore')
arcpy.management.MakeLasDatasetLayer(lasD, lasLyr, classCode, returnValue)
# Execute LasDatasetToRaster
arcpy.conversion.LasDatasetToRaster(lasLyr, outRaster, 'ELEVATION',
'TRIANGULATION LINEAR WINDOW_SIZE 10', 'FLOAT',
'CELLSIZE', cellSize, zFactor)
arcpy.GetMessages()
except arcpy.ExecuteError:
print(arcpy.GetMessages())
except Exception as err:
print(err.args[0])
finally:
arcpy.management.Delete(lasLyr)
Umgebungen
Lizenzinformationen
- Basic: Ja
- Standard: Ja
- Advanced: Ja