Track simplification

Ingo Rau shared this idea 4 years ago
Collecting votes

I know this is probably a biggie, but it would be great if Locus could offer an option to "Simplify track".

When recording, there's usually a lot of points created - and me personally, I'd rather have more points than change the settings to less points and therefore less accuracy. But after the track is finished, there's usually a good deal of possibility for simplification:

  • Remove intermediate points on a straight line (with maximum deviation)
  • Overall reduction of points (max. N points, max. N points/timeframe)
  • Removal of points with speed < Xkm/h

I don't know of any tools for Android that do that, and of couse it would be best to have it integrated in Locus. Couldn't find any similar idea...

What do you guys think?

Comments (6)

photo
1

+1


In http://help.locusmap.eu/topic/quickly-change-recording-profile-while-track-recording-is-going-on I suggested that a track simplification feature makes faster recording profile switching redundant. During my studies, I had to implement Douglas-Peucker algorithm which as a home work - it is not too complicated and does not simplify too much despite massively reducing amount of points. I guess Menion could implement track simplification in half a day and maybe re-use the code from http://help.locusmap.eu/topic/phone-performance-problem-during-locus-navigation


For a Workaround: GPX Editor http://sourceforge.net/projects/gpxeditor/ does offer Douglas-Peuckerind 2d and 3d, so if you'd like to simplify your tracks, you can do so on a PC.

photo
1

I wanted to bump this after seeing https://help.locusmap.eu/topic/simple-implementation-of-gps-position-filtering-cheap-pseudo-kalman:


It seems to me that the on-the-fly filtering is not as useful as it expected. To me, that sounds kinda obvious, as on-the-fly, the algorithm doesn't know what happens next.

I think the much better way to smooth out a track and reduce its size would be to apply some simplification afterwards, as suggested in this thread. I believe, spending time on this algorithm would be worth more :)

This function could reuse the dashed line that is used for the on-the-fly filtering for showing the original track together with the simplified. Then you can adjust the parameters to find your perfect balance between smoothness, exactness and number of points.

Menion, what do you think?

photo
1

Hello Ingo

not sure to be true. I've answered you in the mentioned topic ... anyway, important is to keep in mind that: the new filter is not the same as a simplification.

To this topic: what should this solve? Is there any problem with the huge number of trackpoints? What about speed/altitude/sensor values in case of the simplified track? All these details will be lost for straight segments.

photo
1

I think the applicability of the track simplification very depends on the desired result.


To track the real-time parameters, it is better to keep all the points, eventually filtered.


To track mainly just the track geometry and overall stats, even strong simplification is applicable, doing some filtering as a side effect as well.

photo
1

Of course Libor, that's why I asked about Ingo's purpose of track recording.

I believe that for common usage, number of trackpoints isn't too important and is useful to have precise chart & statistics.

Creating this feature is not too complex I believe, but I'm still not sure about its usage.

photo
1

Hi Menion & others

Well, fair enough, I understand your reluctance. My main intentions are these:

  • My database is growing and growing. As I have to sync it between different devices (tab for planning, outdoor phone for - well - outdoor, daily phone for everything else), it takes more and more time. And on the road/on holiday, depending on coverage, cloud sync/backup becomes very slow or impossible.
    Of course, I'm still hoping for the by far most-wished feature of all, https://help.locusmap.eu/topic/cloud_map_and_data_storage_sync, which would make this easy, at least if partial (folder-based) syncing would be implemented. But for now, I'm trying to keep the database small without having to store and delete too many tracks. I don't like deleting tracks - because it's always the deleted tracks that you're suddenly wanting to revisit. But I would be fine if older tracks would be simplified, losing some detail.
  • For most tracks, I export a "nice" map as picture, to share with people (who don't know how to display a GPX) or to put in a photobook, etc. The more detailed tracks are, the more spikes and artefacts they have, which I have to remove manually with the track editor.
    A simplification function would makes this infinitely easier.

Now I admit that I was wrong about this being a better alternative to filtering.Also, I understand if you find this to not be in the purview of Locus - after all, if I could choose, I would also rather see you implementing the Cloud Sync feature - which seems to be in the works, as I just saw in the topic. Great!

One other point in favor of the track simplification: It would be a stand-out feature! Last I checked, there's no easy to use program for this, there's some simple apps for Windows with bad usability, and nothing for Android at all (well, I didn't check OruxMaps, because I never got the hang of it). Simplification integrated in Locus would make this powerful feature. I can also imagine it would be helpful for people who want to share tracks on platforms, but don't want other people to see the 15m they walked away from the lunch break in order to pee ;)