ArcGIS Desktop

  • Documentation
  • Support

  • My Profile
  • Help
  • Sign Out
ArcGIS Desktop

ArcGIS Online

The mapping platform for your organization

ArcGIS Desktop

A complete professional GIS

ArcGIS Enterprise

GIS in your enterprise

ArcGIS for Developers

Tools to build location-aware apps

ArcGIS Solutions

Free template maps and apps for your industry

ArcGIS Marketplace

Get apps and data for your organization

  • Documentation
  • Support
Esri
  • Sign In
user
  • My Profile
  • Sign Out

ArcMap

  • Home
  • Get Started
  • Map
  • Analyze
  • Manage Data
  • Tools
  • Extensions

Classify LAS Ground

  • Summary
  • Usage
  • Syntax
  • Code sample
  • Environments
  • Licensing information

Summary

Classifies ground points in lidar data.

Usage

  • Only the last return of LAS points with class code values of 0, 1, or 2 will be considered for reclassification as ground. If your LAS files use different class code values to represent unclassified or ground measurements, consider using the Change LAS Class Codes tool to reassign them accordingly. The classification process will also ignore points that are assigned with either the overlap or noise classification flag.

  • Consider applying a processing extent or boundary to review the results of the classification algorithm on a small area of the lidar data.

  • Locations with bridges and freeway on-ramps should be reviewed as they may be mis-classified as ground.

  • The LAS format supports the classification of each point based on the specifications defined by the American Society for Photogrammetry and Remote Sensing (ASPRS). The ArcGIS platform applies the classification scheme specified for LAS file version 1.4:

    Classification Value Classification Type

    0

    Never Classified

    1

    Unassigned

    2

    Ground

    3

    Low Vegetation

    4

    Medium Vegetation

    5

    High Vegetation

    6

    Building

    7

    Low Noise

    8

    Model Key / Reserved

    9

    Water

    10

    Rail

    11

    Road Surface

    12

    Overlap / Reserved

    13

    Wire – Guard

    14

    Wire – Conductor

    15

    Transmission Tower

    16

    Wire – Connector

    17

    Bridge Deck

    18

    High Noise

    19 – 63

    Reserved for ASPRS Definition (LAS 1.1 to 1.3 support up to class code 31)

    32 – 255

    User Definable (Only supported in LAS 1.0 and certain versions of 1.4)

    Note:

    While the bulk of new class code assignments introduced with LAS 1.4 were previously designated as Reserved, class codes 8 and 12 were changed from Model Key and Overlap to Reserved.

Syntax

ClassifyLasGround_3d (in_las_dataset, method, {reuse_ground}, {dem_resolution}, {compute_stats}, {extent}, boundary, {process_entire_files})
ParameterExplanationData Type
in_las_dataset

The LAS dataset to process. Only the last return of LAS points with class code values of 0, 1, and 2 will be evaluated.

LAS Dataset Layer
method

The method used for detecting ground points.

  • STANDARD —This method has a tolerance for slope variation that allows it to capture gradual undulations in the ground's topography that would typically be missed by the conservative option, but not capture the type of sharp reliefs that would be captured by the aggressive option. This method is the default.
  • CONSERVATIVE — When compared to other options, this method employs a tighter restriction on the variation of the ground's slope, which allows it to differentiate the ground from low-lying vegetation like grass and shrubbery. It is best suited for topography with minimal curvature.
  • AGGRESSIVE — Detects ground areas with sharper reliefs, like ridges and hill tops that may be ignored by the standard method. This option is best used in a second pass of this tool with the reuse_ground option set to REUSE_GROUND. Avoid using this method in urban areas or flat, rural areas, as it may result in the mis-classification of higher objects, like utility towers, vegetation, and portions of buildings, as ground.
String
reuse_ground
(Optional)

Specify if existing ground points should be reclassified or reused.

  • Unchecked—Existing ground points will be reclassified. Points that are not found to be a part of the ground will be re-assigned a class code value of 1, which represents unclassified points. This is the default.
  • Checked—Existing ground points will be accepted without scrutiny and contribute to the determination of unclassified points.

Specify if existing ground points should be accepted or re-evaluated.

  • RECLASSIFY_GROUND — Existing ground points will be reclassified. Points that are not found to be a part of the ground will be re-assigned a class code value of 1, which represents unclassified points. This is the default.
  • REUSE_GROUND — Existing ground points will be accepted without scrutiny and contribute to the determination of unclassified points.
Boolean
dem_resolution
(Optional)

Specifying a distance will result in only a subset of points being evaluated for classification as ground, thereby making the process faster. Consider using this option when needing a faster method for generating a DEM surface. The minimum distance is 0.3 meters, but the specified distance must be at least 1.5 times the average point spacing of the lidar data for this process to take effect.

Linear Unit
compute_stats
(Optional)

Specifies whether statistics should be computed for the LAS files referenced by the LAS dataset. The presence of statistics allows the LAS dataset layer's filtering and symbology options to only show LAS attribute values that exist in the LAS files.

  • COMPUTE_STATS —Statistics will be computed.
  • NO_COMPUTE_STATS —Statistics will not be computed. This is the default.
Boolean
extent
(Optional)

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

Extent
boundary

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

Feature Layer
process_entire_files
(Optional)

Specify how the processing extent is applied.

  • PROCESS_EXTENT —Only LAS points that intersect the area of interest will be processed. This is the default.
  • PROCESS_ENTIRE_FILES —If 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.
Boolean

Code sample

ClassifyLasGround example 1 (Python window)

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

arcpy.env.workspace = 'C:/data'
arcpy.ClassifyLasGround_3d('metro.lasd', 'CONSERVATIVE', 
                           boundary='study_area.shp', 
                           process_entire_files='PROCESS_ENTIRE_FILES')
ClassifyLasGround example 2 (stand-alone script)

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

'''****************************************************************************
Name:        Classify Ground & Vegetation in Forest Environment
Description: Classify points representing vegetation with LAS class code values
             of 3, 4, and 5. The code is designed for use as a script tool.
****************************************************************************'''
# Import system modules
import arcpy

# Set Local Variables
inLas = arcpy.GetParameterAsText(0)
recursion = arcpy.GetParameterAsText(1)
lasd = arcpy.GetParameterAsText(2)

try:
    arcpy.CheckOutExtension('3D')
    # Execute CreateLasDataset
    arcpy.management.CreateLasDataset(inLas, lasd, folder_recursion=recursion)
    # Make an initial pass of ground classifier
    arcpy.ddd.ClassifyLasGround(lasd, method="Conservative")
    # Make a secondary pass to capture ridges
    arcpy.ddd.ClassifyLasGround(lasd, method="Aggressive", 
                                reuse_ground="REUSE_GROUND")
    # Classify vegetation
    arcpy.ddd.ClassifyLasByHeight(lasd, ground_source='GROUND', 
                                  height_classification=[[3, 5], 
                                                         [4, 17], 
                                                         [5, 120]], 
                                  noise='HIGH_NOISE', compute_stats="COMPUTE_STATS")
    arcpy.CheckInExtension('3D')

except arcpy.ExecuteError:
    print(arcpy.GetMessages())

Environments

  • Current Workspace
  • Scratch Workspace
  • Extent

Licensing information

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

ArcGIS Desktop

  • Home
  • Documentation
  • Support

ArcGIS Platform

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

About Esri

  • About Us
  • Careers
  • Insiders Blog
  • User Conference
  • Developer Summit
Esri
Tell us what you think.
Copyright © 2017 Esri. | Privacy | Legal