Spreadsheet Upload into a CIQ Field

A rider would like me to write a data field that alerts them to the next Control Point along his route.

He has a spreadsheet that contains data like this....

The ask is simple... provide a running status of the NEXT Control Point simply comparing his currentDistance vs the distance along the route, and show the distance to the Control Point, the Name, and the amenities  (food, gas, etc).

It would be a pain to enter all this into User Settings. I could host a web site I guess and perform a "makeWebRequest" to grab the data, but that looks like it would blow out the small amount of transfer and cause the dreaded -403 status error. I could make multiple web requests... maybe send the current distance and only get back the next few items. Any other suggestions on how a user can make a set of data like this available to a CIQ field? Thanks!

  • Don't expect the user is going to have access to the internet. 

    (Navigation that relies on "continuous" internet access is a bad idea. At that point, one should just use a phone.)

    =================

    A long while ago, there was some interest in "electronic" cuesheeets. It seems that interest has long dried up.

    The Edges sort of already have this facility in "course points".

    One could encode the services in the name.

    =================

    (I don't think there's a "market" for this, Not enough of a one to be worth the effort.)

  • Thanks! I think that works! And they can encode information in the WayPoint Name that I can decode into useful text! 

  • You can't read the course file (and the course points) in IQ.

    (Note that you only get course points from FIT or TCX files.)

    The course points show up on the Course Points page. That is, one doesn't exactly need an app/widget/data-field.

  • The problem with pure distance based calcs is errors creep in, particularly if they go off route. So you need it to self correct as he passes through a control point.  Thus the user would need to supply the lat, lon of each control point plus a proximity radius.  Then your data field could tell when a user has actually passed through a control and reset distance to the next one.  Best way is a map based site where they can indicate where the controls are, distance along route etc.  You can’t have too many controls else you’ll hit the webrequest limit at around 8kB. Have your website return JSON, so no special processing in your datafield to convert that to a dictionary.

  • You'd definitely need the coordinates!

    The Edges only show the distance to the next course point if you are on the track.

    The Garmins cheat.

    Rather than continuously recomputing the distance base on the coordiates, it uses the distance along the track associated with each track point and each course point. It then can do a simple subtraction from the total distance (which it knows) and the current distance along the track).

    It would be bad practice to have navigation depend on "continual" access to the internet.

    A major benefit of the Garmin devices is that they work without needing internet access.

    IQ things can access a "web service" on the phone but that would entail writing a phone app.

    (One might need internet access to access the phone locally: this appears to be just how the phones work.)

  • You can do the distance to control point without the coordinates. But you’ll just see errors creep in over time. Also knowing the coordinates allows to correct for, and use great circle distance when appropriate.  As the distance to go, should never be shorter than the great circle distance.

  • You either need the coordinates or have a distance-along-the-track associated with the point. The latter is how Garmin does it (as I said earlier). The latter isn't too useful if you are off course (not on the track). The Edges stop updating the distance remaining if you are off course.

    and use great circle distance when appropriate

    This would be only useful (generally) for a rough approximate distance.

  • as this is just for 1 specific end user the easiest to me looks to hard code all his points inside your code. 

  • Wait - so the CIQ functions: distanceToNext and nameOfNextPoint don't get those values from the next Waypoint in a loaded course? Well that is unfortunate.