True Vs Magnetic North in Heading

Trying to figure out if there is a way to show the direction of travel heading with reference to Magnetic North, 

Normally i would use the on position event to get the heading from GPS, but would like to provide the option to calculate the heading relative to magnetic north and consequently magnetic compass heading to the next waypoint.

Sensor.getInfo().heading returns the compass orientation of the watch but i actually want the directional heading in magnetic north reference, reading the documentation this also mentions true north not magnetic north so this doesnt seem to be the solution.

Am i missing something simple to calculate a heading in magnetic vs true

If not i'll probably just add an option for people to add magnetic declination for their area as a local setting, i could do it via a web request to get it from a site but not keen on sending location data.

Thanks in advance if anyone has any thoughts or suggestions on this one.

  • These devices are GPS units first. So, it makes some sense they use true north (since that's easily calculated from GPS data).

    There is no data on the device to calculate magnetic north from the (GPS determined) true north.

    When you are moving, the devices use GPS data to determine heading and fallback to the compass (if it exists) when you are stopped.

    That is, the devices appear to treat the compass readings as an approximation of true north.

  • But when i don't move, just open the compass widget then it can't use GPD and it still shows the compass. So there must be a way (though it's not necessarily exported in the SDK) to see the compass data.

  • Yes, devices with compasses show the compass data when you are stopped. Otherwise, why have a compass?

    The GPS can’t be used to show heading when you are stopped. So, a compass is an improvement there. 

    When moving, the GPS heading is (very likely) going to be much more accurate and it’s free from declination differences. So, the compass is worse here.

    Garmin is giving you the best data available. 

  • I'm not sure. How much the difference can be between the magnetic and true north?

    When i walk and the gps accuracy is a few meters radius then the accuracy of the measured heading can be really bad IMHO, because you might walk for 10 seconds and still the inaccuracy of your position can be bigger than the distance you walked.

  • Thanks, Agree the GPS data is preferentiall, but the use case is often on smaller boats the Skipper is looking at a magntic compass, so when you provide a course to steer for the next waypoint or current one it will likely be slightly off, normally you correct for this by giving the GPS true north heading, and then once on the new leg do the math mentally for what the course to steer will be by comparing the numbers on the watch to the numbers on the ship compass. This obviously works fine, but it is the most requested feature from the users of the app so keen to explore the options. 

  • There are local deviations too. And interference from metal and electrical components. Compass data is messier.

    If the differences are irrelevant, you don’t need two data streams to manage. 

    Nothing is going to be perfect. It doesn’t seem dealing with two data streams improves that. 

  • Thanks, Agree the GPS data is preferentiall, but the use case is often on smaller boats the Skipper is looking at a magntic compass, so when you provide a course to

    This is useful information (you should have mentioned it at first).

    Garmin has to serve all sorts of uses/users and they have to try not to make things too complicated.

    It doesn’t seem reasonable that the watch compass would be calibrated anywhere as carefully/correctly as a compass on a boat used for navigation would be.

    So, the magnetic reading from the watch isn’t likely to match anyway. 

    Garmin likely doesn’t want to have to be committed to making sure the compass is good enough to rely on for this sort of navigation. 

  • Thanks, for the feedback i dont think garmin recomend you use a watch for navigation full stop given they have an entire product line for that, the compass on the unit would likely be calibrated against the gps heading (this is how most magnetic compasses are used in applications like drones) so the missing piece would be if you use the Mag readings is this already calibrated if it is then its a mute point because it will already be trying to cover for any variance, sounds like programatically offsetting for a known declination will be simpler

  • Yes, more or less.


    I don’t think the watches have a declination map, which would need GPS anyway. (And there are other things that mess compasses up).

    Not sure why drones would mess with compasses if they have GPS. 

  • The Sensor module always shows "best source" and in the case of heading, at less than 2mph (if I recall) is the compass, otherwise, GPS (if available).

    Cadence is another example.  It uses the watch unless something like a footpad is connected.

    On newer devices, temperature is the internal sensor unless a Tempe is connected.