Create LAS Dataset (Data Management)

License Level:BasicStandardAdvanced

Summary

Creates a LAS dataset referencing one or more LAS files and optional surface constraint features.

Illustration

Create LAS Dataset

Usage

Syntax

CreateLasDataset_management (input, out_las_dataset, {folder_recursion}, {in_surface_constraints}, {spatial_reference}, {compute_stats}, {relative_paths})
ParameterExplanationData Type
input
[input,...]

The LAS files 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"]). Refer to the help topic Understanding tool syntax for more information on specifying lists for input.

File; Folder
out_las_dataset

The LAS dataset that will be created.

LAS Dataset
folder_recursion
(Optional)

Specifies whether lidar data residing in the subdirectories of an input folder would get added to the LAS dataset.

  • NO_RECURSIONOnly lidar files found in an input folder will be added to the LAS dataset. This is the default.
  • RECURSIONAll LAS 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 feature classes that will be referenced by the LAS dataset. Each feature will need the following properties defined:

in_feature_class—The feature class to be referenced by the LAS dataset.

height_field—The field that specifies the source of elevation values for the features. Any numeric field in the feature's attribute table can be used. If the feature supports z-values, the feature geometry can be read by selecting the Shape.Z option. If no height is desired, specify the keyword <None> to create Z-less features whose elevation would be interpolated from the surface.

SF_type—The surface feature type that defines how the feature geometry gets incorporated into the triangulation for the surface. Options with hard or soft designation refer to whether the feature edges represent distinct breaks in slope or a gradual change.

  • anchorpoints—Elevation points that never get thinned away. This option is only available for single-point feature geometry.
  • hardline or softline—Breaklines that enforce a height value.
  • hardclip or softclip—Polygon dataset that defines the boundary of the LAS dataset.
  • harderase or softerase—Polygon dataset that defines holes in the LAS dataset.
  • hardreplace or softreplace—Polygon dataset that defines areas of constant height.
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 any spatial reference information and the Input Coordinate System is not set, then the LAS dataset's coordinate system will be listed as unknown.

Coordinate System
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_STATSStatistics will be computed.
  • NO_COMPUTE_STATSStatistics will not be computed. This is the default.
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 where the LAS dataset and its associated data will be relocated in the file system using the same relative location to one another.

  • ABSOLUTE_PATHSAbsolute paths will be used for the data referenced by the LAS dataset. This is the default.
  • RELATIVE_PATHSRelative paths will be used for the data referenced by the LAS dataset.
Boolean

Code Sample

CreateLasDataset example 1 (Python window)

The following sample demonstrates how to use 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")
CreateLasDataset example 2 (stand-alone script)

The following sample demonstrates how to use 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
import exceptions, sys, traceback

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)
    if arcpy.ProductInfo == 'ArcView':
        arcpy.CheckOutExtension('3D')
    # 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)
    arcpy.GetMessages()
    
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)
    
finally:
    arcpy.management.Delete(lasLyr)

Environments

Related Topics

Licensing Information

ArcGIS for Desktop Basic: Requires 3D Analyst or Spatial Analyst
ArcGIS for Desktop Standard: Yes
ArcGIS for Desktop Advanced: Yes
11/18/2013