Set LAS Class Codes Using Raster (3D Analyst)


Classifies LAS points using cell values from a raster dataset.


  • This tool processes all LAS points that are contained in a given cell. A LAS dataset layer can be used to limit the points being processed by filtering them using classification codes, return values, and classification flags. The LAS dataset layer's filters can be defined in the Layer Properties dialog box or using the Make LAS Dataset Layer tool.

  • An integer raster must be used for this tool. The raster's cell value defines the class code that will be assigned to the LAS points being processed. Any cell value that is beyond the range supported by the LAS format will be ignored. Cells with No Data values result in no change to the LAS points. Use the Reclassify tool if the raster's cell values need to be changed to have the desired class code.

  • For best results, use a raster dataset that is in the same projection as the LAS dataset. A raster with a coordinate system other than that of the LAS dataset will be reprojected on the fly, which can introduce alignment discrepancies that may yield unexpected results. If the raster has a different coordinate system, consider using the Project Raster tool to reproject it into the spatial reference of the LAS dataset.

  • The Classify LAS Ground tool may assign lidar returns over bodies of water as ground. If aerial imagery that accurately defines the shoreline is available, using image classification techniques to extract the regions of water can provide a reliable mechanism for classifying the points from the lidar survey to represent water.


arcpy.3d.SetLasClassCodesUsingRaster(in_las_dataset, in_raster, {compute_stats}, {extent}, boundary, {process_entire_files})
ParameterExplanationData Type

The LAS dataset to process.

LAS Dataset Layer

The integer raster with cell values that will be used to assign classification codes for LAS points. The cell values must not exceed the class codes that are supported by the input LAS files.

Raster Layer; Mosaic Layer

Specifies whether statistics will be computed for the LAS files referenced by the LAS dataset. Computing statistics provides a spatial index for each LAS file, which improves analysis and display performance. Statistics also enhance the filtering and symbology experience by limiting the display of LAS attributes, such as classification codes and return information, to values that are present in the LAS file.

  • COMPUTE_STATSStatistics will be computed. This is the default.
  • NO_COMPUTE_STATSStatistics will not be computed.

Specifies the extent of the data that will be evaluated by this tool.

  • MAXOF—The maximum extent of all inputs will be used.
  • MINOF—The minimum area common to all inputs will be used.
  • DISPLAY—The extent is equal to the visible display.
  • Layer name—The extent of the specified layer will be used.
  • Extent object—The extent of the specified object will be used.
  • Space delimited string of coordinates—The extent of the specified string will be used. Coordinates are expressed in the order of x-min, y-min, x-max, y-max.

A polygon feature that defines the area of interest to be processed by this tool.

Feature Layer

Specifies how the processing extent is applied.

  • PROCESS_EXTENTOnly LAS points that intersect the area of interest will be processed. This is the default.
  • PROCESS_ENTIRE_FILESIf any portion of a LAS file intersects the area of interest, all the points in that LAS file, including those outside the area of interest, will be processed.

Derived Output

NameExplanationData Type

The reclassified LAS dataset.

LAS Dataset Layer

Code sample

SetLASClassCodesUsingRaster (Python window)

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

import arcpy
arcpy.ddd.SetLasClassCodesUsingRaster("Jacmel.las", "reclass.tif", "COMPUTE_STATS")

Licensing information

  • Basic: Requires 3D Analyst
  • Standard: Requires 3D Analyst
  • Advanced: Requires 3D Analyst

Related topics