Skip to main content

The mountains, in your pocket

· 2 min read
Massimo Di Stefano
FastGIS author

Two weeks ago the map stopped being flat: the routing graph learned elevation, the road score grew a climb axis, and the server could finally tell a mountain road from a merely bendy one. All of it, though, lived behind an API. This week it reaches the phone.

Bends or climb — your call, in four places

The curvy-roads finder grew a Rank by switch: Bends is the classic curvature ranking, Climb orders the same search by a 0–100 climb rating instead. The two lists genuinely differ — the bendiest road near you and the biggest mountain road near you are rarely the same road — and each result now shows its climb rating alongside elevation range and gain.

The loop generator got the same choice. Include curvy roads has always woven the best road nearby into your loop; now a Bends / Climb picker decides what "best" means, so a mountain loop is one tap instead of a hope. It is mirrored on CarPlay and Android Auto.

The route planner gained a Scenic bias slider — off by default, because it asks the server for extra work per request. Slide it up and the route is biased toward the best-rated roads in the corridor, again with the bends-or- climb choice. The engine's cost model is untouched: the server scores the roads and simply tells Valhalla some edges are cheaper.

A second number beside "% unpaved"

A planned route's summary already showed how much of it is dirt. It now also shows how demanding it is: a difficulty rating — surface roughness amplified by climb, on exactly the scale the max_difficulty routing ceiling uses — with the hard kilometres spelled out beside it. It is deliberately a second number, never folded into the unpaved share: "40% unpaved" and "40% unpaved, 12 of them steep loose climbs" are different rides, and the ride you were promised should match the ride you get. Steep tarmac stays easy — steep is not the same as difficult.

The offline fold computes the same number on-device from the elevation the routing tiles now carry, so the badge survives losing the network.

All of this ships in ten languages and rides the next phone build.


Dig deeper: the rider app guide covers each control in place.