Skip to content

Commit

Permalink
feature: Compute navigation.courseGreatCircle.bearingTrackMagnetic an…
Browse files Browse the repository at this point in the history
…d navigation.courseGreatCircle.nextPoint.bearingMagnetic (#79)
  • Loading branch information
sergei authored Mar 25, 2021
1 parent c4c65d8 commit 6700f48
Showing 1 changed file with 25 additions and 2 deletions.
27 changes: 25 additions & 2 deletions calcs/courseData.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,14 @@ module.exports = function (app) {
derivedFrom: [
'navigation.courseGreatCircle.nextPoint.position',
'navigation.courseGreatCircle.previousPoint.position',
'navigation.position'
'navigation.position',
'navigation.magneticVariation'
],
calculator: function (
nextPointPosition,
previousPointPosition,
vesselPosition
vesselPosition,
magneticVariation
) {
let pos = vesselPosition
? new LatLon(vesselPosition.latitude, vesselPosition.longitude)
Expand Down Expand Up @@ -44,12 +46,25 @@ module.exports = function (app) {
? null
: pathStart.initialBearingTo(pathEnd)

// Same as above, but magnetic
let trkBearingMagnetic =
!trkBearingTrue || !magneticVariation
? null
: trkBearingTrue - magneticVariation

// ** Distance from vessel to nextPoint **
let dtg = !pos || !pathEnd ? null : pos.distanceTo(pathEnd)

// The bearing of a line between the vessel's current position and nextPoint, relative to true north
let brg = !pos || !pathEnd ? null : pos.initialBearingTo(pathEnd)

// Same as above, but magnetic
let brgMag =
!brg || !magneticVariation
? null
: brg - magneticVariation


// ** Distance from vessel to previousPoint **
let dtp = !pos || !pathStart ? null : pathStart.distanceTo(pos)

Expand All @@ -62,6 +77,10 @@ module.exports = function (app) {
path: 'navigation.courseGreatCircle.bearingTrackTrue',
value: trkBearingTrue
},
{
path: 'navigation.courseGreatCircle.bearingTrackMagnetic',
value: trkBearingMagnetic
},
{
path: 'navigation.courseGreatCircle.nextPoint.distance',
value: dtg
Expand All @@ -70,6 +89,10 @@ module.exports = function (app) {
path: 'navigation.courseGreatCircle.nextPoint.bearingTrue',
value: brg
},
{
path: 'navigation.courseGreatCircle.nextPoint.bearingMagnetic',
value: brgMag
},
{
path: 'navigation.courseGreatCircle.previousPoint.distance',
value: dtp
Expand Down

0 comments on commit 6700f48

Please sign in to comment.