If you live in San Francisco, chances are you’ve heard of a “little” running event happening this Sunday, May 20: The Bay to Breakers race, having taken place every single year since 1912, is an institution. It is said to be the biggest party in running. Also, reportedly, in addition to the serious runners, there are those who “run” it drunk and/or naked, but that’s perhaps a story for another publication.
As a race-loving runner who moved to the Bay area less than two years ago, this year is my first chance to run Bay to Breakers. And since I live in South Bay, it is also my first chance to run across San Francisco and its infamous hills.
I didn’t have time to test-run the course — a decision I may regret on Sunday. But two days before the race, I decided to study the elevation maps and see where and just how bad is that hill on top of which the drunk people reportedly double over and return their breakfast.
The official map provided by the race organizers was fun, but hardly any help. (Really, guys? A gif image? In the age of Google maps?)
Thanks to the interactivity, I was able to find out that the worst of the climb lasts for only 0.7 miles and… well, it doesn’t look that bad, does it?
But then I headed over to “Detailed Climb Data” and…
… Holy smokes, it’s Mount Everest! How do people even climb that thing without oxygen masks?
This is the elevation map provided by RunKeeper.
OK, so that isn’t that bad, is it?
As you can see, the X axis, which represents miles, stretches out to scale with the map. Those 7.5 miles look much “longer” than the 7.5 miles visualized in the elevation map at MapMyRun, and the inclines look much less steep.
What gives? Why are the two maps so different? I turned to my colleague Drew Skau, who not only has extensive knowledge of the art and science of data visualization, but is always willing to share it, often by writing for this blog.
He told me that the devil is in the scale. Both visualizations have a fixed vertical pixel height for their graphs, but neither gives accurate elevation profiles.
The charts have been made to fit to the space they have been allocated on the webpage. So if the chart is 50px tall by 600px wide, that’s what the space used to scale the charts. In both cases, that’s problematic.
In both visualizations, the Y axis uses a different scale than the X axis. Brutal as those San Francisco hills are, we are certainly not going to climb one mile up, then go one mile down. In fact, the elevation change for the Bay to Breakers race is only 279 feet. This means that in a 600px wide chart, we only need a little over 4px to show the vertical change. That wouldn’t just look tiny, Drew says, “it would look like nothing.”
If you want to actually see the slope you will be climbing up or descending, you have to visualize elevation using the same scale as distance, and clearly that can be a problem for a race that’s 7.5 miles long. Unless you create a chart that scrolls horizontally for a long, long time, you will have trouble visualizing long runs properly. The longer the race, the flatter its elevation chart would look — and that could give you a completely wrong idea of how easy your race would be.
The solution, for a runner, would be to lace up a day or two before the race and do a quick walk through the course, or those parts of it that seem questionable on the elevation charts.
Or, you could do like me and, after several hours of staring at different charts and maps, decide to wing it, after all. Just hold on to your breakfast!
Aleksandra Todorova is the Editorial Director at Visual.ly. She runs an average 20 miles a week on the flat trails of South Bay and has mixed feelings about hills.