Skip to main content

egml_core/model/measures/
scale.rs

1use crate::impl_measure_type;
2use crate::model::basic_types::Measure;
3
4/// A dimensionless scale factor with its unit of measure.
5///
6/// Corresponds to `gml:ScaleType` in ISO 19136 — a vacuous extension of
7/// `gml:MeasureType`. The unit referenced by `uom` should be suitable for a
8/// ratio, such as a percentage or a unitless factor.
9///
10/// # Examples
11///
12/// ```rust
13/// use egml_core::model::measures::Scale;
14///
15/// let factor = Scale::new(0.5, "unity");
16/// assert_eq!(factor.value(), 0.5);
17/// ```
18#[derive(Debug, Clone, PartialEq, PartialOrd)]
19pub struct Scale(Measure);
20
21impl_measure_type!(Scale);