Skip To Content

Classify LAS Building


Classifies building rooftop points in aerial lidar data.


Classification of building rooftop points.


  • The LAS data must have ground points classified before you can classify building rooftop points. Consider using the Classify LAS Ground tool if ground points have not been classified. The ground points must have a class code value of 2, so if ground points have a different class code value, use the Change LAS Class Codes tool to reassign the class code accordingly.

  • LAS points with class code values of 0 and 1 will be evaluated to determine if they fit the specified minimum area and height for identifying building rooftops. Existing building classified points with a class code value of 6 will also be used to determine if adjacent points fit along a plane connecting the same structure. This process uses an optimized RANSAC algorithm that begins with a randomly selected seed point, which may cause classification results to have slight variation between executions.

  • If small clusters of points that do not belong to buildings are erroneously classified, consider increasing the Minimum Area parameter to eliminate the inclusion of such points. Conversely, if buildings appear to have been missed by the tool, consider using a smaller area to capture the missing regions. A processing extent or boundary polygon can be provided to further limit the region being processed, which can be useful when testing the results of experimental values.

  • The tool is suited for processing aerial lidar surveys. LAS files created from sources like photogrammetric point clouds, may produce less reliable results due to the higher probability of noise points.

  • This tool works best when LAS points have a consistent point density. Typically, aerial lidar surveys will have some overlap in their coverage that will produce areas with denser clusters of points. The inclusion of such points will distort the nominal spacing of the points and produce errors of commission in the overlap regions and errors of omission in the nonoverlapping area. For best results, use the Classify LAS Overlap tool to classify overlap points and modify the Average Point Spacing value to provide an estimate of the nominal point spacing outside of the regions of overlap.


    Some aerial surveys contain total overlap in returns from multiple scans, thereby producing a regular distribution of overlap points. In cases where the distribution of points is consistent, there is no need to classify overlap points as a prerequisite for this tool.


ClassifyLasBuilding_3d (in_las_dataset, {min_height}, min_area, {compute_stats}, {extent}, boundary, {process_entire_files}, point_spacing)
ParameterExplanationData Type

The LAS dataset to be classified.

LAS Dataset Layer

The height from the ground that defines the lowest point from which rooftop points will be identified.

Linear Unit

The smallest area of coplanar points that will be used to establish the presence of a building rooftop.

Areal Unit

Specifies whether statistics should 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, like classification codes and return information, to values that are present in the LAS file.

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

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


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.

The average spacing of LAS points that will be used for establishing the presence of building rooftops. This value will default to the average spacing calculated for the LAS dataset.

Linear Unit

Derived Output

NameExplanationData Type

The LAS dataset that is classified for building rooftops.

LAS Dataset Layer

Code sample

ClassifyLasBuilding example 1 (Python window)

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

arcpy.env.workspace = 'C:/data'

arcpy.ClassifyLasBuilding_3d('Highland.lasd', minHeight='9 feet', 
                             minArea='30 Square Feet', compute_stats=True)
ClassifyLasBuilding example 2 (stand-alone script)

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

       Name: Tile & Classify LAS Files
Description: Creates & classifies tiled LAS files.
# Import system modules
import arcpy
import tempfile
import math

in_las = arcpy.GetParameterAsText(1) # The LAS files that need to be tiled
out_folder = arcpy.GetParameterAsText(2) # folder for LAS files
basename = arcpy.GetParameterAsText(3) # basename for output files
out_lasd = arcpy.GetParameterAsText(4) # output LAS dataset

    # Create temp LAS dataset to reference LAS files that will be tiled
    temp_lasd = arcpy.CreateUniqueName('temp.lasd', tempfile.gettempdir()), temp_lasd)
    arcpy.ddd.TileLas(temp_lasd, out_folder, basename, out_lasd, las_version=1.4, 
                      point_format=7, file_size=300)
    arcpy.ddd.ClassifyLasGround(out_lasd, method='AGGRESSIVE')
    arcpy.ddd.ClassifyLasBuilding(out_lasd, min_height='3 Meters', min_area='4 Meters')
    arcpy.ddd.ClassifyLasByHeight(out_lasd, height_classification=[(3, 6), (4,20), (5,70)],
                                  noise='All Noise', compute_stats='COMPUTE_STATS')

except arcpy.ExecuteError:

Licensing information

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

Related topics