Routing · Map matching · In development
Map matching: GPS traces snapped to the road
/trace-route turns a noisy GPS trace into the route the vehicle drove; /trace-attributes returns the roads under it with their attributes (names, speeds, road class). On Berlin the responses were byte-identical to Valhalla 3.9.1 on 160/160 trace requests, with traces made from reference routes: points every 10 to 50 m with 5 to 15 m of noise, some sparse, some with a gap.
Status · In development
In development, not deployed: there is no routing endpoint to call yet, on geolith.app or api.geolith.app, and no routing plan, price or key.
Berlin · same data, same requests
Against the reference engine
Measured on geolith/routing main. Only sets that were run are shown; no speed or cost is measured.
| Set | Requests | Byte-identical |
|---|---|---|
| Trace requests | 160 | 160/160 |
Detail
Request
shape is the trace as a list of points; costing is auto, pedestrian or bicycle; shape_match is map_snap, edge_walk or walk_or_snap, as in Valhalla. The paths are kebab-case: Valhalla’s /trace_route and /trace_attributes are /trace-route and /trace-attributes here.
Detail
Uses
Clean up fleet GPS before computing distance driven, label a trip with the roads it used, or turn your drivers’ pings into per-road speeds for traffic.
Routing · In development
More on routing
Sources
- Routing API (planned), geolith docs (read 2026-11-08)
- Valhalla turn-by-turn API reference, Valhalla (open source, MIT) (read 2026-11-08)
Routing · In development
Follow routing progress.
Read how the router works today and what has to pass before it is deployed.