Expand description
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:
- 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 magnitudebeam_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
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
Re-exports§
pub use epoint_io as io;
pub use epoint_transform as transform;
Modules§
Structs§
- Wrapper around the data frame with type-safe columns.