Skip to content

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.

Map matching · /trace-route and /trace-attributes · Berlin, byte-identical to Valhalla 3.9.1
SetRequests Byte-identical
Trace requests160

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.

Request shape (no hosted endpoint)
curl -X POST "https://ROUTER_HOST/trace-attributes" \
  -H "Content-Type: application/json" \
  -d '{
    "shape": [
      { "lat": 52.5163, "lon": 13.3777 },
      { "lat": 52.5150, "lon": 13.3690 },
      { "lat": 52.5120, "lon": 13.3550 }
    ],
    "costing": "auto",
    "shape_match": "map_snap"
  }'

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

  1. Routing API (planned), geolith docs (read 2026-11-08)
  2. 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.