When to use vector tiles over raster
The practical decision matrix — dynamic styling, offline caching, interactive querying — and where raster still wins.
A reference for the engineers who own the path from raw spatial data to the pixels in a user's browser: converting GeoJSON and GeoParquet to optimized PMTiles and MBTiles, tuning Tippecanoe for production, and serving tiles through a CDN that actually caches.
Four connected tracks — format fundamentals, automated generation, map styling, and tile serving & CDN delivery — across 24 topics and 61 in-depth guides, each answering a concrete engineering question with a runnable command and a diagram of what it does.
These pages answer the questions that come up on day one of a vector-tile project and again on day one hundred.
The practical decision matrix — dynamic styling, offline caching, interactive querying — and where raster still wins.
The minimum viable flag set for shipping a first tileset: zoom range, attribute filtering, and size-budget controls.
JSON contract patterns, source declarations, and layer ordering that keep styles and tilesets in lock-step as schemas evolve.
The decision that shapes your whole serving stack — a static archive on object storage versus a tile server in front of a CDN.
Five topics added in the latest build, covering the parts of a pipeline that only become visible once the first tileset is live.
What a tileset has to publish about itself — vector_layers,
bounds, zoom range, attribution — and how to generate it from the
archive rather than maintain it by hand.
Building each layer with the flags it actually needs and merging afterwards — plus the attribute join that updates data daily without re-tiling a single vertex.
Splitting a build by region so it parallelises, and hashing each partition so an unchanged region is never re-tiled — turning a four-hour rebuild into twenty minutes.
The two asset bundles a style depends on and a tile build never produces — icon sheets and font ranges — and why a missing one is the quietest failure in the stack.
The four measurements that tell you whether a delivery tier is healthy, and why a misconfigured cache never fails — it just serves every request from the wrong place.
Each section collects architectural patterns, CLI references, validation gates, and operational guardrails across its sub-topics.
Tile coordinates, MVT/protobuf encoding, MBTiles vs PMTiles storage, TileJSON metadata, and zoom-level optimization for production delivery.
Tippecanoe CLI flags, GeoParquet ingestion, geometry simplification, layer composition and incremental partitioned builds for repeatable CI/CD tile generation.
MapLibre GL JSON contracts, dynamic attribute binding, sprite and glyph pipelines, theme inheritance and validation that keeps tiles and styles in lock-step.
Tile servers, PMTiles range requests from R2/S3, cache-control headers, versioned URL rotation, and the measurements that show whether the edge is actually caching.