ArcGIS Desktop

  • Documentation
  • Support

  • My Profile
  • Help
  • Sign Out
ArcGIS Desktop

ArcGIS Online

The mapping platform for your organization

ArcGIS Desktop

A complete professional GIS

ArcGIS Enterprise

GIS in your enterprise

ArcGIS for Developers

Tools to build location-aware apps

ArcGIS Solutions

Free template maps and apps for your industry

ArcGIS Marketplace

Get apps and data for your organization

  • Documentation
  • Support
Esri
  • Sign In
user
  • My Profile
  • Sign Out

ArcMap

  • Home
  • Get Started
  • Map
  • Analyze
  • Manage Data
  • Tools
  • Extensions

Make LAS Dataset Layer

  • Summary
  • Usage
  • Syntax
  • Code sample
  • Environments
  • Licensing information

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.

  • The LAS format supports the classification of each point based on the specifications defined by the American Society for Photogrammetry and Remote Sensing (ASPRS). The ArcGIS platform applies the classification scheme specified for LAS file version 1.4:

    Classification Value Classification Type

    0

    Never Classified

    1

    Unassigned

    2

    Ground

    3

    Low Vegetation

    4

    Medium Vegetation

    5

    High Vegetation

    6

    Building

    7

    Low Noise

    8

    Model Key / Reserved

    9

    Water

    10

    Rail

    11

    Road Surface

    12

    Overlap / Reserved

    13

    Wire – Guard

    14

    Wire – Conductor

    15

    Transmission Tower

    16

    Wire – Connector

    17

    Bridge Deck

    18

    High Noise

    19 – 63

    Reserved for ASPRS Definition (LAS 1.1 to 1.3 support up to class code 31)

    32 – 255

    User Definable (Only supported in LAS 1.0 and certain versions of 1.4)

    Note:

    While the bulk of new class code assignments introduced with LAS 1.4 were previously designated as Reserved, class codes 8 and 12 were changed from Model Key and Overlap to Reserved.

Syntax

MakeLasDatasetLayer_management (in_las_dataset, out_layer, {class_code}, {return_values}, {no_flag}, {synthetic}, {keypoint}, {withheld}, {surface_constraints})
ParameterExplanationData 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.

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

Specifies the return values to be used for filtering LAS points. When nothing is specified, all returns are used.

  • Last Return —Last return
  • First of Many —First of many
  • Last of Many —Last of many
  • Single Return —Single return
  • 1 —1
  • 2 —2
  • 3 —3
  • 4 —4
  • 5 —5
  • 6 —6
  • 7 —7
  • 8 —8
String
no_flag
(Optional)

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

  • INCLUDE_UNFLAGGED —Unflagged points will be displayed. This is the default.
  • EXCLUDE_UNFLAGGED —Unflagged points will not be displayed.
Boolean
synthetic
(Optional)

Indicates 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_SYNTHETIC —Synthetic points will be displayed. This is the default.
  • EXCLUDE_SYNTHETIC —Synthetic points will not be displayed.
Boolean
keypoint
(Optional)

Indicates 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_KEYPOINT —Model key points will be displayed. This is the default.
  • EXCLUDE_KEYPOINT —Model key points will not be displayed.
Boolean
withheld
(Optional)

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

  • EXCLUDE_WITHHELD —Withheld points will not be displayed. This is the default.
  • INCLUDE_WITHHELD —Withheld 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

Code sample

MakeLasDatasetLayer example 1 (Python window)

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

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

Environments

  • Current Workspace

Licensing information

  • ArcGIS Desktop Basic: Yes
  • ArcGIS Desktop Standard: Yes
  • ArcGIS Desktop Advanced: Yes

Related topics

  • An overview of the Layers and Table Views toolset
  • Using layers and table views
  • Working with layers and table views

ArcGIS Desktop

  • Home
  • Documentation
  • Support

ArcGIS Platform

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

About Esri

  • About Us
  • Careers
  • Esri Blog
  • User Conference
  • Developer Summit
Esri
Tell us what you think.
Copyright © 2019 Esri. | Privacy | Legal