Hide zero speed drift knots filter creates invalid slopes

Issue #415 closed
wthaemelt created an issue

This filter is similar to range selection and hiding selected trackpoints but results are rather different.

Do the following:

  • Part 1: hide points of a range

    • load attached GPX file with correct elevations
    • identify the artifically build knot between trackpoints 1 and 6
    • select range from trackpoint 1 to 6 and hide the selected trackpoints in a map view
    • goto the points tab in the track edit window (open lock!) and check that slopes are still correct (see RangeFilter.jpg).
  • Part 2: hide points with knots filter

    • close previously loaded project and reload it again
    • goto filter tab in track edit window (open lock!)
    • set filter parameters: distance: 4m, ratio: 2
    • apply filter
    • see warning message "Invalid slopes!" and have a look at points list (see KnotsFilter.jpg) - issue 1!
    • goto history tab and go back to original track version
    • goto filter tab: all filters are inactive - issue 2 (see AllFiltersInactive.jpg)!
    • close edit window and re-open it - filters are active again.

My conclusions:

  • Something is going wrong with handling elevations or slopes when applying the knot filter (missing recalculation of slopes?). Why are slopes not similar to the ones for hidden trackpoints from part 1?
  • After shortening the history list and going back to the filter tab some kind of a refresh is missing to re-activate all filters.

Comments (12)

  1. Michel Durand

    I did some trials.

    First thing to keep in mind is that the shown use case is made with a track not "made" for the filter: this filter is designed to work with continuously recorded tracks (1 pt/s). Even if result looks strange, it follows the original logic. Second part of the track gets hidden but this follows expected behaviour: a knot is finished by 2 long segments; here we have 1 only with 32 meters length and end of tracks is reached, then this is hidden.

    Concerning "invalid slopes":

    If you cut the track at point 4 with scissors tool "keep first part..." then "invalid slopes" appears too: then I suggest that a new ticket gets created (or title gets modified)

    Concerning "inactive filters":

    I noticed this once but I realized that I clicked on the graph area by mistake. To get out of this I had to click again in graph area. Can you check this ?

  2. wthaemelt reporter

    Thanks for the reply. Some comments:

    • I just tried to understand how the filter works. Therefore, this short constructed example.
    • 1pt/s: if this is a requirement, it should be made explicit. For me this would be a rather strong restriction for the filter. My typical recorded (cycling) tracks have a time span of about 6 to 8 hours with some larger breaks in between. The distance/time between trackpoints is automatically chosen by the device and I'm happy with this choice. The device is running during the breaks. Thus, the filter is of interest for me. If I set recording to 1pt/s, then I get 6 * 3600 = 21600 points in a track - too much of a good thing. My tracks have only between 1000 and 2000 points and have a good accuracy (and they have those knots which I hoped to remove with the filter).

    • Invalid slopes: Maybe, this can lead to a new ticket. I'm not sure about this: my example with range selection works as expected. If there would be a more general issue: why does this example not show invalid slopes?

    • Inactive filters: " I realized that I clicked on the graph area by mistake": happened to me, too (and this is a bit annoying because I never can remember where I clicked in the graphs part!). But this happened also when switching from the history to the filter tab. I can't describe with certainty how to "de-activate" the filters and how to re-activate them. Might also be a more general issue. I noticed this problem the first time while playing with the new knot filter.

  3. Michel Durand

    About 1pt/s: this is why original help text was :

    "Sometimes setting recording method to auto with highest precision is not enough to capture all of the track details. In this case recording method has to be set to 1pt/s. Unfortunately, when stopped, receivers are much more subject to multipath signals, and the result is a track looking like a big knot: position is slowly drifting in random directions at low speed."

    If you have 1500 points for a 8h ride then your device is set to "auto interval" (or something similar) and you should not have knots during breaks as the device stops recording as long as distance between 2 measurements is "short". Maybe you can attach some real recording showing your knots.

    I tried this ("auto interval" mode) and I was not satisfied: my Etrex 30 cuts away tight switch backs in narrow mountain bike single tracks and I cannot map them in OpenStreetMap. And I also need heartrate data at each second.

    But removing knots by hand is a long task and I always forget some of them. That is why I created this filter.

  4. wthaemelt reporter

    Certainly, there are different reasonable recording strategies for tracks with different behavior during breaks. The original issue wasn't about this. The issue was "invalid slopes from filter". The discussion made clear that the filter is only designed for tracks which satisfy certain requirements. Obviously one requirement is "track must have been recorded with 1pt/s setting in the device". Assuming a track satisfies this requirement does the filter avoid in this case invalid slopes?

  5. Michel Durand

    For me this "invalid slopes" message is something completely different. I noticed it already in another context. I think that this message may wrongly appear with tracks made of a few points; slopes are calculated by averaging several points. It seems that in some cases there are not enough points and slopes calculation fails.

    Unfortunately I cannot reproduce it on-demand (or yes I can: by cutting the end of your TestKnots.gpx track at point 4)

  6. wthaemelt reporter

    I added a couple of trackpoints at the end of the track without changing the knot and only after that applied the filter. Result: knot removed and no invalid slopes. Thus, invalid slopes don't result from filter. And another observation: even (constructed) tracks with only 3 or 4 trackpoints have correct slopes. But: hiding a few points results in invalid slopes.

    Current state of this issue in my opinion:

    • 1pt/s: on the way to be clarified
    • invalid slopes: not related to zero speed filter
    • inactive filters: not related to zero speed filter
  7. kiozen

    I tried this filter with several real recording done in Garmin's automode with "most often". I increased the distance to 3m. the ratio is 2. That seems to work quite well. Doing it manually I would be more conservative preserving more of the track. But it's still a quite good result and I did not play with the parameters extensively.

    Concerning the slope there will be problems if there aren't enough points to achieve a reasonable result. For the software it is hard to tell if the track is just a small bogus track or if the bad slope is a real issue. The warning will be shown in both cases.

  8. wthaemelt reporter

    I did the same with a track recorded with settings "Auto - interval normal", length 46 km, total recording duration 7 hours . Convincing result. I sent the track to Michel in a private communication. I hope this helps to remove or to weaken the "1pt/s" restriction.

  9. Log in to comment