Fish, hmm, maybe. But the problem is that cycling is a bit more dynamic in that downhill sections are much faster, and there can be wind, etc.
Anyway I thought about a possible algorithm yesterday while riding, and it goes along those lines:
1 - you have total time, distance, and vertical covered
2 - split the distance in half, and calculate how much vertical is covered in each part
3 - split the total time, weighed by how much vertical is covered per part
4 - you now have (estimated) time, distance, and vertical covered per section, start over drilling down per part
There are of course corner cases to be worked out, e.g. how to weigh descend-only sections against climbs, but it's a start. What I like about this approach is that it doesn't use any rule-of-thumb input, but calculates solely based on the available data.
And the best thing is, it would be easy to inject "savepoints", e.g. if you take the time at the bottom of a climb, and on top, you could use those section times to get a fairly accurate output.
Bikes: Raw Ti
, 650b flatbar CX