LAS To Multipoint (3D Analyst)

Summary

Creates multipoint features using one or more lidar files.

Illustration

LAS to Multipoint

Usage

  • This tool supports ZLAS and LAS file versions 1.0 to 1.4.

  • ArcGIS uses the LAS classification scheme defined by the American Society for Photogrammetry and Remote Sensing (ASPRS).

    Learn more about lidar point classification

  • The LAS format supports the storage of numerous predefined attributes for each lidar point. If you do not know which attributes are available with a given collection of LAS files, consider using a LAS dataset to review the LAS file properties.

  • When loading multiple LAS attributes into an Oracle database, you'll need to make sure all DBTUNE keywords for parameter attribute_binary are set to use binary large objects (BLOBs), not LONGRAW. This is because LAS attributes are loaded as BLOBs, and Oracle does not support multiple BLOBs in LONGRAW tables. See your Oracle database administrator for assistance.

Parameters

LabelExplanationData Type
Input

The LAS or ZLAS files that will be imported to a multipoint feature class. If a folder is specified, all the LAS files that reside therein will be imported.

In the Geoprocessing pane, a folder can also be specified as an input by selecting the folder in File Explorer and dragging it onto the parameter's input box.

Folder; File
Output Feature Class

The feature class that will be produced.

Feature Class
Average Point Spacing

The average 2D distance between points in the input file or files. This can be an approximation. If areas have been sampled at different densities, specify the smaller spacing. The value needs to be provided in the projection units of the output coordinate system.

Double
Class Codes
(Optional)

The classification codes that will be used as a query filter for LAS data points. Valid values range from 0 to 255. No filter is applied by default.

Long
Return Values
(Optional)

The return values that will be used to filter the LAS points that get imported to multipoint features.

  • ANY_RETURNSAny returns
  • 11
  • 22
  • 33
  • 44
  • 55
  • 66
  • 77
  • 88
  • LAST_RETURNSLast returns
String
Input Attribute Names
(Optional)

The LAS point properties whose values will be stored in binary large object (BLOB) fields in the attribute table of the output. If the resulting features will participate in a terrain dataset, the stored attributes can be used to symbolize the terrain. The Name column indicates the name of the field that will be used to store the specified attributes. The following LAS properties are supported:

  • INTENSITYIntensity
  • RETURN_NUMBERReturn number
  • NUMBER_OF_RETURNSNumber of returns per pulse
  • SCAN_DIRECTION_FLAGScan direction flag
  • EDGE_OF_FLIGHTLINEEdge of flightline
  • CLASSIFICATIONClassification
  • SCAN_ANGLE_RANKScan angle rank
  • FILE_MARKERFile marker
  • USER_BIT_FIELDUser data value
  • GPS_TIMEGPS time
  • COLOR_REDRed band
  • COLOR_GREENGreen band
  • COLOR_BLUEBlue band
Value Table
Coordinate System
(Optional)

The coordinate system of the input LAS file.

Coordinate System
File Suffix
(Optional)

The suffix of the files that will be imported from an input folder. This parameter is required when a folder is specified as input.

String
Z Factor
(Optional)

The factor by which z-values will be multiplied. This is typically used to convert z linear units to match x,y linear units. The default is 1, which leaves elevation values unchanged. This parameter is not available if the spatial reference of the input surface has a z-datum with a specified linear unit.

Double
Include Subfolders
(Optional)

Scans through subfolders when an input folder is selected containing data in a subfolders directory. The output feature class will be generated with a row for each file encountered in the directory structure.

  • Unchecked—Only LAS files found in an input folder will be converted to multipoint features. This is the default.
  • Checked—All LAS files residing in the subdirectories of an input folder will be converted to multipoint features.
Boolean

arcpy.ddd.LASToMultipoint(input, out_feature_class, average_point_spacing, {class_code}, {return}, {attribute}, {input_coordinate_system}, {file_suffix}, {z_factor}, {folder_recursion})
NameExplanationData Type
input
[input,...]

The LAS or ZLAS files that will be imported to a multipoint feature class. If a folder is specified, all the LAS files that reside therein will be imported.

In the Geoprocessing pane, a folder can also be specified as an input by selecting the folder in File Explorer and dragging it onto the parameter's input box.

Folder; File
out_feature_class

The feature class that will be produced.

Feature Class
average_point_spacing

The average 2D distance between points in the input file or files. This can be an approximation. If areas have been sampled at different densities, specify the smaller spacing. The value needs to be provided in the projection units of the output coordinate system.

Double
class_code
[class_code,...]
(Optional)

The classification codes that will be used as a query filter for LAS data points. Valid values range from 0 to 255. No filter is applied by default.

Long
return
[return,...]
(Optional)

The return values that will be used to filter the LAS points that get imported to multipoint features.

  • ANY_RETURNSAny returns
  • 11
  • 22
  • 33
  • 44
  • 55
  • 66
  • 77
  • 88
  • LAST_RETURNSLast returns
String
attribute
[[keyword, name],...]
(Optional)

The LAS point properties whose values will be stored in binary large object (BLOB) fields in the attribute table of the output. If the resulting features will participate in a terrain dataset, the stored attributes can be used to symbolize the terrain. The Name column indicates the name of the field that will be used to store the specified attributes. The following LAS properties are supported:

  • INTENSITYIntensity
  • RETURN_NUMBERReturn number
  • NUMBER_OF_RETURNSNumber of returns per pulse
  • SCAN_DIRECTION_FLAGScan direction flag
  • EDGE_OF_FLIGHTLINEEdge of flightline
  • CLASSIFICATIONClassification
  • SCAN_ANGLE_RANKScan angle rank
  • FILE_MARKERFile marker
  • USER_BIT_FIELDUser data value
  • GPS_TIMEGPS time
  • COLOR_REDRed band
  • COLOR_GREENGreen band
  • COLOR_BLUEBlue band
Value Table
input_coordinate_system
(Optional)

The coordinate system of the input LAS file.

Coordinate System
file_suffix
(Optional)

The suffix of the files that will be imported from an input folder. This parameter is required when a folder is specified as input.

String
z_factor
(Optional)

The factor by which z-values will be multiplied. This is typically used to convert z linear units to match x,y linear units. The default is 1, which leaves elevation values unchanged. This parameter is not available if the spatial reference of the input surface has a z-datum with a specified linear unit.

Double
folder_recursion
(Optional)

Scans through subfolders when an input folder is selected containing data in a subfolders directory. The output feature class will be generated with a row for each file encountered in the directory structure.

  • NO_RECURSIONOnly LAS files found in an input folder will be converted to multipoint features. This is the default.
  • RECURSIONAll LAS files residing in the subdirectories of an input folder will be converted to multipoint features.
Boolean

Code sample

LASToMultipoint example 1 (Python window)

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

arcpy.env.workspace = "C:/data"
arcpy.ddd.LASToMultipoint("001.las", "Test.gdb/feature_dataset/sample_1", 1.5, 
                        "2", "ANY_RETURNS", "INTENSITY", "Coordinate Systems"\
                        "/Projected Coordinate Systems/UTM/NAD 1983/NAD 1983 "\
                        "UTM Zone 17N.prj", "las", 1)
LASToMultipoint example 2 (stand-alone script)

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

'''****************************************************************************
Name: Define Data Boundary of LAS File
Description: This script demonstrates how to delineate data boundaries of 
             LAS files with irregularly clustered points. It is intended for 
             use as a script tool with one input LAS file.
****************************************************************************'''
# Import system modules
import arcpy

# Set local variables
inLas = arcpy.GetParameterAsText(0)  # input LAS file
ptSpacing = arcpy.GetParameterAsText(1)  # LAS point spacing
classCode = arcpy.GetParameterAsText(2)  # List of integers
returnValue = arcpy.GetParameterAsText(3)  # List of strings
outTin = arcpy.GetParameterAsText(4)  # TIN created to delineate data area
outBoundary = arcpy.GetParameterAsText(5)  # Polygon boundary file

try:
    # Execute LASToMultipoint
    lasMP = arcpy.CreateUniqueName('lasMultipoint', 'in_memory')
    arcpy.ddd.LASToMultipoint(inLas, LasMP, ptSpacing, class_code, 
                             "ANY_RETURNS", "", sr, inFormat, zfactor)
    # Execute CreateTin
    arcpy.ddd.CreateTin(outTin, sr, "{0} Shape.Z masspoints"\
                       .format(lasMP), "Delaunay")
    # Execute CopyTin
    arcpy.ddd.CopyTin(outTin, "{0}_copy".format(outTin))
    # Execute DelineateTinDataArea
    maxEdge = ptSpacing * 4
    arcpy.ddd.DelineateTinDataArea(outTin, maxEdge, "PERIMETER_ONLY")
    # Execute TinDomain
    arcpy.ddd.TinDomain(outTin, outBoundary, "POLYGON")
        
except arcpy.ExecuteError:
    print(arcpy.GetMessages())
except Exception as err:
    print(err)

Related topics