Richard, it is not unusual to have different devices end up showing a different distance (in fact it would be very unlikely for them to match). The inherent error in GPS, type of GPS chip, how each device compensates for the errors, even which wrist a watch is on (if dealing with watches). Having said that, the third value is certainly way off. Are all three from phone maprunf tracks?
I ask this as I ran a check site this morning with two watches and my phone running maprunf. The two watches matched fairly close but the MapRunF distance reported was over a km more over about 7.5 kms (and the same with the uploaded track file). Strange thing is when over laid on Google Earth there is nothing obvious going on (but other GPS utilities show the extra distance when reading the file as well). I plan to do a bit more of an analysis this weekend.
We are typically acquiring a location every second... and the current distance calculation does no smoothing. So it's possible that differences in GPS "wobbles" could amplify the difference in distance calculated.
Maybe some smoothing is called for. Happy to take input on this.
I admit that I gave up a long time ago really trying to figure out GPS distance differences (unless a real problem is obvious). There are so many factors involved even when just dealing with watches - from type of chip, satellite constellations selected for those chips that allow it, to which wrist you are wearing it on etc. Then trying to compare one day (hour) from another is problematic as the constellations change so rapidly. Next level is the smoothing and algorithms done in the chip, the watch, the application, the viewer...
I ran another Check site yesterday with two watches and my iphoneX. I stopped at a number of sights to put up tape (bio-degradable!). After I did some checks: Both watches export as fit files and they differed by about 500m over about 13km. MapRunF was over 2km longer. However, to show how weird it all is, exporting both watch results from Garmin Connect to GPX files (or using other tools to convert the FIT to GPX), one watch GPX was 1km longer than the FIT file and the other about 500m. So why is the FIT file shorter than the resulting GPX??? This will take some more digging.
Some quick analysis would seem to indicate that during the stationary periods (hanging the tape), the iPhone/MaprunF track wobbled a lot more than the two watches adding 100-200m each stop. All GPSs have more problems with accuracy when not moving as the built in smoothing algorithms can't do their stuff. This certainly seemed to be a major factor in the added distance I was seeing. Another factor might be the location as I was carrying my phone - in a front vest pocket that, although not a bad place, is also not as good as on a wrist, especially dealing with stationary situations (your body does a really good job blocking the signals).
Richard, given you had a similar long result but all three from phones, I think it would be really hard to implement any smoothing algorithm but I leave that to Peter. I will play some more (own interest) and put my phone on an arm band for comparison.