## Values unit

A values units describes how values of a data item need to be interpreted. A values unit consists of:

• a value type (obligatory) which need to correspond to the type of data values configured with this values unit.
• a metric (optional, advised for units describing quantities) defining how the values need to be interpreted semantically (in meters, seconds, etc.).

## Value Type

The value type of the values unit defines the type, dimension and allowed range of values, see the value types table.

The value type of a unit is configured between the less than < and greater than > characters, after the keyword unit and before the name of the unit, see the example:

`unit<uint32> CityCode;`

In this example a values unit for CityCodes is configured with a uint32 value type.

## Metric

Metric in the GeoDMS relates to the units of measurement known from Physics. The International System of Units (SI) comprises a coherent system built around seven base units, an indeterminate number of unnamed coherent derived units, and a set of prefixes that act as decimal-based multipliers.

Values Units in the GeoDMS can be configured as base units or derived units by using expressions. The metric of the unit is derived from the configured expression and is presented in the GUI > Detail Pages > General. In calculations with data items, base units and derived units can be used in the same manner.

The metric is usefull to inform how values of data items need to be interpreted, but also to check for inconsistenties in calculations. For example, a data item expressed in meters can not meaningfully be summed with a data item expressed in seconds. This also apply to another data item expressed in kilometers, although this item could be summed with the data item expressed in meters,  if it was first divided by 1.000 meter per kilometer. For data items defining quantities it is strongly advised (although not obligatory) to configure expressions for units, resulting in a metric. Althoug considered a little difficult in the beginning, it is key function of the GeoDMS to manage and check the metric of (in between) results. Consistency in dealing with the metric of units in calculations is a key issue in good modeling.

## Without metric

Except from data items describing quantities, the GeoDMS also supports data items with index numbers, numeric codes, string values or booleans. These data items also need values units, but usually no metric. For these units there are two options:

Example 1: Explicitly configured values unit

`unit<uint32>        CityCode: cdf = "ProvinceClass/ClassBreaks"attribute<CityCode> DutchCityCodes (City);`

Example 2: Value type as values unit

`attribute<string> CityName (City)`

In the first example, a values unit is configured explicitly, without an expression. This option is useful if, although the unit has no metric, it is still relevant to configure the unit because of other relevant properties. In the example a cdf property is configured for the values unit, see also classifications.

In the second example, a value type is used directly as values unit. This option is advised if there is no need to configure a values unit explicitly as it contains no relevant characteristics. Boolean and string items are often configured this way.

OBJECT VISION BV
Vrije Universiteit
De Boelelaan 1085
1081 HV Amsterdam
The Netherlands

tel: +31 (0)20 598 9083
fax:+31 (0)20 598 9904