Weight, but the unit is not defined
@JohanEntur pointed out that is all the places "Weight" is used, the unit hasn't been defined. One could also argue that DefaultSystemOfUnits only covers distance and not weight.
Either define in the documentation that only kilograms are support or introduce a new element in FrameDefaults.
and 🙏 deprecate this
<DefaultSystemOfUnits>SiKilometresAndMetres</DefaultSystemOfUnits>
As Stefan points out, it is only possible to define units of distance (and only one unit at that).
SI has 7 base units:
Of these, I believe 5 are of some use to us
- length
- mass
- electric current
- temperature
- luminous intensity (for time... are there any alternatives? and "amount of substance" seems irrelevant, although - I guess there is not that many alternatives for electrical current either 🤔)
Examples:
- Vehicles have length, width and weight (so, LENGTH and MASS units)
- Charging stations have an electric current
- Temperature might be a corner case, but what if a vehicle has a maximum or minimum operational temperature (too hot or too cold to run)?
- Luminosity is useful for signs and illumination data
We also need to know what amount of unit is the default. Does "5" mean 5 grams, kilograms or tonnes. SiBaseUnits defines these as the 1.
- seconds
- metre
- kilogram
- ampere
- kelvin (but... maybe we should use C anyway?)
- mole
- candela
SI also has 22 "SI derived units" like Volt and Watt.
So, by setting "SIBaseUnits" as a default, we can know that all numerals are set at the base unit level.
Source: https://en.wikipedia.org/wiki/International_System_of_Units ...
what should other enums be?
<DefaultSystemOfUnits>FreedomUnits</DefaultSystemOfUnits>?
<DefaultSystemOfUnits>SiBaseUnitsButWithCelcius</DefaultSystemOfUnits>?
This issue has risen in the OpRa team as well. For more complex and varying units for a specific dimension (such as emission, passenger volume), a user might need to switch to more convenient ones instead of the units NeTEx currently provides, and specify the unit a scalar value is given in. As a general solution, I'd suggest using GML BaseUnit, DerivedUnit and related types. A subset of GML is already included in NeTEx, in the OpRa team, one solution being considered is to extend the GML inclusion range and include unit types (defining units on the Frame level). It might be a good solution in NeTEx as well.
I don't like the use of "convenient" units. SI it is.
Stefan/Johan: DefaultSystemOfUnits only covers distance and not weight.
The definition of SystemOfUnits in netex_units.xsd: It is always kg for weight. and it is bascially always SI (except in one case the distance is km instead of m). So I don't really undertand, what needs doing.