pub struct Point3D {Show 14 fields
pub x: f64,
pub y: f64,
pub z: f64,
pub intensity: u16,
pub return_number: u8,
pub number_of_returns: u8,
pub classification: u8,
pub scan_angle_rank: i8,
pub user_data: u8,
pub point_source_id: u16,
pub gps_time: Option<f64>,
pub red: Option<u16>,
pub green: Option<u16>,
pub blue: Option<u16>,
}Expand description
A single LAS/LAZ point record.
Covers the core fields present in all LAS point data format IDs (0–10).
Optional fields (gps_time, red, green, blue) are None for format
IDs that do not carry them.
Fields§
§x: f64X coordinate (scaled and offset per LAS header).
y: f64Y coordinate (scaled and offset per LAS header).
z: f64Z coordinate (scaled and offset per LAS header).
intensity: u16Laser pulse return intensity (0–65535).
return_number: u8Return number within the pulse (1-based, ≤ number_of_returns).
number_of_returns: u8Total number of returns for this pulse.
classification: u8ASPRS classification code (see Point3D::classification_name).
scan_angle_rank: i8Scan angle rank in degrees (−90 to +90, rounded to integer for formats 0-5).
user_data: u8User-defined data byte.
point_source_id: u16Point source ID (flight line ID for airborne surveys).
gps_time: Option<f64>GPS time of the point (present in formats 1, 3, 5, 6–10).
red: Option<u16>Red channel colour value (present in formats 2, 3, 5, 7, 8).
green: Option<u16>Green channel colour value (present in formats 2, 3, 5, 7, 8).
blue: Option<u16>Blue channel colour value (present in formats 2, 3, 5, 7, 8).
Implementations§
Source§impl Point3D
impl Point3D
Sourcepub fn new(x: f64, y: f64, z: f64) -> Self
pub fn new(x: f64, y: f64, z: f64) -> Self
Create a new point at (x, y, z) with all other fields zeroed / None.
Sourcepub fn with_intensity(self, intensity: u16) -> Self
pub fn with_intensity(self, intensity: u16) -> Self
Builder: set the intensity value.
Sourcepub fn with_classification(self, class: u8) -> Self
pub fn with_classification(self, class: u8) -> Self
Builder: set the ASPRS classification code.
Sourcepub fn with_color(self, r: u16, g: u16, b: u16) -> Self
pub fn with_color(self, r: u16, g: u16, b: u16) -> Self
Builder: set red / green / blue colour values.
Sourcepub fn with_gps_time(self, t: f64) -> Self
pub fn with_gps_time(self, t: f64) -> Self
Builder: set the GPS timestamp.
Sourcepub fn distance_to(&self, other: &Point3D) -> f64
pub fn distance_to(&self, other: &Point3D) -> f64
3-D Euclidean distance to another point.
Sourcepub fn distance_2d(&self, other: &Point3D) -> f64
pub fn distance_2d(&self, other: &Point3D) -> f64
2-D horizontal distance (ignores Z) to another point.
Sourcepub fn classification_name(&self) -> &'static str
pub fn classification_name(&self) -> &'static str
Human-readable name for the ASPRS LAS 1.4 classification code.
Returns the standard name for codes 0–18 and "Reserved/Unknown" for
everything else.