The Course API defines the path /vessels/self/navigation/course/calcValues
to accommodate the calculated values related to course navigation.
These paths are available to be populated by a "course provider" plugin that uses the course information set using the Course API. This approach promotes the extensibility of Signal K server providing flexibility and interoperability. See Course Provider Plugins below.
calcValues
The following paths are defined to hold values calculated using the information maintained by Course API operations:
Example:
{
"calcMethod": "Rhumbline",
"crossTrackError": 458.784,
"bearingTrackTrue": 4.58491,
"bearingTrackMagnetic": 4.51234,
"estimatedTimeOfArrival": "2022-04-22T05:02:56.484Z",
"distance": 10157,
"bearingTrue": 4.58491,
"bearingMagnetic": 4.51234,
"velocityMadeGood": 7.2653,
"timeToGo": 8491,
"targetSpeed": 2.2653,
"previousPoint": {
"distance": 10157
}
}
Calculated course values that cross a threshold should trigger a notification so that the necessary action can be taken.
The Course API defines the following notifications which should be implemented by a course provider:
navigation.course.arrivalCircleEntered
navigation.course.perpendicularPassed
Signal K server includes the Course Data Provider
plugin as part of the installation to provide out-of-the-box support for course calculations nd notifications.
This plugin can be replaced with others from the AppStore, or your own, to extend the number and types of calculations performed.
If you are looking to develop a course provider plugin, following are the recommended guidlines:
/vessels/self/navigation/course
path values mainntained by the Course API