2 releases
0.0.1-alpha.4 | Aug 5, 2024 |
---|---|
0.0.1-alpha.3 | Jul 9, 2024 |
#3 in #clouds
56 downloads per month
Used in 7 crates
(4 directly)
135KB
3K
SLoC
epoint
Library for processing 3D point clouds.
The library is at an early stage of development.
Contributing
The library is developed at the TUM Chair of Geoinformatics and contributions are highly welcome.
lib.rs
:
epoint
is a library for processing 3D point clouds.
Overview
Data structure
For serializing a point cloud, this data structure is used:
point_cloud_name.tar
(uncompressed as tarball) orpoint_cloud_name.epoint
(compressed)point_data.xyz
(uncompressed) orpoint_data.parquet
(compressed)- mandatory fields:
x
[f64]: X coordinatey
[f64]: Y coordinatez
[f64]: Z coordinate
- optional fields: Timestamp, unique id, color
id
[u64]: Identifier for an individual pointframe_id
[String]: Coordinate frame the point is defined intimestamp_sec
[i64]: UNIX timestamp: non-leap seconds since January 1, 1970 0:00:00 UTCtimestamp_nanosec
[u32]: Nanoseconds since the last whole non-leap secondintensity
[f32]: Representation of the pulse return magnitude- ROS uses [f32] and is thus preferred
- LAS uses [u16]
- PDAL uses [u16]
beam_origin_x
[f64]: Beam origin X coordinate of current laser shotbeam_origin_y
[f64]: Beam origin Y coordinate of current laser shotbeam_origin_z
[f64]: Beam origin Z coordinate of current laser shotcolor_red
[u16]: Red image channel valuecolor_green
[u16]: Green image channel valuecolor_blue
[u16]: Blue image channel value
- mandatory fields:
info.json
(uncompressed) orinfo.json.zst
(compressed)- mandatory fields:
- optional fields:
frame_id
[String]: Coordinate frame valid for all points (point data must not contain a frame_id column then)
ecoord.json
(uncompressed) orecoord.json.zst
(compressed)- contains a transformation tree with validity durations
- information: srid
- purpose: Translate and rotate the point cloud without reading/writing the point data
Data structure
To simplify the interoperability to other systems or formats, the field names try to follow:
- PDAL: dimensions
- ROS: PointCloud2 Message
- LAS: Specification
Dependencies
~49–81MB
~1.5M SLoC