Builder docs

geolith and its Consumers

How geolith's outputs feed tileserver-rs for tiles, geolith search for geocoding, and Valhalla or OSRM for routing.

By · Updated

geolith is the converter. It reads Overture Maps and OpenStreetMap and writes three kinds of output: vector tiles, a geocoding index, and routing tiles. Separate servers consume each one.

geolith outputFormatConsumer
Vector tiles.pmtiles / .mbtilestileserver-rs (docs)
Geocoding.glx (default; or pg-copy, Photon and Pelias exports)geolith search (docs) — Pelias-compatible
RoutingValhalla tar (--output-format valhalla) or OSRM tar (--output-format osrm)Valhalla / OSRM
Overture Maps ─┐
OpenStreetMap ─┼─▶ geolith ─┬─▶ .pmtiles ────────▶ tileserver-rs
Natural Earth ─┤            ├─▶ .glx ────────────▶ geolith search
shapefiles ────┘            └─▶ Valhalla / OSRM ─▶ routing engines

Vector tiles → tileserver-rs

geolith writes PMTiles v3 archives (Hilbert-ordered, content-deduplicated) or MBTiles. tileserver-rs serves them over HTTP range requests — one archive on R2, S3, or disk is the whole basemap source. See the Pipeline Architecture page for how the archive is built.

--output-format geocoding writes one .glx file by default. It holds every place, address and settlement with a BM25 text index, stored word prefixes for autocomplete, and a spatial index for reverse geocoding and focus search. geolith search — a Pelias-compatible API — opens the file and serves search, autocomplete, search/structured and reverse from it, the way tileserver-rs serves a .pmtiles archive. No database sits between them.

The pg-copy, photon and pelias formats export the same records for your own Postgres, Photon or Elasticsearch. See the Geocoding Output guide for flags and file layouts.

Routing tiles → Valhalla / OSRM

--output-format valhalla writes a Valhalla tar archive (--valhalla-output), and --output-format osrm writes an OSRM tar archive (--osrm-output). Valhalla or OSRM then serve routing over the same Overture and OSM data the tiles and geocoding outputs use.