tumic0 / GPXSee

GPS log file viewer and analyzer with support for GPX, TCX, KML, FIT, IGC, NMEA, SLF, SML, LOC, GPI, GeoJSON and OziExplorer files.
https://www.gpxsee.org
GNU General Public License v3.0
938 stars 129 forks source link

incorrect track painting with timestamp. #508

Closed danjam-pl closed 1 year ago

danjam-pl commented 1 year ago

BUG BUG

incorrect GPX (blue): `<?xml version="1.0" encoding="UTF-8" standalone="no"?>

Garmin International Po batoniki do Społem przed Wartą 800 367.36 366.4 366.4 366.4 365.92 364.96 364 362.55 362.55 362.55 359.67 357.75 357.75 357.75 357.27 357.27 356.31 356.79 356.79 354.38 352.94 352.46 352.46 351.98 351.98 351.98 340.44 348.13 348.13 348.62 348.62 348.13 348.13 347.17 346.21 348.13 347.65 347.17 347.17 347.17 347.17 347.17 347.17 348.62 349.1 349.58 350.06 353.42 358.23 363.04 364.48 361.59 359.67 357.75 356.31 355.34 350.06 351.02 351.02 349.58 348.62 347.65 346.69 348.13 348.13 346.69 345.73 345.25 344.77 344.77 343.81 343.33 343.33 343.33 342.85 342.85 342.85 341.89 341.41 339.96 340.44 340.44 340.44 340.92 340.92 340.44 340.44 340.44 339.96 340.44 340.44 339.96 340.44 339.96 338.52 338.04 339 338.52 338.04 337.56 336.6 336.12 336.12 335.64 335.16 332.27 330.83 331.31 332.27 331.31 331.79 332.27 331.79 331.31 330.83 330.83 330.83 332.27 332.27 332.75 333.23 334.2 336.12 336.6 337.08 336.6 336.6 336.6 336.6 336.12 334.2 333.23 333.71 332.27 332.27 333.23 333.23 333.23 333.23 334.68 335.16 335.16 336.6 336.6 336.6 336.6 336.12 336.12 335.64 335.64 335.64 336.12 336.6 336.6 337.08 337.08 335.16 334.2 334.2 335.64 336.12 337.08 337.08 336.6 336.12 334.68 335.16 335.16 337.08 336.6 337.08 336.6 335.64 335.64 336.12 337.08 336.6 337.56 338.52 339.48 339.96 339.96 338.52 338.52 338.52 338.04 339 339.48 335.64 334.2 335.16 333.71 333.71 333.71 334.68 335.64 335.64 337.56 339.96 342.85 343.81 343.33 343.81 343.33 342.37 341.41 339.96 339 338.52 ` The proper one (red): ` Garmin International Po batoniki do Społem przed Wartą 800 367.36 366.4 366.4 366.4 365.92 364.96 364 362.55 362.55 362.55 359.67 357.75 357.75 357.75 357.27 357.27 356.31 356.79 356.79 354.38 352.94 352.46 352.46 351.98 351.98 351.98 340.44 348.13 348.13 348.62 348.62 348.13 348.13 347.17 346.21 348.13 347.65 347.17 347.17 347.17 347.17 347.17 347.17 348.62 349.1 349.58 350.06 353.42 358.23 363.04 364.48 361.59 359.67 357.75 356.31 355.34 350.06 351.02 351.02 349.58 348.62 347.65 346.69 348.13 348.13 346.69 345.73 345.25 344.77 344.77 343.81 343.33 343.33 343.33 342.85 342.85 342.85 341.89 341.41 339.96 340.44 340.44 340.44 340.92 340.92 340.44 340.44 340.44 339.96 340.44 340.44 339.96 340.44 339.96 338.52 338.04 339 338.52 338.04 337.56 336.6 336.12 336.12 335.64 335.16 332.27 330.83 331.31 332.27 331.31 331.79 332.27 331.79 331.31 330.83 330.83 330.83 332.27 332.27 332.75 333.23 334.2 336.12 336.6 337.08 336.6 336.6 336.6 336.6 336.12 334.2 333.23 333.71 332.27 332.27 333.23 333.23 333.23 333.23 334.68 335.16 335.16 336.6 336.6 336.6 336.6 336.12 336.12 335.64 335.64 335.64 336.12 336.6 336.6 337.08 337.08 335.16 334.2 334.2 335.64 336.12 337.08 337.08 336.6 336.12 334.68 335.16 335.16 337.08 336.6 337.08 336.6 335.64 335.64 336.12 337.08 336.6 337.56 338.52 339.48 339.96 339.96 338.52 338.52 338.52 338.04 339 339.48 335.64 334.2 335.16 333.71 333.71 333.71 334.68 335.64 335.64 337.56 339.96 342.85 343.81 343.33 343.81 343.33 342.37 341.41 339.96 339 338.52 `
tumic0 commented 1 year ago

The difference is due to the outlier elimination algorithm that uses timestamps (when they are missing, it equals a disabled outlier elimination option). If you disable outlier elimination in the options, you will get the same path for both of the tracks.

Why you may get such a distorted track with outlier elimination enabled (the default) is described in the documentation.

tumic0 commented 1 year ago

And just a note - when you are reporting bugs, please use the latest version of the program next time as new versions may already be fixed or behave different.

danjam-pl commented 1 year ago

The question is, is the algorithm correct? for that sort track (in my opinion) it shouldn't be that huge difference (smoothing) in the shape...


Message ID: @.***>

tumic0 commented 1 year ago

The algorithm is not expected to have perfect results on all data. But for almost all of my logs it gives much better results than the raw data, that's why it is enabled by default. If your data is some of the special cases where the algorithm will "by definition" fail than simply disable the outlier elimination in the settings, that's why the checkbox is there.