LAS-Dataset-Layer erstellen (Data Management)
Zusammenfassung
Erstellt einen LAS-Dataset-Layer, der Filter auf die LAS-Dateien anwenden und Oberflächeneinschränkungen, die von einem LAS-Dataset referenziert werden, aktivieren oder deaktivieren kann.
Verwendung
- Dieses Werkzeug erstellt einen temporären Layer im Arbeitsspeicher, der mit dem Werkzeug In Layer-Datei speichern als Layer-Datei gespeichert werden kann. 
- Die LAS-Punkte lassen sich in verschiedenen Kategorien klassifizieren, die das von der LIDAR-Rückgabe gefundene Material beschreiben, z. B. Erde, Gebäude oder Wasser. Von der ASPRS (American Society for Photogrammetry and Remote Sensing; Amerikanische Gesellschaft für Photogrammetrie und Fernerkundung) wurden die folgenden Klassencodes für die LAS-Dateiversionen 1.1, 1.2 und 1.3 definiert: - Klassifizierungswert - Klassifizierungstyp - 0 - Nie klassifiziert - 1 - Nicht zugewiesen - 2 - Erde - 3 - Niedere Vegetation - 4 - Mittlere Vegetation - 5 - Hohe Vegetation - 6 - Gebäude - 7 - Rauschen - 8 - Modellschlüssel - 9 - Wasser - 10 - Reserviert für die ASPRS-Definition - 11 - Reserviert für die ASPRS-Definition - 12 - Überlappung - 13–31 - Reserviert für die ASPRS-Definition  Hinweis: Hinweis:- Die LAS 1.0-Spezifikationen enthalten Klassencodes von 0 bis 255, jedoch kein standardisiertes Klassifizierungsschema. In 1.0-Dateien verwendete Klassencodes werden in der Regel vom Datenanbieter definiert und über Zusatzinformationen bereitgestellt. 
- Der Layer kann als Staging-Basis zum Erstellen von Eingaben in andere Geoverarbeitungswerkzeuge, die ein LAS-Dataset akzeptieren, verwendet werden. Wenn z. B. ein Raster oder ein TIN-Dataset aus LIDAR-Daten der ersten Reflexion von der nackten Erdoberfläche benötigt wird, können die Filteroptionen verwendet werden, um den zweiten Klassencode und den Wert der ersten Reflexion auszuwählen. Der resultierende LAS-Dataset-Layer kann dann im Werkzeug LAS-Dataset in Raster oder dem Werkzeug LAS-Dataset in TIN verwendet werden, um die gewünschte Ausgabe zu erstellen. 
Syntax
| Parameter | Erläuterung | Datentyp | 
| in_las_dataset | Das Eingabe-LAS-Dataset. | LAS Dataset Layer | 
| out_layer | Der Name des resultierenden LAS-Dataset-Layers. Mit Text gefolgt von einem Schrägstich oder einem umgekehrten Schrägstrich wird ein Gruppen-Layer bezeichnet. | Las Dataset Layer | 
| class_code [class_code,...] (optional) | Die Klassifizierungscodes zur Verwendung als Abfragefilter für LAS-Datenpunkte. Gültige Werte liegen zwischen 1 und 32. Standardmäßig wird kein Filter angewendet. | Long | 
| return_values [return_values,...] (optional) | Gibt die zum Filtern der Datenpunkte verwendeten Rückgabewerte an. Wenn nichts angegeben wird, werden alle Rückgaben verwendet. Gültige Rückgabeoptionen sind eine beliebige Zahl zwischen 1 und 5 und eines der folgenden Schlüsselwörter: 
 | 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
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')
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
import exceptions, sys, traceback
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:
    # Get the traceback object
    tb = sys.exc_info()[2]
    tbinfo = traceback.format_tb(tb)[0]
    # Concatenate error information into message string
    pymsg = 'PYTHON ERRORS:\nTraceback info:\n{0}\nError Info:\n{1}'\
          .format(tbinfo, str(sys.exc_info()[1]))
    msgs = 'ArcPy ERRORS:\n {0}\n'.format(arcpy.GetMessages(2))
    # Return python error messages for script tool or Python Window
    arcpy.AddError(pymsg)
    arcpy.AddError(msgs)
    
finally:
    arcpy.management.Delete(lasLyr)