So what I've got here, is a rendering of the street graph in the Greater Toronto Area, with elevation mixed in. open street maps for the street graph and geobase for the elevation data. For each dataset, even with heavy compression, they are still a few hundred megabytes large - which very quickly topples all free generic tools right over. So everything is custom. Protocol Buffers are quite excellent actually. All of my development for this was done by hand, typed using my own bare lanky little fingers. The elevation is highly exaggerated so you can see it better.
Why did I build this? So I can do trip planning that takes elevation into account. Though, I'm still not sure what people would prefer given elevation data. Would you prefer a steady incline? How about a big hill all at once and then totally flat? How important is all this compared to travel distance? How do these metrics compare when walking or biking? Should downhill be considered a positive?