egml_core/model/measures/angle.rs
1use crate::impl_measure_type;
2use crate::model::basic_types::Measure;
3
4/// An angle quantity with its unit of measure.
5///
6/// Corresponds to `gml:AngleType` in ISO 19136 — a vacuous extension of
7/// `gml:MeasureType`. The unit referenced by `uom` should be suitable for an
8/// angle, such as degrees or radians.
9///
10/// # Examples
11///
12/// ```rust
13/// use egml_core::model::measures::Angle;
14///
15/// let bearing = Angle::new(90.0, "deg");
16/// assert_eq!(bearing.value(), 90.0);
17/// ```
18#[derive(Debug, Clone, PartialEq, PartialOrd)]
19pub struct Angle(Measure);
20
21impl_measure_type!(Angle);