A tool to convert point cloud files in the LAS/LAZ formats to other custom formats. These formats are experimental and were developed for the "Executing ad-hoc queries on large geospatial data sets without acceleration structures" paper. Besides converting from LAS to LAZ and vice versa, the following new file formats are introduced by this tool:
LAST("LAS Transposed") is identical to theLASformat, but the memory layout is transposed so that all values of a single attribute are stored together in memory, as opposed toLASwhich stores all attributes of a single point together in memoryLAZT("LAST but Zipped") is identical toLAST, but the whole file is compressed using the LZ4 compression algorithmLAZER("LAZ for Efficient Reading"), a variant ofLAZthat uses a different compression algorithm (LZ4). This format stores points in blocks of a fixed number of points, where each block has the same memory layout as theLASTfile, preceeded by a block header. Within a block, all attributes use a separate compression context, the block header stores the offset from the start of the block to the start of the compressed attributes to enable faster attribute lookupLASER, which is likeLAZERbut without compression
Requires a recent Rust installation (>=1.51), or Docker. With Rust, simply run cargo run --release to get information about the usage. In its simplest form, converting from one format to another works like this:
cargo run --release -- LAST source_file.las target_file.lastFor the compressed formats, there are also some additional flags available:
-c XwithXin [1;9] specifies the amount of compression. See the LZ4 specification for more details-b Xspecifies the block sizeX(i.e. the number of points per block) for theLASERandLAZERformats. A good default is 50_000, which is the same value thatLAZuses
This project is licensed under the MIT license.