A utility to convert E57 point cloud files to LAS format. It is based on the E57 crate and the LAS crate.
e57_to_las
is an open-source tool designed to convert point cloud files in the E57 format to the LAS format. The conversion retains all the relevant point data and associated metadata, making it easier for users to work with point cloud data in environments that primarily support LAS. We use is to convert E57 files to LAS for use in Potree for web-based point cloud visualization.
rayon
for faster conversion.stations.json
), containing spatial coordinates of station points. This is activated by enabling the stations
feature flag, and the station points are calculated based on the transformation translations of the point clouds.bash
e57_to_las [OPTIONS]
To use this as a crate in your own project, add the following to your Cargo.toml
:
toml
[dependencies]
e57-to-las = "0.3.0"
You can then use it in your code as follows:
```rust use e57tolas::convert_file;
fn main() { let inputpath = String::from("path/to/input.e57"); let outputpath = String::from("path/to/output/directory"); let numberofthreads = 0; // 0 = max possible convertfile(inputpath, outputpath, numberof_threads); } ```
-p, --path <path>
: The path to the input E57 file.-o, --output <output>
: The output directory for the converted LAS files (default: ./
).-T, --threads <threads>
: Number of threads for parallel processing (default: 0 = max possible).stations.json
in the output directory (only if stations feature is enabled).If you'd like to contribute to the development of this tool, please create an issue or pull request on our GitHub repository. All contributions are welcome!
Here are some of the main dependencies used:
rayon
: Parallelismclap
: Command-line argument parsinge57
: E57 file format readerlas
: LAS file format writeruuid
: For GUID processingserde
: For serialization and deserialization of dataOpen-source MIT. See LICENSE for details.