Minimal speed for auto pause in track-recording configurable

franc shared this idea 9 years ago
Gathering feedback

In the track-recording, Locus has the setting in the Recording profiles:


Record only whilst moving


which sets that only points with speed > 0 will be saved. This is useful, but the speed could be configurable.

On my phone the GPS module is not very accurate and it is rare that speed = 0, it seems to be more, normally. So a setting MinSpeed could be 2 km/h, that would be more accurate in tracking then, I think.

Should be done per profile.

Replies (13)

photo
1

Understand.


Anyway what is in description (speed > 0) is mainly informative.


Real testing in Locus is not on simple speed == 0 , but it's exactly as you need speed > 0.5 . 0.5 is in metres/s so it's 1.8 km/h .


I'm aware of these problems of GPS, when you stand still, but GPS still show some speed during own inaccuracy, so this value is already included in Locus.


Is there still need for user-configurable value? Let me know.

photo
1

Ah, I thought it like this.

So as 1.8 kmh is nearly exactly the value I would use myself (2kmh),

for me personally it is then not neccessary, despite I would appreciate this setting to adjust if min Speed is to low (e.g. track-recording in a car could be easily more).

photo
1

Menion wrote:

...

Real testing in Locus is not on simple speed == 0 , but it's exactly as you need speed > 0.5 . 0.5 is in metres/s so it's 1.8 km/h . ...

Question: is this speed > 0.5 m/s the only test to see if paused?


How long do you check if speed is slow till you set paused and how long do you wait to continue?


And how do you check that the user is not moving with maybe 1km/h forward, which is not a stop but only slow motion?

photo
1

You miss important fact - there is NO PAUSE in Locus. Only what may happen, is that


1. Locus do not store any point that has speed less then mentioned value and you have enabled "Record only whilst moving"

2. Locus insert 'break points'. This happen when you manually pause track, then track is internally split into two (or more) pieces.

photo
1

Menion wrote:

...

1. Locus do not store any point that has speed less then mentioned value and you have enabled "Record only whilst moving"

...

Does Locus notice that there is indeed speed, but less than 1.8 km/h if I walk slowly (less than 1.8 km/h) in one direction?

photo
1

This depend on GPS (better on values that Android system provide to other applications, that request Location data), not on Locus.


Usually on older devices with worst GPS, precision of GPS is a lot worst that change in your movement per one second (refresh rate of common GPS hardware), so it's usually problem. Mainly in worst conditions.

photo
1

Don' t understand the answer.

Example:

I start Locus-recording with Setting don't track points with no speed.

I walk from point A to point B with speed of 1 km/h.

Point A is 10 km distance from Point B

My GPS Module is very exact and has no "jumps".

Will Locus track any point?

photo
1

In this case, no.


Speed 1 km/h is 'nonsense' for such GPS hardware. GPS precision is in best case around 5 m (better 10 m), so you have to move at least 5 m / 1 s, to be 'sure', GPS recognize your movement correctly.


If you want to record all points even in such slow motion, just disable "record only whilst moving" settings.

photo
1

Now I understand. I thought you have maybe code to detect if there is still motion but slow. Not only just the plain speed to detect a stop.


I even wonder how it is possible to detect a stop at all. With these unexact GPS modules, you have most of the time a "speed" over 1.8 km/h if you stay at one point.

So its how you said in previous comment, that it is usually a problem.

Amazingly it worked on my device (SGS2) not too bad.

photo
2

SGS2 is best devices I ever met and I changed it to Sony after three years (few months ago) of very intensive usage. And I'm still not as happy with Sony as I was with SGS2 :).


Anyway yes, it's a problem. Better should be checking of moment from changed coordinates and not just from "some speed value". Coordinates may be also little bit "averaged". But this all needs some work and a lot of testing and I still had not much taste to do it.


But I may only confirm, that it's something what is missing in Locus (soma auto-pause tool).


EDIT


Btw. such topic is already here http://help.locusmap.eu/responses/sport_track_recording_autopause_if_5km_h_adjustable, but by amount of votes, there is not a big interested I see ...

photo
2

I'd like to revive this topic:

I made a test with "Record only while moving" activated, walked to work and then put the device on my desk. When I pick it up after a while, I wasn't surprised that it recorded quite some points, as it was indoors which screws up GPS.

Still I wondered: Isn't it possible to use the gyroscope or other sensors to recognize when a device is really motionless and then ignore new GPS positions? Was that ever considered?

photo
1

3 years after.... And I do support Ingo's very useful and simple suggestion !

Was tested by app. "Movetracker" by Tinkerpete.

(Before was GpsSend) https://tinkerpete.wordpress.com/category/gpssend/

Old app (only available as apk now) that sends out an alarm (by mail or sms) when the phone hardware is NOT moving anymore.

I tested long time ago (and had new test actually by sms) and the method still detects perfect, sends the alarm as set, and so is very functional and imo reliable.

By maximum sensitivity set, even the internal sound max volume alarm vibration could reset the internal no movement trigger (depends on phone built).

My oldest (retired) Samsung detects the louder alarm sound internal vibration, the newer phone Xiamo not.

So some sensitivity setting was indeed necessary for Tinkerpete's special use case !

"Sensibilität

Die vom Beschleunigungssensor bei Bewegung zurück gelieferten Werte sind offenbar von Gerät zu Gerät verschieden. Um diesem Umstand Rechnung zu tragen, habe ich drei verschiedene Einstellungen vorgesehen, die sich an den Geräten orientieren, auf die ich bisher Zugriff hatte. Die beiden Einstellungen können auch auf anderen Geräten ausprobiert werden."

Phone on a table or bikemount, and bike halted, triggers the sound alarm followed by SMS msg just perfectly.

I suppose very usefull tool that should 100% prevent many false gps positions records when really halted.

photo
photo
1

What if you travel in a train and the phone lays on the table? Nearly no motions there but big jumps in location.

I guess this could give false positives.

Would need a quite sophisticated way to detect motionless GPS-Jumps, maybe possibel though :)

photo
2

I don't know about the trains where you live, but I seriously doubt the gyroscope will stand still in a train. Of course, in an Einsteinian-sense, you're right ;) - but then we're talking about an option. You can always make a "Train" profile that doesn't have this activated...

photo
1

Your right. With an option would be perfect.

I speak of the ICE in Germany, a very fast and very calm train with a lot of non-vibrations in the train ;)

photo
2

Sure, from Frankfurt to Köln should be quite nice (Im' from Germany, living in Switzerland). I actually wonder how sensitive modern Smartphone gyroscopes are.

Anyway, we agree, as long as it's a setting, using the gyroscope could improve "pause-detecting" drastically in many situations...

photo
1

Moment, from Frankfurt to Koln, you mean the fast track? This train is surely giving a lot of vibrations while running about 250 kmh fast! I drove several times and not felt that well in this train, too much shaking at this high speed. I mean more the tracks like Frankfurt to Basel like.

photo
1

Mmmh, ok, I thought the fact that it's a dedicated highspeed track should make it smoother.

Anyway, we're getting off-topic here ;)

photo
1

I'm going back to the original problem of recording "virtual" trackpoints when the GPS signal is weak or changing, but the location is not.


I'm recordig many tracks, mainly when walking. My wife records also her tracks. We have on both Galaxy S4s the identical settings and the results of both units agree very well,

Since some month I'm now using the Galaxy S7, running Android 7. First I noticed that the track length is always longer on the S7. After many tests its now clear to me that the difference develops when we are not moving. The new S7 detects constantly a speed of 0.1 or 0.3 km/h whereas the S4s remain at zero speed. Therefore a selectable speed threshold is really required. When I'm walking say 7km and just occasionally take a picture, or look at the Locus map the error is already over 1%. When walking only a short distance and having a coffee (witout pausing the track) the tesults become unusable.

S4 #1 1593m 1h32min

S4 #2 1592m 1h32min

S7 3373m 1h32min


Being stationary under ideal reception conditions the S4 has after 30 min 0 meters, the S7 33 m.


It seems to me, that the older S4 and/or the older Android 5 have an internal speed threshold, but the newer versions are don't and require a settable threshold value in the app.

photo
1

Good day Dietrich,

for me, problem here is in used system how Locus detects moment. Currently it is based on speed that system detects based on GPS coordinates. This is anyway very unprecise and in day we mave every device full of many sensors, it's is also useless.

For now I may only suggest to increase minimal distance between recorded points, this should filter some unwanted points. I hope I'll find some time and check options how to detect movement more precisely. Thanks for understanding.

photo
photo
1

Thanks for your reply.

There are probably better ways than speed to decide between a true or false trackpoint.


However, I thougt it might be not very difficult to extend the parameter "Record only when moving" to "Record only when moving above n.n km/h". Where n.n can be entered in the range of 0.0 to 9.9 km/h. Maybe with a preset default value of 1.0km/h.

I'm rather sure, if I could set this value to say 0.9 km/h - my problems would disappear almost entirely.

I can not think of any other single parameter to control the decision between true or false.

I'm also thinking of a rather complicated but much more reliable system for the trackpoint registration. Instead of making the decision to store a new trackpoint directly after a new GPS position is received the (potential) points could be stored in an array and based on the comparison of several points (speed and direction) the points would retroactively become confirmed as trackpoint or discarded as noise.

Have you thought in this direction?

photo
2

Hello Dietrich,

currently threshold parameter for speed is set to 0.25 m/s which is close to your 0.9 km/h and result may be visible in your records ... not best.


I really understand this idea and consider it as very useful. New devices has various sensors that may a lot better detect if user is moving or not, then just based on speed reported by GPS. And this is from my point of view correct method!

So sorry, I do not plan any workaround for now. Thanks for understanding.

photo
Leave a Comment
 
Attach a file