#point-cloud #voxel #ply #las

voxel-tiler-core

Convert point clouds to voxel data

3 unstable releases

0.2.1 May 20, 2024
0.2.0 May 19, 2024
0.1.0 May 18, 2024

#264 in Math

Download history 311/week @ 2024-05-13 232/week @ 2024-05-20

543 downloads per month
Used in voxel-tiler-cli

MIT/Apache

49KB
685 lines

English | 日本語

voxel-tiler-core

voxel

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

at your option.

(The English in the documentation comments and README file has been translated by DeepL.)

Dependencies

~3–6MB
~106K SLoC