marcusvolz / strava_py

Create artistic visualisations with your exercise data (Python version)
MIT License
163 stars 19 forks source link

Robustness fix and equal aspect #29

Closed laekov closed 1 year ago

laekov commented 1 year ago
  1. In my exported strava data, a 1,000 appears in the column of distance, making the original package runtime error. I added a few fixes to avoid this issue.
  2. I found the facets stretched in many occassions, making it hard to recognize some activities. So, I used equal aspect in the facet plotting script. Although it is not exactly what the activities look like on maps, it looks much better from my view.
laekov commented 1 year ago

Plus, I found in my own dataset that there are sometimes extreme elevation change, maybe caused by GPS calibration during activities. These gaps makes the y-shared landscape and elevation plots nasty. So, I added a few conditions to skip these abnormal elevation.

hugovk commented 1 year ago

Thanks for the PR!

Can you share example GPX files that cause each of these (three?) problems?

Or if you want to keep them private, can you edit an existing GPX file to insert some problematic data you have?

That way we can also include them in the CI and make sure these stay fixed.

And it may be better to split these fixes into separate PRs.

laekov commented 1 year ago

Thanks for the PR!

Can you share example GPX files that cause each of these (three?) problems?

Or if you want to keep them private, can you edit an existing GPX file to insert some problematic data you have?

That way we can also include them in the CI and make sure these stay fixed.

And it may be better to split these fixes into separate PRs.

I have more than 1k gpx files from strava, so I think it will take some time to find out the bug-causing one.

It will be nice to separate the PRs. I will do that later.

hugovk commented 1 year ago

I have more than 1k gpx files from strava, so I think it will take some time to find out the bug-causing one.

You may be able to add a line to print out the name, date or something else identifiable just before the exception happens.