#[non_exhaustive]pub struct CopcInfo {
pub center: [f64; 3],
pub halfsize: f64,
pub spacing: f64,
pub root_hier_offset: u64,
pub root_hier_size: u64,
pub gpstime_minimum: f64,
pub gpstime_maximum: f64,
}Expand description
COPC info VLR payload (160 bytes). This is COPC-specific — not part of the LAS standard.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.center: [f64; 3]Centre of the root octree cube [x, y, z].
halfsize: f64Half the side length of the root octree cube.
spacing: f64Spacing at the finest octree level.
root_hier_offset: u64File offset of the root hierarchy page.
root_hier_size: u64Size of the root hierarchy page in bytes.
gpstime_minimum: f64Minimum GPS time across all points.
gpstime_maximum: f64Maximum GPS time across all points.
Implementations§
Source§impl CopcInfo
impl CopcInfo
Sourcepub fn root_bounds(&self) -> Aabb
pub fn root_bounds(&self) -> Aabb
Compute the root octree bounding box from center + halfsize.
Sourcepub fn level_for_resolution(&self, resolution: f64) -> i32
pub fn level_for_resolution(&self, resolution: f64) -> i32
Compute the octree level needed for a given point spacing (in the same units as the point coordinates, typically meters).
At level 0 the average distance between points equals
CopcInfo::spacing. Each deeper level halves the distance. This
returns the shallowest level where the point spacing is ≤ resolution.
For example, if the file’s base spacing is 10 m and you request 0.5 m, you get level 5 (10 → 5 → 2.5 → 1.25 → 0.625 → 0.3125).
Use the returned level as max_level in
CopcStreamingReader::query_points_to_level
or
CopcStreamingReader::load_hierarchy_for_bounds_to_level.