Don't record altitude of track if poor GPS vertical precision (VDOP)
In my experience the accuracy of GPS altitude often takes longer to stabilize than position. However with automatic Locus track recording, this often results in a few very inaccurate altitude values when the GPS is first turned on or enabled or Locus is first started. This in turn results in stupid values for the track gradient graph, for example:
This has already been discussed in a few old topics, at least here and here. However it still occurs as this recent graph (above) shows. Maybe the fix never worked? Recall the improvement was that quote "recording service will now throw away first two points right after you enable GPS". In the attached sample (and not the best example I could find) the 1st track point is 406m and the next point 7 minutes later when I actually start moving is 386m. I believe the 1st point is wrong by 20m (+/- accuracy). This resulted in a bogus 30% gradient, which with auto scaling to 100% reduced the resolution of further points on the chart. I note the Position dilution of precision (PDOP) is recorded as 10m; it would be interesting to know what the Vertical Dilution Of Precision (VDOP) was.
At present track recording won't commence until PDOP is good, but at this time VDOP may still be poor. My question, and maybe a suggestion, is to ask can a track point be recorded without an altitude value if the GPS Vertical Dilution Of Precision is poor? And consequently for any null altitude, the gradient would be ignored, and a gap displayed on the chart.
Good day Andrew,
both topics you mention are based on problem with chart gradient in case of any breaks in tracks, so not directly this.
Anyway it is correct, and I hope it still works, that first three received locations right after GPS is turned on are not recorded.
Unfortunately as a developer, I may get only HDOP value. VDOP was never available directly ( incorrect, it looks that since Android 8.0, it will be available as well : https://developer.android.com/reference/android/location/Location.html#hasVerticalAccuracy() ), so your suggestion is not possible here.
I may offer increasing of "ignore start X locations" value to 5. 5 seconds still sound like usable value as exchange for "less mess at start of recording" ... as a most easy quick help.
Generally probably best solution here should be to modify first few recorded points based on later data. So simply, if next points will be on same location, but with different elevation, something is probably wrong with first ... anyway this will need to change how storing of points during recording happen ...
So 5 seconds? :)
Good day Andrew,
both topics you mention are based on problem with chart gradient in case of any breaks in tracks, so not directly this.
Anyway it is correct, and I hope it still works, that first three received locations right after GPS is turned on are not recorded.
Unfortunately as a developer, I may get only HDOP value. VDOP was never available directly ( incorrect, it looks that since Android 8.0, it will be available as well : https://developer.android.com/reference/android/location/Location.html#hasVerticalAccuracy() ), so your suggestion is not possible here.
I may offer increasing of "ignore start X locations" value to 5. 5 seconds still sound like usable value as exchange for "less mess at start of recording" ... as a most easy quick help.
Generally probably best solution here should be to modify first few recorded points based on later data. So simply, if next points will be on same location, but with different elevation, something is probably wrong with first ... anyway this will need to change how storing of points during recording happen ...
So 5 seconds? :)
Replies have been locked on this page!