3 unstable releases
0.2.1 | May 20, 2024 |
---|---|
0.2.0 | May 19, 2024 |
0.1.0 | May 18, 2024 |
#264 in Math
543 downloads per month
Used in voxel-tiler-cli
49KB
685 lines
English | 日本語
voxel-tiler-core
A fast point cloud voxelization library written in Rust. This crate provides the ability to convert point cloud data into ply files representing voxel meshes. It also exposes functions related to intermediate processing, so you can partially implement your own implementation if you want to perform advanced processing.
If you want to try out the basic functionality right away, you can use voxel-tiler-cli wrapped in the CLI.
Features
- Voxelization processing based on pixel coordinates
- One voxel of voxel data generated by this crate corresponds to one pixel in the pixel coordinate system.
- Therefore, the voxel resolution depends on the latitude and the zoom level of the pixel coordinate system.
- Tile-based segmentation
- The generated voxel data can optionally be split per tile space at a specified zoom level.
- This feature allows large point cloud data to be split into multiple files for output.
- Support for importing Las/Laz files.
- Point cloud data can be imported from Las/Laz files.
- Support for exporting PLY files
- Export voxel data to PLY files in any format (Ascii / Binary).
About output voxel data
The voxel data output by this crate is generated to fit a single pixel in the specified pixel coordinate system. Normally, there are no pixel coordinates in the height direction, but this crate defines pixel coordinates in the height direction using the edge length of one pixel as the unit length. The edge length of one pixel is coordinate_transformer::pixel_resolution The length of one pixel is calculated by.
Usage
The crate provides a VoxelTiler
structure that can be quickly applied for simple uses. This structure can read Las/Laz
files or prepared point cloud data and generate a buffer that conforms to the ply format for representing voxel mesh
data.
See the sample code in the examples
directory for specific usage.
License
Licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
(The English in the documentation comments and README file has been translated by DeepL.)
Dependencies
~3–6MB
~106K SLoC