Summary
Creates a raster using elevation, intensity, or RGB values stored in the lidar points referenced by the LAS dataset.
Illustration
Usage
-
You can have the LAS dataset layer limit the LAS points that are displayed and processed by selecting any combination of classification codes, classification flags, and return values in the layer's filter settings. The filters can be defined through the Layer Properties dialog box or the Make LAS Dataset Layer tool.
-
The LAS dataset layer can also be used to control the enforcement of surface constraint features that may be referenced by the LAS dataset. The constraints are enforced when displaying or processing the LAS dataset as a triangulated surface.
-
When exporting a large raster, consider specifying the Output Data Type as an integer to save disk space if the accuracy requirements of your z-values are such that they can be represented by integer data.
Including a study area boundary as a clip constraint in the definition of the input LAS dataset is highly recommended. One reason is to prevent interpolation from occurring outside the real data extent of the survey. Secondly, there can be a severe performance penalty when using natural neighbor options if the data area is not properly defined.
Syntax
arcpy.conversion.LasDatasetToRaster(in_las_dataset, out_raster, {value_field}, {interpolation_type}, {data_type}, {sampling_type}, {sampling_value}, {z_factor})
Parameter | Explanation | Data Type |
in_las_dataset | The LAS dataset to process. | 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, such as .tif to generate a GeoTIFF or .img to generate an ERDAS IMAGINE format file. 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) |
The lidar data that will be used to generate the raster output.
| String |
interpolation_type "BINNING {cell_assignment_type} {void_fill_method}" or "TRIANGULATION {interpolation_method} {point_thinning_type} {point_selection_method} {resolution}" (Optional) | The interpolation technique that will be used to determine the cell values of the output raster. The binning approach provides a Cell Assignment Method for determining each output cell using the points that fall within its extent, along with a Void Fill Method to determine the value of cells that do not contain any LAS points. Cell Assignment Methods
Void Fill Methods
The Triangulation interpolation methods derive cell values using a TIN based approach while also offering the opportunity to speed up processing time by thinning the sampling of LAS data using the Window Size technique. Triangulation Methods
Window Size Selection Methods
| Interpolate |
data_type (Optional) | Specifies the type of numeric values stored in the output raster.
| String |
sampling_type (Optional) | Specifies the method used for interpreting the Sampling Value to define the resolution of the output raster.
| 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. This parameter is disabled if the spatial reference of the input surface has a Z datum with a specified linear unit. | 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
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 Exception as err:
print(err.args[0])
finally:
arcpy.management.Delete(lasLyr)
Environments
Licensing information
- Basic: Requires Spatial Analyst or 3D Analyst
- Standard: Yes
- Advanced: Yes