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

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 through the Layer Properties dialog box or 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, consider specifying the Output Data Type as an integer to save disk space if the accuracy requirements of your z-values are such that they can be represented by integer data.

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

    Note:

    When using BINNING only clip, erase, and replace constraints are honored. Breaklines and anchor points are not. The triangulation option honors all types of constraints but takes longer to execute.

Syntax

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

The LAS dataset to process.

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, no file extension should be added 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 TIFF file or in a geodatabase, its raster compression type and quality can be specified using geoprocessing environment settings.

Raster Dataset
value_field
(Optional)

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 technique that will be used to determine the cell values of the output raster.

The binning approach provides a Cell Assignment Method for determining each output cell using the points that fall within its extent, along with a Void Fill Method to determine the value of cells that do not contain any LAS points.

Cell Assignment Methods

  • 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 Methods

  • NONE—NoData is assigned to the cell.
  • SIMPLE—Averages the values from data cells immediately surrounding a NoData cell to eliminate small voids.
  • LINEAR—Triangulates across void areas and uses linear interpolation on the triangulated value to determine the cell value. This is the default.
  • NATURAL_NEIGHBOR—Uses natural neighbor interpolation to determine the cell value.

The Triangulation interpolation methods derive cell values using a TIN based approach while also offering the opportunity to speed up processing time by thinning the sampling of LAS data using the Window Size technique.

Triangulation Methods

  • Linear—Uses linear interpolation to determine cell values.
  • Natural Neighbors—Uses natural neighbor interpolation to determine cell value.

Window Size Selection Methods

  • 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.
Interpolate
data_type
(Optional)

Specifies the type of numeric values stored in the output raster.

  • FLOATOutput raster will use 32-bit floating point, which supports values ranging from -3.402823466e+38 to 3.402823466e+38. This is the default.
  • INTOutput 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 the method used for interpreting the Sampling Value to define the resolution of the output raster.

  • OBSERVATIONSDefines the number of cells that divide the lengthiest side of the LAS dataset extent.
  • CELLSIZEDefines the cell size of the output raster. This is the default.
String
sampling_value
(Optional)

Specifies the value used in conjunction with the Sampling Type to define the resolution of the output raster.

Double
z_factor
(Optional)

The factor by which z-values will be multiplied. This is typically used to convert Z linear units to match XY linear units. The default is 1, which leaves elevation values unchanged. This parameter is disabled 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.LasDatasetToRaster_3d('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)

Licensing information

  • Basic: Requires Spatial Analyst or 3D Analyst
  • Standard: Yes
  • Advanced: Yes

Related topics