Routing documentation In development

Geolith Routing

A Rust router with Valhalla-compatible /route, /isochrone, /sources-to-targets and map matching endpoints, answering from the routing part of a .glx file that geolith builds from OpenStreetMap. In development: not deployed for public use, and api.geolith.app has no routing endpoint.

In development. In development, not deployed for public use. On Berlin, routes on geolith-built tiles are byte-identical to Valhalla 3.9.1. A test Worker answers them, but edge latency is not good enough yet; no hosted API, no pricing.

Plan

What exists and what is planned

The routing part

Road graph tiles on three grids, in one .glx file read by range.

Valhalla-compatible API

Route, isochrone, matrix and map matching with Valhalla bodies. Not callable yet.

Edge only

One Rust router, built to WebAssembly, in a Worker that reads R2.

Untrusted tiles

Bounds-checked decoders, no unsafe. A malformed tile is refused whole.

Byte-identical to Valhalla

On Berlin: 100/100 auto routes on geolith tiles, 0 missed. Same JSON, byte for byte.

Builder done

geolith --output-format routing writes the graph as 64 KiB zstd blocks.

Navigate

Jump into the docs