Requirements applicable to all range classes CategoryRange Class CountRange Class

OGC 08-094r1 SWE Common Data Model AbstractSimpleComponent «Type» CategoryRange «property» + codeSpace: Dictionary [0..1] + constraint: AllowedTokens [0..1] + value: TokenPair [0..1] Figure 7.14 – CategoryRange Class Requirement http:www.opengis.netspecSWE2.0requml-simple-componentscategory-range-valid Req 31. All requirements associated to the “Category” class defined in clause 7.2.6 apply to the “CategoryRange” class. The “CategoryRange” class also requires that the underlying code space is well-ordered i.e. the ordering of the different categories in the code space is clearly defined so that the range is meaningful. Requirement http:www.opengis.netspecSWE2.0requml-simple-componentscategory-range-codespace-order Req 32. The code space specified by the “codeSpace” attribute of an instance of the “CategoryRange” class shall define a well‐ordered set of categories. Example A “CategoryRange” can be used to specify the approximate time of a geological event by using names of geological eons, eras or periods such as [Archean - Proterozoic] or [Jurassic - Cretaceous]. The “value” attribute of the “CategoryRange” class takes a pair of tokens representing the inclusive minimum and maximum bounds of the extent.

7.2.12 CountRange Class

The “CountRange” class is used to express a value extent using the discrete countable representation of a property. It defines the same attributes as the “Count” class and those should be used in the same way: 36 Copyright © 2011 Open Geospatial Consortium SWE Common Data Model OGC 08-094r1 AbstractSimpleComponent «Type» CountRange «property» + constraint: AllowedValues [0..1] + value: IntegerPair [0..1] Figure 7.15 – CountRange Class The “value” attribute of the “CountRange” class takes a pair of integer numbers representing the inclusive minimum and maximum bounds of the extent.

7.2.13 QuantityRange Class

The “QuantityRange” class is used to express a value extent using the discrete countable representation of a property. It defines the same attributes as the “Quantity” class and those should be used in the same way: AbstractSimpleComponent «Type» QuantityRange «property» + uom: UnitOfMeasure + constraint: AllowedValues [0..1] + value: RealPair [0..1] Figure 7.16 – QuantityRange Class The “value” attribute of the “QuantityRange” class takes a pair of real numbers representing the inclusive minimum and maximum bounds of the extent.

7.2.14 TimeRange Class

The “TimeRange” class is used to express a value extent of a time property. It defines the same attributes as the “Time” class and those should be used in the same way: AbstractSimpleComponent «Type» TimeRange «property» + referenceTime: DateTime [0..1] + localFrame: TM_TemporalCRS [0..1] + uom: UomTime + constraint: AllowedTimes [0..1] + value: TimePair [0..1] Figure 7.17 – TimeRange Class Copyright © 2011 Open Geospatial Consortium 37 OGC 08-094r1 SWE Common Data Model Requirement http:www.opengis.netspecSWE2.0requml-simple-componentstime-range-valid Req 33. All requirements associated to the “Time” class defined in clause 7.2.9 apply to the “TimeRange” class. The “value” attribute of the “TimeRange” class takes a pair of values of type “TimePosition” representing the inclusive minimum and maximum bounds of the extent.

7.2.15 Quality Union

The “Quality” class is a union allowing the use of different representations of quality. Quality can be indeed be specified as a decimal value, an interval, a categorical value or a textual statement. In our model, quality objects are in fact data components used in a recursive way, as shown on the following diagram: «Union» Quality «property» + byQuantity: Quantity + byQuantityRange: QuantityRange + byCategory: Category + byText: Text Figure 7.18 – Quality Union These different representations of quality are useful to cover most use cases where simple quality information is provided with the data. Examples “Quantity” is used to specify quality as a decimal number such as accuracy, variance and mean, or probability. “QuantityRange” is used to specify a bounded interval of variation such as a bi-directional tolerance. “Category” is used for a quality statement based on a well defined taxonomy such as certification levels. “Text” is used to include a textual quality statement such as a comment written by a field operator. The “definition” attribute of the chosen quality component helps to further define the type of quality information given just like any other data component, and the “uom” should be specified in the case of a decimal quality value or interval. Note: Reusing data components to specify quality also allows the inclusion of quality values in the data stream itself. This is useful if the quality is varying and re-estimated for each measurement. This is for example the case in a GPS receiver where both horizontal 38 Copyright © 2011 Open Geospatial Consortium