Make LAS Dataset Layer (Data Management)

Summary

Creates a LAS dataset layer that can apply filters to LAS points and control the enforcement of surface constraint features.

Usage

  • A LAS dataset layer can be used to filter lidar data for subsequent analysis. For example, a digital elevation model (DEM) can be easily created by filtering for class code 2, which represents ground measurements, then using the resulting layer as an input for the LAS Dataset To Raster tool.

    Note:

    The resulting layer can be preserved as a layer file by using the Save To Layer File tool.

Parameters

LabelExplanationData Type
Input LAS Dataset

The LAS dataset to process.

LAS Dataset Layer
Output Layer

The name of the resulting LAS dataset layer. Any backslash or forward slash can be used to denote a group layer.

LAS Dataset Layer
Class Codes
(Optional)

Allows the filtering of LAS points by classification codes. The range of valid values will depend on the class codes supported by the version of LAS files referenced by the LAS dataset. All class codes will be selected by default.

  • 0Never processed by a classification method
  • 1Processed by a classification method but could not be determined
  • 2Bare earth measurements
  • 3Vegetation whose height is considered to be low for the area
  • 4Vegetation whose height is considered to be intermediate for the area
  • 5Vegetation whose height is considered to be high for the area
  • 6Structure with roof and walls
  • 7Erroneous or undesirable data that is closer to the ground
  • 8Reserved for later use, but used for model key points in LAS 1.1 - 1.3
  • 9Water
  • 10Railway tracks used by trains
  • 11Road surfaces
  • 12Reserved for later use, but used for overlap points in LAS 1.1 - 1.3
  • 13Shielding around electrical wires
  • 14Power lines
  • 15A lattice tower used to support an overhead power line
  • 16A mechanical assembly that joins an electrical circuit
  • 17The surface of a bridge
  • 18Erroneous or undesirable data that is far from the ground
  • 19 - 63Reserved class codes for ASPRS designation.
  • 64 - 255User-definable class codes.
String
Return Values
(Optional)

The return values to be used for filtering LAS points. When no value is specified, all returns are used.

  • Single ReturnSingle return
  • First of Many ReturnsFirst of many
  • Last of Many ReturnsLast of many
  • Last ReturnLast return
  • 1st Return1st Return
  • 2nd Return2nd Return
  • 3rd Return3rd Return
  • 4th Return4th Return
  • 5th Return5th Return
  • 6th Return6th Return
  • 7th Return7th Return
  • 8th Return8th Return
  • 9th Return9th Return
  • 10th Return10th Return
  • 11th Return11th Return
  • 12th Return12th Return
  • 13th Return13th Return
  • 14th Return14th Return
  • 15th Return15th Return
String
Unflagged Points
(Optional)

Specifies whether data points that do not have any classification flags assigned should be enabled for display and analysis.

  • Checked—Unflagged points will be displayed. This is the default.
  • Unchecked—Unflagged points will not be displayed.
Boolean
Synthetic Points
(Optional)

Specifies whether data points flagged as synthetic, or points that originated from a data source other than lidar, should be enabled for display and analysis..

  • Checked—Synthetic points will be displayed. This is the default.
  • Unchecked—Synthetic points will not be displayed.
Boolean
Model Key-Point
(Optional)

Specifies whether data points flagged as model key points, or significant measurements that should not be thinned away, should be enabled for display and analysis.

  • Checked—Model key points will be displayed. This is the default.
  • Unchecked—Model key points will not be displayed.
Boolean
Withheld Points
(Optional)

Specifies whether data points flagged as withheld, which typically represent unwanted noise measurements, should be enabled for display and analysis.

  • Unchecked—Withheld points will not be displayed. This is the default.
  • Checked—Withheld points will be displayed.
Boolean
Surface Constraints
(Optional)

The name of the surface constraint features that will be enabled in the layer. All constraints are enabled by default.

String
Overlap Points
(Optional)

Specifies whether data points flagged as overlap should be enabled for display and analysis.

  • Checked—Overlap points will be displayed. This is the default.
  • Unchecked—Overlap points will not be displayed.
Boolean

arcpy.management.MakeLasDatasetLayer(in_las_dataset, out_layer, {class_code}, {return_values}, {no_flag}, {synthetic}, {keypoint}, {withheld}, {surface_constraints}, {overlap})
NameExplanationData Type
in_las_dataset

The LAS dataset to process.

LAS Dataset Layer
out_layer

The name of the resulting LAS dataset layer. Any backslash or forward slash can be used to denote a group layer.

LAS Dataset Layer
class_code
[class_code,...]
(Optional)

Allows the filtering of LAS points by classification codes. The range of valid values will depend on the class codes supported by the version of LAS files referenced by the LAS dataset. All class codes will be selected by default.

  • 0Never processed by a classification method
  • 1Processed by a classification method but could not be determined
  • 2Bare earth measurements
  • 3Vegetation whose height is considered to be low for the area
  • 4Vegetation whose height is considered to be intermediate for the area
  • 5Vegetation whose height is considered to be high for the area
  • 6Structure with roof and walls
  • 7Erroneous or undesirable data that is closer to the ground
  • 8Reserved for later use, but used for model key points in LAS 1.1 - 1.3
  • 9Water
  • 10Railway tracks used by trains
  • 11Road surfaces
  • 12Reserved for later use, but used for overlap points in LAS 1.1 - 1.3
  • 13Shielding around electrical wires
  • 14Power lines
  • 15A lattice tower used to support an overhead power line
  • 16A mechanical assembly that joins an electrical circuit
  • 17The surface of a bridge
  • 18Erroneous or undesirable data that is far from the ground
  • 19 - 63Reserved class codes for ASPRS designation.
  • 64 - 255User-definable class codes.
String
return_values
[return_values,...]
(Optional)

The return values to be used for filtering LAS points. When no value is specified, all returns are used.

  • Last ReturnLast return
  • First of ManyFirst of many
  • Last of ManyLast of many
  • Single ReturnSingle return
  • 11st Return
  • 22nd Return
  • 33rd Return
  • 44th Return
  • 55th Return
  • 66th Return
  • 77th Return
  • 88th Return
  • 99th Return
  • 1010th Return
  • 1111th Return
  • 1212th Return
  • 1313th Return
  • 1414th Return
  • 1515th Return
String
no_flag
(Optional)

Specifies whether data points that do not have any classification flags assigned should be enabled for display and analysis.

  • INCLUDE_UNFLAGGEDUnflagged points will be displayed. This is the default.
  • EXCLUDE_UNFLAGGEDUnflagged points will not be displayed.
Boolean
synthetic
(Optional)

Specifies whether data points flagged as synthetic, or points that originated from a data source other than lidar, should be enabled for display and analysis..

  • INCLUDE_SYNTHETICSynthetic points will be displayed. This is the default.
  • EXCLUDE_SYNTHETICSynthetic points will not be displayed.
Boolean
keypoint
(Optional)

Specifies whether data points flagged as model key points, or significant measurements that should not be thinned away, should be enabled for display and analysis.

  • INCLUDE_KEYPOINTModel key points will be displayed. This is the default.
  • EXCLUDE_KEYPOINTModel key points will not be displayed.
Boolean
withheld
(Optional)

Specifies whether data points flagged as withheld, which typically represent unwanted noise measurements, should be enabled for display and analysis.

  • EXCLUDE_WITHHELDWithheld points will not be displayed. This is the default.
  • INCLUDE_WITHHELDWithheld points will be displayed.
Boolean
surface_constraints
[surface_constraints,...]
(Optional)

The name of the surface constraint features that will be enabled in the layer. All constraints are enabled by default.

String
overlap
(Optional)

Specifies whether data points flagged as overlap should be enabled for display and analysis.

  • INCLUDE_OVERLAPOverlap points will be displayed. This is the default.
  • EXCLUDE_OVERLAPOverlap points will not be displayed.
Boolean

Code sample

MakeLasDatasetLayer example 1 (Python window)

The following sample demonstrates the use of this tool in the Python window.

arcpy.env.workspace = 'C:/data'
arcpy.MakeLasDatasetLayer_management('Baltimore.lasd', 'Baltimore Layer',
                                     class_code=[2, 6], return_values=['LAST', 'SINGLE'])
MakeLasDatasetLayer example 2 (stand-alone script)

The following sample demonstrates the use of this tool in a stand-alone Python script.

'''*********************************************************************
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)

    # 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)
    print(arcpy.GetMessages())

except arcpy.ExecuteError:
    print(arcpy.GetMessages())

except Exception as err:
    print(err.args[0])

finally:
    arcpy.management.Delete(lasLyr)

Environments

Licensing information

  • Basic: Yes
  • Standard: Yes
  • Advanced: Yes