Struct DisplayScaleRange
A display-scale window expressed as denominator bounds. The
Minimum denominator is the coarsest scale
(largest number) at which content is intended to display; the
Maximum denominator is the finest (smallest
number). Either bound may be null when only one end is specified.
Mirrors the S-101 DataCoverage minimumDisplayScale /
maximumDisplayScale pair (S-101 FC §3.1.1; S-100 Part 17).
public readonly record struct DisplayScaleRange : IEquatable<DisplayScaleRange>
- Implements
- Inherited Members
Constructors
DisplayScaleRange(int?, int?)
A display-scale window expressed as denominator bounds. The
Minimum denominator is the coarsest scale
(largest number) at which content is intended to display; the
Maximum denominator is the finest (smallest
number). Either bound may be null when only one end is specified.
Mirrors the S-101 DataCoverage minimumDisplayScale /
maximumDisplayScale pair (S-101 FC §3.1.1; S-100 Part 17).
public DisplayScaleRange(int? Minimum, int? Maximum)
Parameters
Minimumint?Coarsest display-scale denominator (largest value), or
null.Maximumint?Finest display-scale denominator (smallest value), or
null.
Properties
Maximum
Finest display-scale denominator (smallest value), or null.
public int? Maximum { get; init; }
Property Value
- int?
Minimum
Coarsest display-scale denominator (largest value), or null.
public int? Minimum { get; init; }
Property Value
- int?
Methods
FromDeclared(int?, int?)
Builds the window one coverage declares from its raw
minimumDisplayScale / maximumDisplayScale denominators,
tolerating an inverted pair.
public static DisplayScaleRange FromDeclared(int? minimum, int? maximum)
Parameters
minimumint?The declared
minimumDisplayScaledenominator, ornull.maximumint?The declared
maximumDisplayScaledenominator, ornull.
Returns
- DisplayScaleRange
The normalised window; both bounds are
nullwhen neither is usable.
Remarks
Non-positive denominators are treated as absent. When both bounds are
present but the declared minimum is the finer scale (smaller
denominator), the two are swapped so Minimum is always
the coarsest bound. Producers do ship such data (several IHO S-101
test cells declare minimumDisplayScale = 22000 with
maximumDisplayScale = 90000), and reading it literally would
hide the whole cell outside a far narrower band than intended.