Tile LAS (3D Analyst)

Summary

Creates a set of nonoverlapping LAS files whose horizontal extents are divided by a regular grid.

Usage

  • The tiling operation will retain all points that are within the processing extent of the LAS dataset being tiled regardless of any layer filter settings that may be applied. If filtering is needed, consider using the Extract LAS tool either before or after tiling the LAS dataset.

  • Subdividing large LAS files that exceed 500 MB in size will improve the performance of any operation that relies on reading the data in spatial clusters, such as analysis operations that require the creation of a surface, or data visualization operations. The default tiling scheme produces square tiles whose width and height is defined by a target size limit of 250 MB. Points from multiple LAS files that fall within the area of one tile will be merged into the output tile.

  • A LAS dataset composed of LAS files with overlapping extents may yield inaccurate results in operations that rely on a file-by-file analysis. For example, the point spacing estimate is derived by an analysis of the points at each file over the area of coverage within that file and, consequently, has no mechanism for adjusting to the impact of points in the overlapping regions. Likewise, the Thin LAS tool also relies on file-by-file processing, and the result will not conform to the expected output in the regions where file overlaps exist.

  • Rearranging the LAS points will spatially cluster the lidar data and improve its performance when visualizing or performing analysis operations. This process will require the creation of a temporary file. Consider specifying a folder on a solid-state drive as the Scratch Workspace value in the environment settings to improve the speed of this operation.

  • You can write the output files with the zLAS compression to reduce storage size. The zLAS compression typically reduces file size to one-third of the uncompressed LAS file, and zLAS files support edits to the point classification codes and flags.

  • You can define LAS tiles by doing one of the following:

    • Specify the width and height of each tile.
    • Specify a target file size for each output LAS file. This file size is used to estimate the tile width and height based on the average point spacing and the amount of bytes required to store each point with its associated attributes. The derived width and height is based on the assumption that the LAS points are regularly distributed across the entire data extent. When the output is a zLAS file, this file size will be its uncompressed size.
    • Specify polygon features that define the tiling schema. Each polygon should be rectangular and have a uniform width and height. If the polygon is not rectangular, its minimum bounding envelope will be used to establish the tiling schema. The Create Fishnet or Generate Tessellation tool can be used to create tiled polygons which match the extent of the LAS data. Custom LAS tile base names can be assigned using a text field in the polygon's attribute table.
  • The output LAS tiles can be reprojected by either specifying an Output Coordinate System value in the environment settings or using input features with a different spatial reference than the original LAS files. A z-datum transformation can be accomplished by specifying the required transformation through the Transformation window. Z-datum transformations require the installation of vertical datum transformation grids.

  • This tool can be used to merge LAS points distributed across many files into one file by specifying a tile size that is larger than the extent of the input files.

Parameters

LabelExplanationData Type
Input LAS Dataset

The LAS dataset that will be processed.

LAS Dataset Layer
Target Folder

The folder where the tiled LAS files will be written.

Folder
Output Base Name
(Optional)

The name that each output file will begin with.

String
Output LAS Dataset
(Optional)

The new LAS dataset that references the tiled LAS files created by this tool. This parameter is optional.

LAS Dataset
Compute statistics
(Optional)

Specifies whether statistics will be computed for the .las files referenced by the LAS dataset. Computing statistics provides a spatial index for each .las file, which improves analysis and display performance. Statistics also enhance the filtering and symbology experience by limiting the display of LAS attributes, such as classification codes and return information, to values that are present in the .las file.

  • Checked—Statistics will be computed. This is the default.
  • Unchecked—Statistics will not be computed.
Boolean
Output Version
(Optional)

Specifies the LAS file version of each output file.

  • 1.0The LAS file version will be 1.0. This version supported 256 unique class codes but did not have a predefined classification schema.
  • 1.1The LAS file version will be 1.1. This version introduced a predefined classification scheme, and point record formats 0 and 1, and the synthetic classification flag for points that were derived from a source other than a lidar sensor.
  • 1.2The LAS file version will be 1.2. This version featured support for GPS time and RGB records in point records 2 and 3.
  • 1.3The LAS file version will be 1.3. This version added support for point records 4 and 5 for waveform data. However, waveform information is not read in ArcGIS. This is the default.
  • 1.4The LAS file version will be 1.4. This version introduced point record formats 6 through 10, along with new class definitions, 256 unique class codes, and the overlap classification flag.
String
Point Format
(Optional)

The point record format of the output LAS files. The available options will vary based on the LAS file version specified in the Output Version parameter.

Long
Compression
(Optional)

Specifies whether the output LAS file will be in a compressed format or the standard LAS format.

  • No CompressionThe output will be in the standard LAS format (*.las file). This is the default.
  • zLAS CompressionOutput LAS files will be compressed in the zLAS format.
String
LAS Options
(Optional)

Specifies modifications that will be made to the output LAS files.

  • Rearrange PointsLAS points will be arranged according to their spatial clustering.
  • Remove Variable Length RecordsVariable-length records that are added after the header and the point records of each file will be removed.
  • Remove Extra BytesExtra bytes that are present with each point record in the input LAS file will be removed.
String
Import from Feature Class
(Optional)

The polygon features that define the tile width and height to be used when tiling the lidar data. The polygons are presumed to be rectangular, and the first feature's extent is used to define the tile width and height.

Feature Layer
Naming Method
(Optional)

Specifies the naming convention that will be used to provide a unique name for the output files. This name will be appended to the text specified in the Output Base Name parameter. When input features are used to define the tiling scheme, its text fields can also be used to provide a unique name for the output files.

  • XY CoordinatesEach tile name will be appended with the x- and y-coordinates of its lower left corner in the format "<base name>_<x-coordinate>_<y-coordinate>". This is the default.
  • Rows and ColumnsThe tile name will be assigned based on the row and column it belongs to in the overall tiling scheme. The rows increment from the bottom up, while the columns increment from left to right. The name will be in the format "<base name>_<row number>_<column number>".
  • Ordinal DesignationThe tile name will be assigned based on its order of creation starting from the bottom left and incrementing to the top right. The name will be in the format "<base name>_<order number>". The number of leading zeros in the order number will be based on the maximum number of files that is created.
String
Target File Size (MB)
(Optional)

A value, which is expressed in megabytes, that represents the upper limit of the uncompressed file size of an output LAS tile with uniform point distribution across its entire extent. The default is 250, and the value is used to estimate the tile width and height.

The value of this parameter will change when the Tile Width and Tile Height parameters are modified. When the Import from Feature Class parameter is specified, this parameter will be disabled.

Double
Tile Width
(Optional)

The width of each tile. This parameter is disabled when the Import from Feature Class parameter is specified. If the tile width and height are both provided, the Target File Size (MB) parameter will be updated to reflect the size of the output that would be generated with these dimensions. Similarly, if the Target File Size (MB) parameter is modified, the tile width and height get updated to reflect this change.

Linear Unit
Tile Height
(Optional)

The height of each tile. This parameter is disabled when the Import from Feature Class parameter is specified. If the tile width and height are both provided, the Target File Size (MB) parameter will be updated to reflect the size of the output that would be generated with these dimensions. Similarly, if the Target File Size (MB) parameter is modified, the tile width and height get updated to reflect this change.

Linear Unit
Tile Origin
(Optional)

The coordinates of the origin of the tiling grid. The default values are obtained from the lower left corner of the input LAS dataset. This parameter is disabled when input features are specified for the Import from Feature Class parameter.

Point

Derived Output

LabelExplanationData Type
Output Folder

The folder that the output LAS files will be written to.

Folder

arcpy.ddd.TileLas(in_las_dataset, target_folder, {base_name}, {out_las_dataset}, {compute_stats}, {las_version}, {point_format}, {compression}, {las_options}, {tile_feature}, {naming_method}, {file_size}, {tile_width}, {tile_height}, {tile_origin})
NameExplanationData Type
in_las_dataset

The LAS dataset that will be processed.

LAS Dataset Layer
target_folder

The folder where the tiled LAS files will be written.

Folder
base_name
(Optional)

The name that each output file will begin with.

String
out_las_dataset
(Optional)

The new LAS dataset that references the tiled LAS files created by this tool. This parameter is optional.

LAS Dataset
compute_stats
(Optional)

Specifies whether statistics will be computed for the .las files referenced by the LAS dataset. Computing statistics provides a spatial index for each .las file, which improves analysis and display performance. Statistics also enhance the filtering and symbology experience by limiting the display of LAS attributes, such as classification codes and return information, to values that are present in the .las file.

  • COMPUTE_STATSStatistics will be computed. This is the default.
  • NO_COMPUTE_STATSStatistics will not be computed.
Boolean
las_version
(Optional)

Specifies the LAS file version of each output file.

  • 1.0The LAS file version will be 1.0. This version supported 256 unique class codes but did not have a predefined classification schema.
  • 1.1The LAS file version will be 1.1. This version introduced a predefined classification scheme, and point record formats 0 and 1, and the synthetic classification flag for points that were derived from a source other than a lidar sensor.
  • 1.2The LAS file version will be 1.2. This version featured support for GPS time and RGB records in point records 2 and 3.
  • 1.3The LAS file version will be 1.3. This version added support for point records 4 and 5 for waveform data. However, waveform information is not read in ArcGIS. This is the default.
  • 1.4The LAS file version will be 1.4. This version introduced point record formats 6 through 10, along with new class definitions, 256 unique class codes, and the overlap classification flag.
String
point_format
(Optional)

The point record format of the output LAS files. The available options will vary based on the LAS file version specified in the las_version parameter.

Long
compression
(Optional)

Specifies whether the output LAS file will be in a compressed format or the standard LAS format.

  • NO_COMPRESSIONThe output will be in the standard LAS format (*.las file). This is the default.
  • ZLASOutput LAS files will be compressed in the zLAS format.
String
las_options
[las_options,...]
(Optional)

Specifies modifications that will be made to the output LAS files.

  • REARRANGE_POINTSLAS points will be arranged according to their spatial clustering.
  • REMOVE_VLRVariable-length records that are added after the header and the point records of each file will be removed.
  • REMOVE_EXTRA_BYTESExtra bytes that are present with each point record in the input LAS file will be removed.
String
tile_feature
(Optional)

The polygon features that define the tile width and height to be used when tiling the lidar data. The polygons are presumed to be rectangular, and the first feature's extent is used to define the tile width and height.

Feature Layer
naming_method
(Optional)

Specifies the method that will be used to provide a unique name for each output LAS file. Each file name will be appended to the text specified in the base_name parameter. When input features are used to define the tiling scheme, its text or numeric field names will also be included as a source for defining the file name.

  • XY_COORDSEach tile name will be appended with the x- and y-coordinates of its lower left corner in the format "<base name>_<x-coordinate>_<y-coordinate>". This is the default.
  • ROW_COLUMNThe tile name will be assigned based on the row and column it belongs to in the overall tiling scheme. The rows increment from the bottom up, while the columns increment from left to right. The name will be in the format "<base name>_<row number>_<column number>".
  • ORDINALThe tile name will be assigned based on its order of creation starting from the bottom left and incrementing to the top right. The name will be in the format "<base name>_<order number>". The number of leading zeros in the order number will be based on the maximum number of files that is created.
String
file_size
(Optional)

A value, which is expressed in megabytes, that represents the upper limit of the uncompressed file size of an output LAS tile with uniform point distribution across its entire extent. The default is 250, and the value is used to estimate the tile width and height.

The value of this parameter will change when the tile_height and tile_height parameters are modified. When the tile_feature parameter is specified, this parameter will be ignored.

Double
tile_width
(Optional)

The width of each tile. This parameter is disabled when the tile_feature parameter is specified. If the tile width and height are both provided, the file_size parameter will be updated to reflect the size of the output that would be generated with these dimensions. Similarly, if the file_size parameter is modified, the tile width and height get updated to reflect this change.

Linear Unit
tile_height
(Optional)

The height of each tile. This parameter is disabled when the tile_feature parameter is specified. If the tile width and height are both provided, the file_size parameter will be updated to reflect the size of the output that would be generated with these dimensions. Similarly, if the file_size parameter is modified, the tile width and height get updated to reflect this change.

Linear Unit
tile_origin
(Optional)

The coordinates of the origin of the tiling grid. The default values are obtained from the lower left corner of the input LAS dataset. When input features are specified in the tile_feature parameter, the origin will be inherited from the lower left corner of the first feature, and this parameter will be ignored.

Point

Derived Output

NameExplanationData Type
out_folder

The folder that the output LAS files will be written to.

Folder

Code sample

TileLas example 1 (Python window)

The following sample demonstrates the use of this tool in the Python window.

arcpy.env.workspace = 'C:/data'

arcpy.ddd.TileLas('Denver_2', basename='2014_', out_las_dataset='Denver_2014.lasd', 
                  las_version='1.4', point_format=6, compression='ZLAS Compression', 
                  las_options=['Rearrange points'], naming_method='ROW_COLUMN', file_size=300)
TileLas example 2 (stand-alone script)

The following sample demonstrates the use of this tool in a stand-alone Python script.

'''****************************************************************************
       Name: Tile LAS File
Description: Creates tiled LAS files form an untiled collection.
****************************************************************************'''
# Import system modules
import arcpy
import tempfile
import math

in_las = arcpy.GetParameterAsText(1) # The LAS files that need to be tiled
out_folder = arcpy.GetParameterAsText(2) # folder for LAS files
basename = arcpy.GetParameterAsText(3) # basename for output files
out_lasd = arcpy.GetParameterAsText(4) # output LAS dataset


try:
    # Create temp LAS dataset to reference LAS files that will be tiled
    temp_lasd = arcpy.CreateUniqueName('temp.lasd', tempfile.gettempdir())
    arcpy.management.CreateLasDataset(in_las, temp_lasd)
    arcpy.ddd.TileLas(temp_lasd, out_folder, basename, out_lasd, las_version=1.4, 
                      point_format=7, file_size=300)
    arcpy.management.Delete(temp_lasd)
    arcpy.ddd.ClassifyLasGround(out_lasd, method='AGGRESSIVE')
    arcpy.ddd.ClassifyLasBuilding(out_lasd, min_height='3 Meters', min_area='4 Meters')
    arcpy.ddd.ClassifyLasByHeight(out_lasd, height_classification=[(3, 6), (4,20), (5,70)],
                                  noise='All Noise', compute_stats='COMPUTE_STATS')

except arcpy.ExecuteError:
    print(arcpy.GetMessages())

Related topics