A Community Devoted to the Preservation and Practice of Celestial Navigation and Other Methods of Traditional Wayfinding
From: Frank Reed
Date: 2021 May 24, 15:41 -0700
I think I understand what you're puzzled by in the output data from these apps. The positional information is consistent with differences at the level of 0.001' in latitude which, of course, is about six feet, and that's the expected accuracy when no other satellite constellations are accessed.
But what about the azimuths and elevation angles of the satellites? Clearly the first set of azimuths is offset from the others by 12-15°. And those first azimuths appear to be labeled by an "M" so we can safely assume that they are magnetic bearings while the others are true azimuths. It looks like that first system is using roughly 14.5° for the magnetic variation, and that sounds reasonable if its magnetic model is from fifteen to twenty years ago. Is it? How old is that system? Does it have some online update capability?
After that, I speculate (and that's all this is!) that we're looking at roundoff vs truncation. Since these elevation and azimuth numbers are essentially "informational" and really not much more than "for fun", I imagine that software developers devote relatively little effort to getting the numbers right. For one developer, truncating 14.8° to 14° might seem more than sufficient for the purpose, while another developer would round that to 15° without even thinking about it. Another option is that there is a "polling" delay. Since it has low significance, the apps may be requesting this information from the GPS hardware on a leisurely timescale with delays even as large as thirty seconds. It's also possible that the azimuth/elevation information is being calculated using a simplified algorithm, again because this is "informational". The actual position-finding analysis and heavy-lifting work is done in hardware on the GPS chip with no input from or control by the app developer, so it's exact regardless of these discrepancies.