// the find
tilezen/vector-datasource
Tilezen vector tile service - OpenStreetMap data in several formats
Tilezen's vector tile stack, the code behind the Nextzen tile service. It builds worldwide basemap tiles from OpenStreetMap, Natural Earth and Who's on First, and serves them as MVT, TopoJSON or GeoJSON. It's for teams that want to run their own planet-scale basemap, or that want to study how a production tile pipeline is put together.
The data side is the most useful part. The data/ directory has per-layer SQL transforms (apply-highway_99_fixes.sql, apply-ne_disputed_border_suppression.sql), versioned migrations under data/migrations, and index definitions split by table and zoom bucket. It reads like a pipeline that has been maintained for years, and it has been. Serving MVT for native clients and TopoJSON for the web from one tile definition is a reasonable split, and the README states the tradeoff plainly: gzipped TopoJSON lands close to MVT on the wire. The repo's hygiene is better than its age suggests, with a CircleCI config, pre-commit with flake8, a CHANGELOG and a semver policy. TESTS.md checks query results against fixed well-known tiles, which is the right kind of regression test for this problem.
Self-hosting is the hard path, and the README waves at it. Build-from-source links to an external wiki page, and the Docker option is the only shortcut. The README gives no hardware requirements, disk footprint or import time for a planet-scale PostGIS load, so you find out by running it. The Makefile templates in data/ end up being the real documentation. Most users will take the hosted path instead, which is rate-limited behind an API key, carries attribution obligations for anyone embedding the tiles, and depends on an endpoint operated by Nextzen rather than by this repo. Documentation is split across mapzen.com, developers.nextzen.org, a GitHub wiki and docs/ in the repo, and some links point at Mapzen-era pages that may be stale. Before you bet a product on this, check recent commit activity and the CHANGELOG, not the README's 'updated ~quarterly' line.