nmeasim::core::units¶
namespace nmeasim::core::units ยท Library API
Unit conversions, part of the nmeasim::core library.
Internal state is kept in the units marine users think in: degrees, knots, metres and degrees Celsius. Encoders convert to whatever a protocol demands with the constants and functions here: kilometres per hour and feet for NMEA 0183, metres per second and kelvin for Signal K.
Summary¶
Functions
| Name | Description |
|---|---|
knots_to_kmh() |
Converts a speed from knots to kilometres per hour. |
knots_to_mps() |
Converts a speed from knots to metres per second. |
mps_to_knots() |
Converts a speed from metres per second to knots. |
metres_to_feet() |
Converts a length from metres to international feet. |
metres_to_fathoms() |
Converts a length from metres to fathoms. |
celsius_to_kelvin() |
Converts a temperature from degrees Celsius to kelvin. |
Variables
| Name | Description |
|---|---|
kMetresPerNauticalMile |
Metres in one international nautical mile, exact by definition. |
kSecondsPerHour |
Seconds in one hour. |
kFeetPerMetre |
International feet in one metre: 1 / 0.3048, rounded to double precision. |
kFathomsPerMetre |
Fathoms of six international feet in one metre: 1 / 1.8288, rounded to double precision. |
kKilometresPerHourPerKnot |
Kilometres per hour in one knot, exact by definition of the nautical mile. |
kMetresPerSecondPerKnot |
Metres per second in one knot: 1852 / 3600. |
kKelvinOffset |
Kelvin value of 0 degrees Celsius, exact by definition. |
Functions¶
knots_to_kmh()¶
double knots_to_kmh(double knots) noexcept
Converts a speed from knots to kilometres per hour.
Parameters
| Name | Type | Description |
|---|---|---|
knots |
double |
Speed in knots. |
Returns double: The speed in kilometres per hour.
Declared in src/core/include/nmeasim/core/units.hpp:38
knots_to_mps()¶
double knots_to_mps(double knots) noexcept
Converts a speed from knots to metres per second.
Parameters
| Name | Type | Description |
|---|---|---|
knots |
double |
Speed in knots. |
Returns double: The speed in metres per second.
Declared in src/core/include/nmeasim/core/units.hpp:46
mps_to_knots()¶
double mps_to_knots(double mps) noexcept
Converts a speed from metres per second to knots.
Parameters
| Name | Type | Description |
|---|---|---|
mps |
double |
Speed in metres per second. |
Returns double: The speed in knots.
Declared in src/core/include/nmeasim/core/units.hpp:54
metres_to_feet()¶
double metres_to_feet(double metres) noexcept
Converts a length from metres to international feet.
Parameters
| Name | Type | Description |
|---|---|---|
metres |
double |
Length in metres. |
Returns double: The length in feet.
Declared in src/core/include/nmeasim/core/units.hpp:62
metres_to_fathoms()¶
double metres_to_fathoms(double metres) noexcept
Converts a length from metres to fathoms.
Parameters
| Name | Type | Description |
|---|---|---|
metres |
double |
Length in metres. |
Returns double: The length in fathoms.
Declared in src/core/include/nmeasim/core/units.hpp:70
celsius_to_kelvin()¶
double celsius_to_kelvin(double celsius) noexcept
Converts a temperature from degrees Celsius to kelvin.
Parameters
| Name | Type | Description |
|---|---|---|
celsius |
double |
Temperature in degrees Celsius. |
Returns double: The temperature in kelvin.
Declared in src/core/include/nmeasim/core/units.hpp:78
Variables¶
kMetresPerNauticalMile¶
double kMetresPerNauticalMile{1852.0}
Metres in one international nautical mile, exact by definition.
Declared in src/core/include/nmeasim/core/units.hpp:20
kSecondsPerHour¶
double kSecondsPerHour{3600.0}
Seconds in one hour.
Declared in src/core/include/nmeasim/core/units.hpp:22
kFeetPerMetre¶
double kFeetPerMetre{3.280839895013123}
International feet in one metre: 1 / 0.3048, rounded to double precision.
Declared in src/core/include/nmeasim/core/units.hpp:24
kFathomsPerMetre¶
double kFathomsPerMetre{0.5468066491688539}
Fathoms of six international feet in one metre: 1 / 1.8288, rounded to double precision.
Declared in src/core/include/nmeasim/core/units.hpp:26
kKilometresPerHourPerKnot¶
double kKilometresPerHourPerKnot{1.852}
Kilometres per hour in one knot, exact by definition of the nautical mile.
Declared in src/core/include/nmeasim/core/units.hpp:28
kMetresPerSecondPerKnot¶
double kMetresPerSecondPerKnot{kMetresPerNauticalMile / kSecondsPerHour}
Metres per second in one knot: 1852 / 3600.
Declared in src/core/include/nmeasim/core/units.hpp:30
kKelvinOffset¶
double kKelvinOffset{273.15}
Kelvin value of 0 degrees Celsius, exact by definition.
Declared in src/core/include/nmeasim/core/units.hpp:32