LAS Dataset To Raster (Conversion)

License Level:BasicStandardAdvanced

Summary

Creates a raster using elevation, intensity, or RGB values stored in the lidar files (*.las) referenced by the LAS dataset.

Illustration

LAS Dataset to Raster

Usage

Syntax

LasDatasetToRaster_conversion (in_las_dataset, out_raster, {value_field}, {interpolation_type}, {data_type}, {sampling_type}, {sampling_value}, {z_factor})
ParameterExplanationData Type
in_las_dataset

The input LAS dataset.

LAS Dataset Layer
out_raster

The location and name of the output raster. When storing a raster dataset in a geodatabase or in a folder such as an Esri Grid, no file extension should be added to the name of the raster dataset. A file extension can be provided to define the raster's format when storing it in a folder:

  • .bil—Esri BIL
  • .bip—Esri BIP
  • .bsq—Esri BSQ
  • .dat—ENVI DAT
  • .img—ERDAS IMAGINE
  • .png—PNG
  • .tif—TIFF

If the raster is stored as a TIFF file or in a geodatabase, its raster compression type and quality can be specified using geoprocessing environment settings.

Raster Dataset
value_field
(Optional)

Specifies the lidar information that will be used in generating the raster output.

  • ELEVATIONElevation from the lidar files will be used to create the raster. This is the default.
  • INTENSITYIntensity information from the lidar files will be used to create the raster.
  • RGBImagery derived from the RGB values embedded with the lidar points will be used to create the raster.
String
interpolation_type
"BINNING {cell_assignment_type} {void_fill_method}" or "TRIANGULATION {interpolation_method} {point_thinning_type} {point_selection_method} {resolution}"
(Optional)

The interpolation method used to produce the raster.

BINNING—Cell values are obtained using the points that fall in the extent of the cell, with the exception of cells that do not contain points in their extent. The following options are available for this technique:

  • Cell Assignment Type—Method used to define the value for any cell that contains points within its extent.
    • AVERAGE—Assigns the average value of all points in the cell. This is the default.
    • MINIMUM—Assigns the minimum value found in the points within the cell.
    • MINIMUM—Assigns the maximum value found in the points within the cell.
    • IDW—Uses Inverse Distance Weighted interpolation to determine the cell value.
    • NEAREST—Uses Nearest Neighbor assignment to determine the cell value.
  • Void Fill Method—The interpolation method used to define values for cells that do not have points within their extent.
    • NONE—NoData is assigned to the cell.
    • SIMPLE—Averages the values from data cells immediately surrounding a NoData cell to eliminate small voids.
    • LINEAR—Triangulates across void areas and uses linear interpolation on the triangulated value to determine the cell value. This is the default.
    • NATURAL_NEIGHBOR—Uses natural neighbor interpolation to determine the cell value.

TRIANGULATION—Cell values are obtained by interpolating measurements from a triangulated representation of the LAS dataset. The following options are available for this technique:

  • Interpolation Method—The interpolation method that defines cell values:
    • LINEAR—Uses linear interpolation against the triangulated LAS dataset surface to determine cell value.
    • NATURAL_NEIGHBOR—Uses natural neighbor interpolation to determine cell value.
  • Point Thinning Type—Determines if LAS data points are thinned:
    • NONE—LAS points will not be thinned. This is the default.
    • WINDOW_SIZE—LAS points will be thinned by identifying the point that satisfies the selection criteria within the area defined by the window size.
  • Point Selection Method—Selection method used for thinning LAS data points when using WINDOW_SIZE thinning:
    • MAXIMUM—The point with the highest value in each window size is maintained. This is the default.
    • MINIMUM—The point with the lowest value in each window size is maintained.
    • CLOSEST_TO_MEAN—The point whose value is closest to the average of all point values in the window size is maintained.
  • Resolution—A numeric value that defines the area of the window size used for thinning points.
String
data_type
(Optional)

The data type of the output raster can be defined by the following keywords:

  • FLOATOutput raster will use 32-bit floating point, which supports values ranging from -3.402823466e+38 to 3.402823466e+38. This is the default.
  • INTOutput raster will use an appropriate integer bit depth. This option will round Z-values to the nearest whole number and write an integer to each raster cell value.
String
sampling_type
(Optional)

Specifies the method used for interpreting the Sampling Value to define the resolution of the output raster.

  • OBSERVATIONSDefines the number of cells that divide the lengthiest side of the LAS dataset extent.
  • CELLSIZEDefines the cell size of the output raster. This is the default.
String
sampling_value
(Optional)

Specifies the value used in conjunction with the Sampling Type to define the resolution of the output raster.

Double
z_factor
(Optional)

The factor by which Z values will be multiplied. This is typically used to convert Z linear units to match XY linear units. The default is 1, which leaves elevation values unchanged.

Double

Code Sample

LasDatasetToRaster 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.LasDatasetToRaster_3d('baltimore.lasd', 'baltimore.tif', 'INTENSITY', 
                          'TRIANGULATION LINEAR WINDOW_SIZE 10', 'FLOAT', 
                          'CELLSIZE', 10, 3.28)
LasDatasetToRaster example 2 (stand-alone script)

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
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 Spatial Analyst or 3D Analyst
ArcGIS for Desktop Standard: Yes
ArcGIS for Desktop Advanced: Yes
3/3/2014