I was thinking about doing something like that but of course, it would have to be programatically. Enter the route gps coordinates (what is usually called shape), then retrieve altitude data from an online service for each route datapoint. The rest is entering timestamp and remaining distance whenever they occur. You could even get wind speed&direction from online service for each such datapoint.Not really. I don't perform that accurate estimations, one would need a very accurate profile and time intervals. Just time stamps for a given section (sometimes I could be off by a dozen or so seconds due to another image shown at that time). When you have time for a section then you divide elevation difference (from the profile so we need to believe the profile is 100% correct) by this time (measured in hours) and you get average VAM. The rest are w/kg estimation formulas for given VAM and section average gradient. Ferrari formula is quite popular and in most cases consistent with some twitter guys doing estimations. Obviously the situation changes a bit when they go in a larger group vs a single cyclist, so additional corrections (reduced aero drag) are done when riding in a group.
BTW: doing "integration" over 100 meters intervals would be better but one needs very accurate data plus on homogenous climb sections (little gradient variations) it would make little difference.
Of course this could only work for the leader of the race since for the rest of them would not be able to obtain remaining distance data. So it makes very little sense in the end...