LiveMap Routing

GraphHopper 11.0 plugin and demo service for LiveMap pedestrian routing. The plugin imports canonical livemap:* tags into lm_* encoded values and exposes a small application-facing routing facade.

Local URLs

/demo Interactive GraphHopper route demo using request-time custom models.
/profiles Configured product profile inspection and local weight tuning.
/api/routing/openapi.json Static OpenAPI 3.1 contract for the LiveMap facade.
http://localhost:8989 GraphHopper application connector.
http://localhost:8990 Dropwizard admin connector.

API

POST /api/routing/route Routes one request across configured product profiles.
GET /api/routing/profiles Returns the configured profile catalog.
GET /api/routing/openapi.json Returns the facade OpenAPI contract.
POST /route Native GraphHopper route endpoint, proxied for the map demo.

Route Request Shape

{
  "points": [[8.5400, 47.3700], [8.5420, 47.3700]],
  "profiles": ["foot_fast", "foot_safe", "foot_green"],
  "bucket": "auto",
  "debug": true
}

Facade Examples

These requests run against the local Caddy proxy at /api/routing/*.

Profile catalog

Fetch configured product profiles and their weights.

Single route

Route with one product profile, automatic Zurich time bucket, and no debug payload.

Profile comparison

Route the same points through all configured product profiles with debug enabled.

Explicit bucket

Force a night bucket to exercise temporal accident, crime, and presence values.

Validation path

Request an unknown profile to inspect facade error handling.

OpenAPI contract

Fetch the contract served by the facade for client generation or inspection.

No request selected
Click an example above to run it.
Response will appear here.

Routing Dimensions

Active dimensions accident, crime, presence, tree_coverage, lights
Encoded values Canonical LiveMap values are stored as lm_* GraphHopper encoded values.
Temporal buckets wd_am, wd_pm, wd_nt, we_am, we_pm, we_nt
Score range Imported edge scores use 0 for no modeled signal and 1 to 5 for positive signal strength; UI weights are 0.0 to 1.0.

Run Locally

just up

The top-level justfile builds the plugin JAR, copies it into demo/, builds the demo image, and starts the container.

Repository

github.com/livemapai/livemap-routing