For some time now, I've had an idea to produce an elevation aware cycling route planner. You see, Google Maps can give you a route, but it doesn't take account of hills when deciding it.
Basically the idea I have is based on attaching some kind of cost distance multiplier to segments of route.
One idea I have had is to use the RSGISLib tools to segment a layerstacked digital elevation model, consisting on the elevation, slope, aspect (degrees from N) and then intersect this with a map of the road network (it is possible to download versions of this derived ultimately from OpenStreetMap and the OS OpenData has data available as well) to make road segments that have a consistent slope.
Then the average slope in the direction of the road could be calculated, and from this a cost-distance multiplier.
This is a segmented DEM in mid-Cornwall from the SRTM and with a pixel size of 73m, with a minimum object size of 9 pixels.