Martin logo

Martin

Vector tile server that generates tiles on the fly from PostGIS and serves PMTiles and MBTiles

Repository activity
  • Stars3.7k
  • Forks366
  • Open Issues82
License

Apache-2.0

Languages
  • Rust
  • TypeScript
  • Shell
Martin screenshot

About Martin

Martin is a vector tile server that turns spatial data into map tiles for web and native clients. It generates tiles on the fly from large PostgreSQL/PostGIS databases and serves prebuilt tiles from PMTiles and MBTiles files, so a styled basemap can be hosted without a heavyweight tile stack.

Point it at a PostGIS database and it discovers compatible tables and functions automatically, exposing each as a tile source. It also reads PMTiles from local files or over HTTP, serves MBTiles, combines several sources into one, and produces styles, sprites, and font glyphs on the fly. Configuration is by CLI flags or a config file.

The bundled tools extend it beyond serving: martin-cp generates MBTiles in bulk from any supported source, and the mbtiles tool can examine, copy, validate, compare, and diff MBTiles files. Martin is written in Rust and developed under the MapLibre organization.

Key features

  • Generate vector tiles on the fly from PostGIS
  • Serve PMTiles over HTTP and MBTiles files
  • Combine multiple tile sources into one
  • Serve styles and generate sprites or font glyphs
  • Bulk-generate MBTiles and diff them with mbtiles tool

Details

First released
2017
Sources
PostGIS · PMTiles · MBTiles
Deployment
Self-hostable
Language
Rust
Governance
MapLibre organization
License
Apache-2.0 or MIT