Label | Explanation | Data Type |
Input Files
| The .las files, .zlas files, LAS datasets, and folders containing .las files that will be referenced by the output LAS dataset. When a LAS dataset is specified as input, all the .las and .zlas files that have a valid path reference will be added to the input LAS dataset. In the Geoprocessing pane, a folder can also be specified as an input by selecting the folder in File Explorer and dragging it onto the parameter's input box. | LAS Dataset Layer; File; Folder |
Output LAS Dataset | The LAS dataset that will be created. | LAS Dataset |
Include subfolders (Optional) | Specifies whether .las files residing in the subdirectories of an input folder will be referenced by the LAS dataset.
| Boolean |
Surface Constraints (Optional) | The features that will contribute to the definition of the triangulated surface generated from the LAS dataset.
| Value Table |
Coordinate System (Optional) | The spatial reference of the LAS dataset. If no spatial reference is explicitly assigned, the LAS dataset will use the coordinate system of the first input .las file. If the input files do not contain spatial reference information and the coordinate system is not set, the coordinate system of the LAS dataset will be listed as unknown. | Coordinate System |
Compute Statistics
(Optional) | Specifies whether statistics for the .las files will be computed and a spatial index generated for 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. A .lasx auxiliary file is created for each .las file.
| Boolean |
Store Relative Paths
(Optional) | Specifies whether lidar files and surface constraint features will be referenced by the LAS dataset through relative or absolute paths. Using relative paths may be convenient for cases in which the LAS dataset and its associated data will be relocated in the file system using the same relative location to one another.
| Boolean |
Create PRJ For LAS Files
| Specifies whether .prj files will be created for the .las files referenced by the LAS dataset.
| String |
Processing Extent
(Optional) | The processing extent will be used to select a subset of .las files from the list of files and folders in the Input Files parameter value. Any .las files that fall entirely outside of this extent will be excluded from the resulting LAS dataset. Additionally, .las files that fall partially outside the extent will be excluded if the Add only entirely contained files parameter is checked. | Extent |
Processing Boundary
(Optional) | The polygon features whose boundary will be used to select a subset of .las files from the list of files and folders in the Input Files parameter. Any .las files that fall entirely outside of the polygon will be excluded from the resulting LAS dataset. Additionally, .las files that fall partially outside the polygons will be excluded if the Add only entirely contained files parameter is checked. | Feature Layer |
Add only entirely contained files
(Optional) | Specifies whether the .las files that will be added to the LAS dataset must be fully or partially contained by either the processing extent, the processing boundary polygon, or the intersection of both.
| Boolean |
Summary
Creates a LAS dataset referencing one or more .las files and optional surface constraint features.
Illustration
Usage
-
The LAS dataset is designed for use with point cloud data stored in the LAS format using file versions 1.0–1.4. LAS files stored in the compressed ZLAS format are also supported. ZLAS files can be generated by any tool that creates new LAS files, such as Convert LAS, Extract LAS, Thin LAS, or Tile LAS. Additionally, the EzLAS Optimizer stand-alone application can also be used to compress .las files to .zlas or uncompress them back to .las files.
-
Each .las file is examined to determine if its internal structure is consistent with the LAS specifications. If any .las file fails to load into the LAS dataset, this may indicate that the file is corrupted or has erroneous information in its header. You can use Esri's CheckLAS utility to determine whether commonly encountered issues may exist in the data.
-
Surface constraint features can be used to enforce feature-derived elevation values that represent surface characteristics in the LAS dataset.
-
Each .las file typically contains spatial reference information in its header that is read by the LAS dataset. If this information is missing or improperly defined, the .las file will not be placed in its correct location. If the correct spatial reference is known, you can use the Create PRJ For LAS parameter to create a .prj file that properly georeferences the lidar data. The .prj file will share the .las file's name, reside in the same folder, and contain the well-known text representation of the .las file's coordinate system, similar to the .prj file associated with a shapefile.
-
ArcGIS uses the LAS classification scheme defined by the American Society for Photogrammetry and Remote Sensing (ASPRS). Learn more about lidar point classification
In the Geoprocessing pane, a folder can also be specified as an input by selecting the folder in File Explorer and dragging it onto the parameter's input box.
Parameters
arcpy.management.CreateLasDataset(input, out_las_dataset, {folder_recursion}, {in_surface_constraints}, {spatial_reference}, {compute_stats}, {relative_paths}, create_las_prj, {extent}, {boundary}, {add_only_contained_files})
Name | Explanation | Data Type |
input [input,...] | The .las files, LAS datasets, and folders containing .las files that will be referenced by the LAS dataset. This information can be supplied as a string containing all the input data or a list of strings containing specific data elements (for example, "lidar1.las; lidar2.las; folder1; folder2" or ["lidar1.las", "lidar2.las", "folder1", "folder2"]). | LAS Dataset Layer; File; Folder |
out_las_dataset | The LAS dataset that will be created. | LAS Dataset |
folder_recursion (Optional) | Specifies whether lidar files residing in the subdirectories of an input folder will be added to the LAS dataset.
| Boolean |
in_surface_constraints [[in_feature_class, height_field, SF_type],...] (Optional) | The features that will be referenced by the LAS dataset when generating a triangulated surface. Each feature must have the following properties defined:
| Value Table |
spatial_reference (Optional) | The spatial reference of the LAS dataset. If no spatial reference is explicitly assigned, the LAS dataset will use the coordinate system of the first input .las file. If the input files do not contain spatial reference information and the coordinate system is not set, the coordinate system of the LAS dataset will be listed as unknown. | Coordinate System |
compute_stats (Optional) | Specifies whether statistics for the .las files will be computed and a spatial index generated for 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. A .lasx auxiliary file is created for each .las file.
| Boolean |
relative_paths (Optional) | Specifies whether lidar files and surface constraint features will be referenced by the LAS dataset through relative or absolute paths. Using relative paths may be convenient for cases in which the LAS dataset and its associated data will be relocated in the file system using the same relative location to one another.
| Boolean |
create_las_prj | Specifies whether .prj files will be created for the .las files referenced by the LAS dataset.
| String |
extent (Optional) | The processing extent will be used to select a subset of .las files from the list of files and folders in the input parameter value. Any .las files that fall entirely outside of this extent will be excluded from the resulting LAS dataset. Additionally, .las files that fall partially outside the extent will be excluded if the add_only_contained_files parameter is set to INTERSECTED_FILES. | Extent |
boundary (Optional) | The polygon features whose boundary will be used to select a subset of .las files from the list of files and folders in the input parameter. Any .las files that fall entirely outside of the polygon features will be excluded from the resulting LAS dataset. Additionally, .las files that fall partially outside the polygons will be excluded if the add_only_contained_files parameter is set to INTERSECTED_FILES. | Feature Layer |
add_only_contained_files (Optional) | Specifies whether the .las files that will be added to the LAS dataset must be fully or partially contained by either the processing extent, the processing boundary polygon, or the intersection of both.
| Boolean |
Code sample
The following sample demonstrates the use of this tool in the Python window.
import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.CreateLasDataset_management("folder_a; folder_b/5S4E.las",
"test.lasd", "RECURSION",
"LA/boundary.shp <None> Softclip;"\
"LA/ridges.shp Elevation hardline", "",
"COMPUTE_STATS", "RELATIVE_PATHS")
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)