I just discovered it’s possible to export GPX data from SafeSky. Nice!
One use case I’m interested in is analyzing touch down point precision, as well as general landing roll and take of rolls.
However the GPX file resolution is 1Hz (1 update per second). I assume this is because the iPhone/iPad internal GPS reports every second. However at say 100 knots that is only one point for every 50 meters. Add some GPS inaccuracy and maybe you want 2-3 datapoints to confirm for example touch-down then a 1 second resolution is not enough.
So! I promptly dug up my old Garmin Glo 2 (www(DOT)garmin(DOT)com/en-US/p/645104#specs) external bluetooth GPS receiver. It updates 10 times per second (10Hz).
Garmin does say that “iOS devices will not support a 10 Hz update rate”. I’m really frustrated by the vagueness here. I assume since they are not saying “it only supports 1Hz update rate” that it is indeed higher than 1Hz. But they cannot guarantee 10Hz, so maybe it’s a bandwidth/capacity problem rather than an artificial constraint.
My main problem now is I have no way of verifying that the external GPS is working and providing data. Coming from Windows and Android this is very frustrating. But it is apparently very Apple-like. Everything just works (until it doesn’t) and you should not, and shall not, look behind the curtain of how the sausage is made (in this case the source of location data being feed to apps, such as SafeSky).
Apparently these race car drivers use GPS for timing laps and have some of the same issues: forum(DOT)gps-laptimer(DOT)de/viewtopic.php?t=5243&sid=7b512ac59f6cc2d3dbbfa675e7865587&start=10
It does look like the iOS APIs can deliver location updates faster than 1 second, as the case with an external bluetooth GPS. Maybe not the full 10Hz but even 5Hz would be 5x more accurate than the internal GPS (in addition to the increase accuracy of the external GPS itself).
Therefore my feature request is simple-ish: Ability to display the location (GPS) refresh rate in SafeSky (indirectly identifying which GPS is being used). The simplest would probably to show it in some section of settings that can be found on demand, and not necessarily on the screen at all times.
Calculating the refresh rate would then be 1/elapsed time since previous location update.
I kind of half assume that would also lead to more points in the GPX export as well. (Unless you downsample or normalize or do something to only update things every second).