Curiously, I've been tinkering with GPS data analysis (taken from some multi-kilometer randonnees, gpx format).
Since you have the 4D trajectory (latitude, longidude, elevation and timestamp), you could theoretically get any derivative or combination of it. For example, currently I am calculating, for each pair of consecutive points in the trajectory:
- Distance (using geodesic distance, haversine function);
- Speed (distance over timedelta);
- Grade (elevation delta over distance delta);
I could be working better, mainly due to these factors:
- It seems that timestamp is recorded as an integer, with one second resolution. That causes a quantization effect which affect speed calculation horribly, specially when the sampling rate is too high (lots of samples per minute);
- Elevation from GPS alone is not very precise, and causes a lot of noise unless you have a barometric altimeter onboard (which more modern GPS devices already have).
So, as others have already suggested, I think the way to go is having dedicated cadence and speed sensor, provided that you could log all the coordinates of each trackpoint at the same time (that is, your board should query every sensor at almost the same time to record their values).
Aside from that, the most useful measure I think should be made by a multi-parameter sensor is torque (and its integral, power) which is what PowerTap hubs and other power meters do. Unfortunately, these are expensive things, since power-metering instrumentation (strain-gauges, piezoeletric stuff) are tricky to work with.
It would be interesting to extract some metrics from the ride that could tell about the RIDER. For example, some statistic that could tell if a rider is tired or not. So, it would be possible to track evolution of rider's tiring along time, be it between several days or weeks, be it during a long-distance event.
Hope that helps!