Project LAS (Data Management)

Summary

Projects .las or .zlas files from one coordinate system to another.

Usage

  • This tool can project an individual .las or .zlas file, or a collection of .las or .zlas files, through the LAS dataset. You can project the horizontal and, optionally, the vertical coordinate systems of .las and .zlas files. Projecting the vertical coordinate system requires the ArcGIS AllSource Coordinate Systems Data package to be installed. This package includes the transformation grids needed for the conversion.

  • The files being projected must have a coordinate system defined. The LAS format requires the spatial reference to be embedded in the file, but some files may have missing or incorrect information. For such data, a spatial reference can be assigned by having a .prj file with the same name alongside the .las or .zlas file. A .prj file will override any spatial reference information in a .las or .zlas file. You can create the .prj for a .las or .zlas file using the Define Projection tool. Alternatively, you can create a .prj for multiple files using the Create LAS Dataset tool with the parameter to create .prj files. Evaluate whether the coordinate system assigned through the .prj file accurately positions the .las or .zlas files before projecting them.

    Learn more about how coordinate system information is stored in LAS files.

  • The Geographic Transformation parameter is optional. When no geographic or datum transformation is required, no drop-down list will appear on the parameter, and it is left blank. When a transformation is required, a drop-down list will be generated based on the input and output datums, and a default transformation will be applied.

    • For example, a geographic transformation is not required when projecting from GCS_North_American_1983 to NAD_1983_UTM_Zone_12N because both the input and output coordinate systems have the NAD_1983 datum. However, projecting from GCS_North_American_1983 to WGS_1984_UTM_Zone_12N requires a geographic transformation because the input coordinate system uses the NAD_1983 datum, while the output coordinate system uses the WGS_1984 datum.
      Tip:

      Transformations are bidirectional. For example, if you're converting data from WGS84 to NAD 1927, you can choose the NAD_1927_to_WGS_1984_3 transformation, and the tool will apply it correctly.

    • All transformations in ArcGIS AllSource can be found in the Geographic and vertical transformation tables.

  • When a LAS dataset is being used to project multiple files, the coordinate systems of those files should be the same. This is important because projecting data may require a geographic transformation. In this case, the transformation can only be specified for one coordinate system.

  • Most of the tools that create new LAS format files support the Output Coordinate System and Geographic Transformations environments. These environments can be used to project the input .las or .zlas files. If you intend to perform other operations such as thinning, tiling, clipping or filtering the LAS data, consider using one of the following tools to avoid the creation of unnecessary intermediate datasets:

    • Thin LAS—Reduce the point density of the data.
    • Tile LAS—Subdivide the point cloud into a regular tiling scheme.
    • Extract LAS—Clip and filter the point cloud.
  • Rearranging the points can improve the performance of visualization and data processing operations because it reorders point records to optimizes spatial queries. Statistics are automatically calculated when the points are rearranged. The rearrange operation will add processing time, but it is recommended because of the benefits it provides.

  • If the LAS points are not going to be rearranged and the output will be uncompressed .las files, you can calculate statistics to optimize spatial queries and provide a summary of the class codes and return values that are present in each file. However, the operation will extend the processing time of this tool. If the .las or .zlas files will not be used in ArcGIS, you can disable the calculation of statistics so that the tool will process more quickly.

Parameters

LabelExplanationData Type
Input LAS Dataset

The input .las or .zlas files that will be projected. A LAS dataset can also be provided to process all of the .las and .zlas files it references.

LAS Dataset Layer
Target Folder

The existing folder where the output .las files will be written.

Folder
Output Coordinate System

The coordinate system of the output LAS format files.

Coordinate System
Geographic Transformation
(Optional)

This method can be used for converting data between two geographic coordinate systems or datums. This optional parameter may be required if the input and output coordinate systems have different datum.

Tip:

The tool automatically applies a default transformation. You can choose a different transformation from the drop-down list. Transformations are bidirectional. For example, if you're converting data from WGS84 to NAD 1927, you can choose the NAD_1927_to_WGS_1984_3 transformation, and the tool will apply it correctly.

The parameter provides a drop-down list of valid transformation methods. See the usage tips for additional information about how to choose one or more appropriate transformations.

String
Compression
(Optional)

Specifies whether the output file will be written using the compressed ZLAS format or the uncompressed LAS format.

  • Same as InputThe output will be written using the same compression as the input file. This is the default.
  • No CompressionThe output will be written using the uncompressed LAS format.
  • ZLAS CompressionThe output will be written using the compressed ZLAS format.
String
LAS Options
(Optional)

Specifies the operations that will be performed on the .las files.

  • Rearrange PointsThe points will be rearranged. Rearranging points can improve how the output data will be processed when retrieving its point records for visualization and downstream processing in other tools. Rearranging the point records results in the computation of statistics for the .las files. This is the default.
  • Compute StatisticsStatistics and a spatial index will be calculated for each output .las file. This information will be stored in a file that has the same name and location as the .las file but has a .lasx extension. The presence of statistics helps improve analysis and display performance. Statistics also improve the symbology and LAS filter experience by limiting the display of class codes to values that are present in the .las file. This option is ignored when creating .zlas files or rearranging points, because those options calculate statistics.
  • Remove Variable Length Records The variable length records that were added by third-party applications will be removed from the output files. Each file can store variable length records before the point records and at the end of the file. The meaning of these records is typically only known by the originating software. Retaining these records will only provide value-added functionality when the LAS data is processed by applications that understand how to interpret this information. Removing the variable length records can help reduce the overall file size of the output data, especially if they are numerous.
  • Remove Extra BytesExtra byte records will be removed. Extra byte records are additional attributes that are associated with each point. Extra bytes are not commonly found in .las files, but removing them will further reduce the output file size.
String
Output Name Modifier
(Optional)

Modifies the output file names by adding characters to the beginning and end of their existing file names.

Value Table
Output LAS Dataset
(Optional)

The LAS dataset that will reference the newly created .las or .zlas files. This parameter provides a way to further interact with the output files. Relative paths will be used to reference the output files. When this parameter is specified in an active session of ArcGIS AllSource, the LAS dataset will be added to the active map.

LAS Dataset

Derived Output

LabelExplanationData Type
Output Folder

The folder containing the projected .las or .zlas files.

Folder

arcpy.management.ProjectLAS(in_las_dataset, target_folder, coordinate_system, {geographic_transform}, {compression}, {las_options}, {name_modifier}, {out_las_dataset})
NameExplanationData Type
in_las_dataset

The input .las or .zlas files that will be projected. A LAS dataset can also be provided to process all of the .las and .zlas files it references.

LAS Dataset Layer
target_folder

The existing folder where the output .las files will be written.

Folder
coordinate_system

The coordinate system of the output LAS format files.

Valid values are a Spatial Reference object, a file with a .prj extension, or a string representation of a coordinate system.

Coordinate System
geographic_transform
[geographic_transform,...]
(Optional)
String
compression
(Optional)

Specifies whether the output file will be written using the compressed ZLAS format or the uncompressed LAS format.

  • SAME_AS_INPUTThe output will be written using the same compression as the input file. This is the default.
  • NO_COMPRESSIONThe output will be written using the uncompressed LAS format.
  • ZLASThe output will be written using the compressed ZLAS format.
String
las_options
[las_options,...]
(Optional)

Specifies the operations that will be performed on the .las files.

  • REARRANGEThe points will be rearranged. Rearranging points can improve how the output data will be processed when retrieving its point records for visualization and downstream processing in other tools. Rearranging the point records results in the computation of statistics for the .las files. This is the default.
  • COMPUTE_STATISTICSStatistics and a spatial index will be calculated for each output .las file. This information will be stored in a file that has the same name and location as the .las file but has a .lasx extension. The presence of statistics helps improve analysis and display performance. Statistics also improve the symbology and LAS filter experience by limiting the display of class codes to values that are present in the .las file. This option is ignored when creating .zlas files or rearranging points, because those options calculate statistics.
  • REMOVE_VLR The variable length records that were added by third-party applications will be removed from the output files. Each file can store variable length records before the point records and at the end of the file. The meaning of these records is typically only known by the originating software. Retaining these records will only provide value-added functionality when the LAS data is processed by applications that understand how to interpret this information. Removing the variable length records can help reduce the overall file size of the output data, especially if they are numerous.
  • REMOVE_EXTRA_BYTESExtra byte records will be removed. Extra byte records are additional attributes that are associated with each point. Extra bytes are not commonly found in .las files, but removing them will further reduce the output file size.
String
name_modifier
[name_modifier,...]
(Optional)

Modifies the output file names by adding characters to the beginning and end of their existing file names.

Value Table
out_las_dataset
(Optional)

The LAS dataset that will reference the newly created .las or .zlas files. This parameter provides a way to further interact with the output files. Relative paths will be used to reference the output files. When this parameter is specified in an active session of ArcGIS AllSource, the LAS dataset will be added to the active map.

LAS Dataset

Derived Output

NameExplanationData Type
out_folder

The folder containing the projected .las or .zlas files.

Folder

Code sample

ProjectLAS example (stand-alone script)

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


import arcpy
arcpy.env.workspace = "C:/data"

# The LAS dataset referencing the files to be projected
lasd = "Aerial_Survey.lasd"

# Input coordinate system is World_Patterson/EGM_2008_Geoid
# Output coordinate system is British_National_Grid/Newlyn VCS
sr = arcpy.SpatialReference(27700, 5701)

# Run the tool
arcpy.management.ProjectLAS(
    in_las_dataset="British_Tiled.lasd",
    target_folder=r"Projected\BNG_Newlyn",
    coordinate_system=sr,
    geographic_transform="'~WGS_1984_To_WGS_1984_EGM2008_1x1_Height + "\
                         "~ETRS_1989_To_WGS_1984 + "\
                         "ETRS89_To_Newlyn_Height_2_OSGM15 + "\
                         "~OSGB_1936_To_ETRS_1989_1'",
    compression="ZLAS",
    las_options=['REARRANGE', 
                 'COMPUTE_STATISTICS', 
                 'REMOVE_VLR'],
    name_modifier="Projected_ _BNG_Newlyn",
    out_las_dataset=r"Projected_BNG_Newlyn.lasd"
)

Related topics