Summary
Classifies data points in LAS files referenced by a LAS dataset using point, line, and polygon features.
Usage
-
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)
-
The LAS dataset layer can also be used to control the enforcement of surface constraint features that may be referenced by the LAS dataset.
LAS data points that fall within the 2-dimensional area of the buffer specified for the input features will be classified.
Consider using the points obtained from Locate Outliersto classify LAS points as Noise.
Syntax
SetLasClassCodesUsingFeatures_3d (in_las_dataset, feature_class, {compute_stats})
Parameter | Explanation | Data Type |
in_las_dataset | The LAS dataset to process. | LAS Dataset Layer |
feature_class [[features, buffer_distance, new_class, synthetic, key_point, withheld],...] | Specify one or more feature classes that will be used to define class code values for the lidar files referenced by a LAS dataset. Each feature will have the following options that can be specified:
| Value Table |
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.
| Boolean |
Code sample
SetLasClassCodesUsingFeatures example 1 (Python window)
The following sample demonstrates the use of this tool in the Python window.
import arcpy
from arcpy import env
arcpy.CheckOutExtension('3D')
env.workspace = 'C:/data'
arcpy.SetLasClassCodesUsingFeatures_3d("test.lasd", [["lake.shp 0 9"],
["outliers.shp", 5, "NO_CHANGE",
"NO_CHANGE", "NO_CHANGE", "SET"]],
"COMPUTE_STATS")
SetLasClassCodesUsingFeatures example 2 (stand-alone script)
The following sample demonstrates the use of this tool in a stand-alone Python script.
'''**********************************************************************
Name: Assign Withheld Classification Flag to Outlier Points in LAS Files
Description: Uses Locate Outliers to identify points in LAS files that
should be assigned the 'withheld' classification flag.
Designed for use as a script tool.
**********************************************************************'''
# Import system modules
import arcpy
import exceptions, sys, traceback
try:
arcpy.CheckOutExtension('3D')
# Set Local Variables
lasD = arcpy.GetParameterAsText(0)
outliers = 'in_memory/outliers'
# Execute LocateOutliers
arcpy.ddd.LocateOutliers(lasD, outliers, 'APPLY_HARD_LIMIT', -10,
350, 'APPLY_COMPARISON_FILTER', 1.2, 120,
0.8, 8000)
# Execute SetLasClassCodeUsingFeatures
arcpy.ddd.SetLasClassCodesUsingFeatures(lasd, [["outliers.shp", 5,
"NO_CHANGE", "NO_CHANGE",
"NO_CHANGE", "SET"]])
arcpy.CheckInExtension('3D')
except arcpy.ExecuteError:
print arcpy.GetMessages()
except:
# Get the traceback object
tb = sys.exc_info()[2]
tbinfo = traceback.format_tb(tb)[0]
# Concatenate error information into message string
pymsg = 'PYTHON ERRORS:\nTraceback info:\n{0}\nError Info:\n{1}'\
.format(tbinfo, str(sys.exc_info()[1]))
msgs = 'ArcPy ERRORS:\n {0}\n'.format(arcpy.GetMessages(2))
# Return python error messages for script tool or Python Window
arcpy.AddError(pymsg)
arcpy.AddError(msgs)
Environments
Licensing information
- ArcGIS for Desktop Basic: Requires 3D Analyst
- ArcGIS for Desktop Standard: Requires 3D Analyst
- ArcGIS for Desktop Advanced: Requires 3D Analyst