LAS Dataset To Raster (Conversion)

Summary

Creates a raster using elevation, intensity, or RGB values stored in the lidar points referenced by the LAS dataset.

Illustration

LAS Dataset To Raster tool illustration

Usage

  • You can have the LAS dataset layer limit the LAS points that are displayed and processed by selecting any combination of classification codes, classification flags, and return values in the layer's filter settings. The filters can be defined on the Layer Properties dialog box or in the Make LAS Dataset Layer tool.

  • The LAS dataset layer can also be used to control the enforcement of surface constraint features that may be referenced by the LAS dataset. The constraints are enforced when displaying or processing the LAS dataset as a triangulated surface.

  • When exporting a large raster, you can specify the Output Data Type parameter value as an integer to save disk space if the accuracy requirements of the z-values can be represented by integer data.

  • Including a study area boundary as a clip constraint in the definition of the input LAS dataset is recommended. One reason is to prevent interpolation from occurring outside the real data extent of the survey. Another is that there can be a severe performance penalty when using natural neighbor options if the data area is not properly defined.

    Note:

    When using binning as the interpolation type, only clip, erase, and replace constraints are honored. Breaklines and anchor points are not. The triangulation interpolation type honors all types of constraints but takes longer to run.

Parameters

LabelExplanationData Type
Input LAS Dataset

The LAS dataset that will be processed.

LAS Dataset Layer
Output Raster

The location and name of the output raster. When storing a raster dataset in a geodatabase or in a folder such as an Esri Grid, do not add a file extension to the name of the raster dataset. A file extension can be provided to define the raster's format when storing it in a folder, such as .tif to generate a GeoTIFF or .img to generate an ERDAS IMAGINE format file.

If the raster is stored as a .tif file or in a geodatabase, the raster compression type and quality can be specified using geoprocessing environment settings.

Raster Dataset
Value Field
(Optional)

Specifies the information from the lidar data that will be used to generate the raster output.

  • ElevationElevation from the lidar files will be used to create the raster. This is the default.
  • IntensityIntensity information from the lidar files will be used to create the raster.
  • RGBRGB values from the lidar points will be used to create 3-band imagery.
String
Interpolation Type
(Optional)

The interpolation type that will be used to determine the cell value of the output raster. Either binning or triangulation based interpolation can be specified. Each type presents unique options for assigning cell values.

When Interpolation Type is set to Binning, the point cloud is evaluated on a cell-by-cell basis. The value of each cell that contains points is determined by the points within the cell, whereas the value of cells without points can either be interpolated or assigned as NoData. The following options are available for the binning type:

  • Cell Assignment—The technique that will be used for assigning values to cells which contain points.
    • Average—Assigns the average value of all points in the cell. This is the default.
    • Minimum—Assigns the minimum value found in the points within the cell.
    • Maximum—Assigns the maximum value found in the points within the cell.
    • IDW—Uses Inverse Distance Weighted interpolation to determine the cell value.
    • Nearest—Uses Nearest Neighbor assignment to determine the cell value.
  • Void Fill Method—The technique that will be used for assigning values to cells that do not contain points.
    • None—NoData is assigned to the cells that do not contain points.
    • Simple—Assigns values to cells without points by averaging the values from the cells that immediately surround them. This technique eliminates small voids.
    • Linear—Constructs a triangulated surface across void areas and uses linear interpolation on the TIN to determine the empty cell's value. This technique will cover very large voids in the data and is the default.
    • Natural Neighbor—Uses natural neighbor interpolation to determine the value of cells with no points. It is recommended that the LAS dataset has a clip polygon surface constraint when using this technique.

When Interpolation Type is set to Triangulation, cell values are derived by constructing in-memory TIN surfaces from the LAS dataset's points and surface constraints. The in-memory TINs are used to interpolate cell values for the output raster. The following options are available for the triangulation type:

  • Interpolation Method
    • Linear—Uses linear interpolation to determine cell values.
    • Natural Neighbors—Uses natural neighbor interpolation to determine cell value.
  • Thinning Type
    • No Thinning—The LAS dataset points will not be thinned when constructing the intermediate TIN surfaces.
    • Window Size—The LAS dataset points will be thinned by dividing the data extent into square bins and selecting a point within each bin. The size of the bin that will be used to subdivide the data area will be determined by the value provided for the Resolution parameter, and the point that is selected will be based on the option specified for the Selection Method parameter.
  • Selection Method
    • Maximum—The point with the highest value in each window size is maintained. This is the default.
    • Minimum—The point with the lowest value in each window size is maintained.
    • Closest To Mean—The point whose value is closest to the average of all point values in the window size is maintained.

When the point thinning type is set to Window Size, the points are subsampled before interpolating the output raster by dividing the data into square grids. The size of the grids are based on the value provided for the resolution. The unit of the value will be based on the linear unit of the LAS dataset's horizontal coordinate system.

The Resolution value is the length of each side of the two-dimensional grid that will be used to subdivide the data when the point thinning type is set to Window Size. The unit for this value is based on the linear units of the data's coordinate system.

Interpolate
Output Data Type
(Optional)

Specifies the type of numeric values that will be stored in the output raster.

  • Floating PointThe output raster will use 32-bit floating point, which supports values ranging from -3.402823466e+38 to 3.402823466e+38. This is the default.
  • IntegerThe output raster will use an appropriate integer bit depth. This option will round z-values to the nearest whole number and write an integer to each raster cell value.
String
Sampling Type
(Optional)

Specifies how the Sampling Value parameter will be interpreted to define the output raster's cell size.

  • ObservationsThe Sampling Value will define the number of columns or rows in the output raster based on whichever is longest. The cell size will be derived by dividing the longest side of the output's extent with the input in the Sampling Value parameter. If an observation value of 3000 is used on a dataset whose longest side is 23.67 kilometers, the output raster's resolution will be 7.89 meters. This method offers a helpful way of creating an output with a predictable size that can be generated rapidly.
  • Cell SizeThe cell size will be directly defined by the Sampling Value parameter. This is the default.
String
Sampling Value
(Optional)

The value used in conjunction with the Sampling Type parameter to define the output raster's cell size.

Double
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

arcpy.conversion.LasDatasetToRaster(in_las_dataset, out_raster, {value_field}, {interpolation_type}, {data_type}, {sampling_type}, {sampling_value}, {z_factor})
NameExplanationData Type
in_las_dataset

The LAS dataset that will be processed.

LAS Dataset Layer
out_raster

The location and name of the output raster. When storing a raster dataset in a geodatabase or in a folder such as an Esri Grid, do not add a file extension to the name of the raster dataset. A file extension can be provided to define the raster's format when storing it in a folder, such as .tif to generate a GeoTIFF or .img to generate an ERDAS IMAGINE format file.

If the raster is stored as a .tif file or in a geodatabase, the raster compression type and quality can be specified using geoprocessing environment settings.

Raster Dataset
value_field
(Optional)

Specifies the information from the lidar data that will be used to generate the raster output.

  • ELEVATIONElevation from the lidar files will be used to create the raster. This is the default.
  • INTENSITYIntensity information from the lidar files will be used to create the raster.
  • RGBRGB values from the lidar points will be used to create 3-band imagery.
String
interpolation_type
"BINNING {cell_assignment_type} {void_fill_method}" or "TRIANGULATION {interpolation_method} {point_thinning_type} {point_selection_method} {resolution}"
(Optional)

The interpolation type that will be used to determine the cell value of the output raster. Either binning or triangulation based interpolation can be specified. Each type presents unique options for assigning cell values.

When Interpolation Type is set to Binning, the point cloud is evaluated on a cell-by-cell basis. The value of each cell that contains points is determined by the points within the cell, whereas the value of cells without points can either be interpolated or assigned as NoData. The following options are available for the binning type:

  • Cell Assignment—The technique that will be used for assigning values to cells which contain points.
    • Average—Assigns the average value of all points in the cell. This is the default.
    • Minimum—Assigns the minimum value found in the points within the cell.
    • Maximum—Assigns the maximum value found in the points within the cell.
    • IDW—Uses Inverse Distance Weighted interpolation to determine the cell value.
    • Nearest—Uses Nearest Neighbor assignment to determine the cell value.
  • Void Fill Method—The technique that will be used for assigning values to cells that do not contain points.
    • None—NoData is assigned to the cells that do not contain points.
    • Simple—Assigns values to cells without points by averaging the values from the cells that immediately surround them. This technique eliminates small voids.
    • Linear—Constructs a triangulated surface across void areas and uses linear interpolation on the TIN to determine the empty cell's value. This technique will cover very large voids in the data and is the default.
    • Natural Neighbor—Uses natural neighbor interpolation to determine the value of cells with no points. It is recommended that the LAS dataset has a clip polygon surface constraint when using this technique.

When Interpolation Type is set to Triangulation, cell values are derived by constructing in-memory TIN surfaces from the LAS dataset's points and surface constraints. The in-memory TINs are used to interpolate cell values for the output raster. The following options are available for the triangulation type:

  • Interpolation Method
    • Linear—Uses linear interpolation to determine cell values.
    • Natural Neighbors—Uses natural neighbor interpolation to determine cell value.
  • Thinning Type
    • No Thinning—The LAS dataset points will not be thinned when constructing the intermediate TIN surfaces.
    • Window Size—The LAS dataset points will be thinned by dividing the data extent into square bins and selecting a point within each bin. The size of the bin that will be used to subdivide the data area will be determined by the value provided for the Resolution parameter, and the point that is selected will be based on the option specified for the Selection Method parameter.
  • Selection Method
    • Maximum—The point with the highest value in each window size is maintained. This is the default.
    • Minimum—The point with the lowest value in each window size is maintained.
    • Closest To Mean—The point whose value is closest to the average of all point values in the window size is maintained.

When the point thinning type is set to Window Size, the points are subsampled before interpolating the output raster by dividing the data into square grids. The size of the grids are based on the value provided for the resolution. The unit of the value will be based on the linear unit of the LAS dataset's horizontal coordinate system.

The Resolution value is the length of each side of the two-dimensional grid that will be used to subdivide the data when the point thinning type is set to Window Size. The unit for this value is based on the linear units of the data's coordinate system.

Interpolate
data_type
(Optional)

Specifies the type of numeric values that will be stored in the output raster.

  • FLOATThe output raster will use 32-bit floating point, which supports values ranging from -3.402823466e+38 to 3.402823466e+38. This is the default.
  • INTThe output raster will use an appropriate integer bit depth. This option will round z-values to the nearest whole number and write an integer to each raster cell value.
String
sampling_type
(Optional)

Specifies how the Sampling Value parameter will be interpreted to define the output raster's cell size.

  • OBSERVATIONSThe Sampling Value will define the number of columns or rows in the output raster based on whichever is longest. The cell size will be derived by dividing the longest side of the output's extent with the input in the Sampling Value parameter. If an observation value of 3000 is used on a dataset whose longest side is 23.67 kilometers, the output raster's resolution will be 7.89 meters. This method offers a helpful way of creating an output with a predictable size that can be generated rapidly.
  • CELLSIZEThe cell size will be directly defined by the Sampling Value parameter. This is the default.
String
sampling_value
(Optional)

The value used in conjunction with the Sampling Type parameter to define the output raster's cell size.

Double
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

Code sample

LasDatasetToRaster example 1 (Python window)

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

arcpy.env.workspace = 'C:/data'
arcpy.ddd.LasDatasetToRaster('baltimore.lasd', 'baltimore.tif', 'INTENSITY',
                          'TRIANGULATION LINEAR WINDOW_SIZE 10', 'FLOAT',
                          'CELLSIZE', 10, 3.28)
LasDatasetToRaster 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)

Related topics