-
-
Notifications
You must be signed in to change notification settings - Fork 76
Support for measures of absolute values and for intervals (differences)
A common error is to confuse the conversion of absolute measurements from interval measurements. For example, a temperature of 32 degrees Fahrenheit is equal to 0 degrees Celsius. But a temperature difference of 32 degrees Fahrenheit equals a temperature difference of 17.8 degrees Celsius.
Most scales are linear, described by
...where
Since QUDT is describing everything relative to SI units, for a given SI unit
To convert an arbitrary unit
so
In QUDT, we define
and
so
To convert unit
For intervals of a unit, we are talking about
This is why converting intervals becomes simpler for linear scales. The offsets disappear when you take the derivative:
or
What does this mean for our ontology?
We need to be able to state whether a Quantity is a delta value or an absolute value. That is, the user needs to say if they are dealing with a delta(Quantity), because in that case conversions use the equation for
To support this, the qudt:Quantity class has a property qudt:isDeltaQuantity. It is associated with the qudt:Quantity because the quantity describes the context of the measurment. qudt:isDeltaQuantity is a boolean property to record whether the measurement is an absolute value of the Quantity instance, or a delta (or difference) value. Setting isDeltaQuantity to "true" means the measurement is an interval. isDeltaQuantity set to "false" means the measurement is an absolute value. An application can then take the appropriate action, such as in unit conversion, etc.
It should be noted that in these cases, the unit is still the same unit on the same scale. There is nothing special about the unit.
The slope is not a constant for logarithmic or other nonlinear scales. Rather, if for example
then
so the slope depends on the value of