Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature request: Keep GPS on in order to improve accuracy before logging a point #654

Closed
jimis opened this issue Jun 3, 2018 · 4 comments
Milestone

Comments

@jimis
Copy link

jimis commented Jun 3, 2018

I've set the accuracy filter to 20m. But the phone's GPS can achieve accuracies up to 3m under ideal conditions AFAIK. As a result I get point after point with vastly different accuracies, resulting in a very misleading path if all points are connected.

Additionally, when I press "annotate" I expect an exact fix,and it's usually less accurate than the last automatic point.

I would like an option to "keep GPS on for X seconds after accuracy filter has been reached, in order to improve accuracy even further". For example

  • after reaching the accuracy filter and storing in memory point A,
  • it would keep logging in memory every 1s for the next X seconds and
  • replace point A with the new point each time, only if the new point has a better accuracy;
  • after X seconds, it would log the point to storage.
@iste
Copy link

iste commented Jun 12, 2018

👍
Also, a feature "Accuracy goal" could also be great.
This would also avoiding discarning every low accuracy points whiout have to deal with medium one.

mendhak added a commit that referenced this issue Mar 1, 2024
…y interval, and picking out the most accurate point.

Issue #453
Issue #591
Issue #654
@mendhak mendhak added this to the v130 milestone Mar 1, 2024
@mendhak
Copy link
Owner

mendhak commented Mar 1, 2024

Sooooooo... I have no idea if anyone's still here but this accuracy topic is one of the most requested changes so I finally had some time to try doing something...

image

tl;dr: if anyone is able to test, APK is here: https://github.com/mendhak/gpslogger/releases/tag/v130-rc1

There are multiple variations of the suggestions (#654 #591 #453) and many are quite complicated/detailed, I think I'm reaching a decent point.

The new option, when enabled: instead of matching on the first point matching the user's accuracy, will instead keep trying for the accuracy duration, and pick the most accurate point. It matches jimis' description above.

image

It isn't exactly the ability to log any point, but can accomplish close enough if the accuracy filter is high, with a retry duration, which improves the chances of logging a good point.

It isn't exactly the same as a range either, eg "User wants 15m accuracy but will accept up to 40m" — I did try that but it made the code a lot more complex and the UI got confusing. Even this basic implementation is still quite a bit involved. The way to accomplish that would be to keep it at 40m but give it a decent retry time like 15seconds.

@iste
Copy link

iste commented Mar 3, 2024

Sound like a nice upgrade tho :)
On my side, I've went through the workaround of letting the GPS up all the time and getting a phone that can handle that.
Sad to read that better solution are not as simple as I've hoped :(

@mendhak
Copy link
Owner

mendhak commented Apr 1, 2024

v130 is now on FDroid and the releases.

The new option uses the time period to pick the best location it can find. I didn't want to make it complicated by having a range, as there is already a lot going on in there. This should help with jumpy lines and make things smoother at the expense of time. So you'll probably want to experiment here, eg, don't make the duration too long, maybe 5-10s will give it a better chance of getting a good point.

image

@mendhak mendhak closed this as completed Apr 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants