Docs Comparisons

neoserver 0.2.0

Compared with Martin

How neoserver compares with the Martin tile server 1.16: vector tile sources, protocols, caching, access control, and when a dedicated tile server fits better.

Martin is a fast vector tile server written in Rust, part of the MapLibre project. It focuses on one job: serving vector tiles to MapLibre and other web map clients. neoserver serves vector tiles too, but as one part of a geospatial server that also provides WMS, WFS, WCS, and OGC API Features.

This comparison is based on the source code and documentation of Martin 1.16.1.

At a glance

neoserver Martin 1.16.1
Scope Geospatial server: maps, features, coverages, and tiles Tile server and tooling
Runtime Go server, one Docker image for Linux amd64 Rust single binary for Linux, macOS, and Windows, plus Docker
License MIT MIT or Apache 2.0
Vector tile sources Published PostGIS, DuckDB, GeoParquet, and vector file layers PostGIS tables and functions (auto-discovered), PMTiles, MBTiles, GeoJSON. GeoParquet via DuckDB is unstable.
Raster tiles Rendered map tiles with SLD styles, and GeoTIFF/COG coverages Cloud Optimized GeoTIFF sources, unstable and not in the default build
Protocols OGC API Tiles, TileJSON, WMTS, plus WMS, WFS, WCS, and OGC API Features TileJSON and a source catalog. No OGC services.
MapLibre assets Not provided Styles, sprites, and font glyphs
Caching Persistent cache on the filesystem or S3, with quotas and seeding jobs In-memory cache. martin-cp pre-generates tiles into an MBTiles file.
Administration Web console and management REST API Command-line options or a YAML configuration file. A web UI for inspecting tiles.
Access control Workspaces, roles, scoped API keys, and per-layer rules built in Through a reverse proxy

Where neoserver is a good fit

  • You need more than tiles. The same published layer is also available through OGC API Features, WFS, and WMS. See Vector tiles from PostGIS.
  • Clients use OGC standards. neoserver serves OGC API Tiles and WMTS, which GIS clients and standards-based integrations expect.
  • You need access control per layer. Private layers, roles, and scoped API keys are built in, including for tile requests.
  • You want a persistent tile cache. Tiles are cached on the filesystem or S3 across restarts, with quotas and resumable seed, reseed, and truncate jobs.
  • You’d rather manage it in a browser. Stores, layers, styles, and tile settings are managed in the console.

Where Martin is the better choice

  • Vector tiles are all you need. Martin is a focused, lightweight tile server optimized for speed and heavy traffic.
  • PostGIS functions as tile sources. Martin can serve tiles generated by SQL functions, which gives full control over each tile’s contents.
  • Pre-built tile archives. Martin serves PMTiles (local or over HTTP) and MBTiles directly, and its tools copy, validate, and diff MBTiles files.
  • Complete MapLibre setups. Martin also serves styles, sprites, and font glyphs, so one server can back a MapLibre map.
  • Platforms. Martin ships binaries for Linux, macOS, and Windows. neoserver’s supported platform is Linux amd64.

Using both

A common setup uses Martin for a high-traffic basemap and neoserver for thematic layers that need access control, feature queries, or OGC services. Both can read the same PostGIS database.

Search documentation

Type to search guides and reference pages.