Skip to content
View vector-tile's full-sized avatar

Block or report vector-tile

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
vector-tile/README.md
Vector Tile Pipeline & Caching Reference

Vector Tile Pipeline & Caching Reference

A field guide for the engineers who own the path from raw spatial data to the pixels in a user's browser.

🌐 www.vector-tile.com

Vector tiles are the backbone of modern interactive web maps — but the pipeline that produces and delivers them is deep, tool-heavy, and sparsely documented. This site is a practical, code-first reference for building and operating that pipeline end to end: converting GeoJSON and GeoParquet into optimized PMTiles and MBTiles, tuning Tippecanoe for production, synchronizing MapLibre GL styles with your tile schema, and serving it all through a CDN that actually caches.

Every page leads with the actionable detail — real flags, real commands, spec tables, and copy-pasteable Python and bash — because the audience skips the intro and wants the answer.

What's inside

Fifty-plus in-depth pages across four connected tracks:

The MVT protobuf encoding, the Web Mercator tiling grid, MBTiles vs PMTiles storage, coordinate systems, and zoom-level optimization — the ground truth that determines what a tile can contain.

The Tippecanoe flag taxonomy, GeoParquet ingestion with pyarrow and DuckDB, geometry simplification, attribute filtering, and CI/CD build automation for repeatable, gated tile builds.

MapLibre GL JSON contracts, data-driven expression binding, theme inheritance, layer-filter synchronization, and validation workflows that keep tiles and styles in lock-step as schemas evolve.

Tile servers (Martin, tileserver-gl, pg_tileserv), PMTiles range-request delivery from Cloudflare R2 and Amazon S3, cache-control headers, versioned URL rotation, and CDN invalidation for fast, cheap delivery at scale.

Who it's for

  • Frontend GIS developers wiring MapLibre GL to a tileset and debugging why a layer renders blank.
  • Mapping platform engineers who own tile generation, storage, and delivery infrastructure.
  • Python automation builders streaming GeoParquet into Tippecanoe inside a CI pipeline.
  • Cartography teams balancing tile-size budgets against rendering fidelity across zoom levels.

How the site is built

A fully static site — fast, cacheable, and dependency-light:

  • Eleventy (11ty) static site generator
  • Markdown content with a content-tree-driven navigation, breadcrumb, and interlinking model
  • Hand-authored inline SVG diagrams that adapt to light and dark themes via currentColor
  • Prism syntax highlighting, JSON-LD structured data, and a strict per-build QA gate suite (accessibility, structured-data, link integrity, performance budgets, and more)
  • Deployed on Cloudflare Pages

Run it locally

npm install
npm run serve      # local dev server with live reload
npm run build      # production build to _site/

Contributing & feedback

Spotted an error, an outdated flag, or a technique worth adding? Open an issue — corrections and suggestions from practitioners are welcome.


Built and maintained by vector-tile · www.vector-tile.com

Popular repositories Loading

  1. vector-tile vector-tile Public

    Field guide to production vector tile pipelines: Tippecanoe generation, PMTiles/MBTiles, MapLibre GL styling, and CDN delivery. Source for www.vector-tile.com

    HTML

  2. tilecheck tilecheck Public

    Audit PMTiles and MBTiles archives: zoom-level size distribution, oversized-tile warnings, layer/metadata inspection. Useful in CI.

    Python