Giter VIP home page Giter VIP logo

Comments (3)

dvmarinoff avatar dvmarinoff commented on June 16, 2024

Hi, thanks!

I have thought about something similar. My idea was to leverage Google Street View for pre-riding a race course (Race Recon mode). Getting familiar with climbs, marking where attacks could happen, looking at the finish line, etc. Having this mapping between visual memory and critical points like where the gradient is the steepest on a given climb, or where is the midpoint of this climb, might work much better than trying to recover a bunch of numbers from you memory while doing a threshold effort.

The User could load a gps and elevation track and use the power output from a trainer or power meter to move along the track with Street View updating accordingly. Similar to Tacx Training, but with the ability to jump back and fourth between a predefined set of segments of interest.

There are couple of problems though.

The biggest one being the quality of elevation and gps data.
The source of that data can be:

  1. Cycling head unit (or other GPS nav like sports watch)
  2. Export from a service (Strava, Komoot, Garmin Connect).

They all suffer from the same problem, because they have to work with insufficient and inaccurate information, thus having to make a lot of guess work. Ultimately they face the same trade off. You either try to 'smooth' the data at a cost of important features or keep those features at the cost of noise.

In regard to elevation data this manifests as loosing a lot of gradient information, like max gradient no longer being 12% but 9%, small hills and false flats disappearing all together, or on the other path gradient changes become unnatural and harsh, sections that will feel flat or at least steady rising in real world will now have sharp shifts like 3%, 9%, 3%, 9%, 1%.
And getting both negatives is also an option (Stagflation style).

GPLama has a couple of videos on the subject:

I experimented with this for a bit and decided that at that point it's going to be really hard to make a decent feature with actual good experience. Not at least with algorithmic solution. One option could be to provide a set of hand made courses.

I have a race by the end of May (and because of constantly changing restrictions and bad weather), I may need to revive the idea and give it another try.

As for contribution, I am currently refactoring the whole thing and added a test suite. After I am done with that contribution will be actually practical. My most urgent issue would be to improve support for devices.

from flux.

mjunkmyjunk avatar mjunkmyjunk commented on June 16, 2024

I too struggle with importing GPX files of real outdoor rides into gpsbabel and then trying to get a Good Slope gradient but they all end up as "bad". and when I smooth them out using Kalman Filter, it becomes better but like you said, max gradient becomes lower and false flats become real flats etc.

from flux.

TheRealMoeder avatar TheRealMoeder commented on June 16, 2024

First of all congratulations to a very elegant and functional web application. I noticed you can load a track from a fit file and reride it.

  1. Did you ever look into displaying the current position on a map?
  2. would it be possible to write the reridden GPS position into the downloadable fit file after finishing the workout?

from flux.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.