Vector tile index for osm-p2p-db
Last updated 3 years ago by noffle .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install osm-p2p-vector-tile-index 
SYNC missed versions from official npm registry.


Build Status npm js-standard-style

Vector tile index for osm-p2p-db

Maintain an index of Mapbox vector tiles on an osm-p2p-db. Currently regenerates the entire index every time the db is updated (the regeneration is debounced). Vector tiles can contain multiple layers which can be defined by filter expressions as defined in the Mapbox GL JS Spec.

Table of Contents


npm install osm-p2p-vector-tile-index


var VectorTileIndex = require('osm-p2p-vector-tile-index')
var vti = VectorTileIndex(osm)
vti.ready(function () {
  vti.getTileJson(1, 1, 1, function (err, tile) {
    // outputs tile json to stdout...

Create layers by passing options.layers:

var layers = {
  buildings: ['has', 'building'],
  footpaths: ['==', 'highway', 'footway']

var vti = VectorTileIndex(osm, {layers: layers})


var VectorTileIndex = require('osm-p2p-vector-tile-index')

var vti = VectorTileIndex(osm, options)

Create a new vector tile index with:

  • osm - a osm-p2p-db
  • options.bbox - bounding box to include in tile index. Defaults to [-Infinity, -Infinity, Infinity, Infinity]
  • options.layers - object defining layers in tiles. Each property defines a layer, with either a filter expression as defined in the Mapbox GL JS Spec or a function that will return true for features to appear in that layer. Defaults to {geojsonLayer: ['all']} i.e. resulting vector tiles will have a single layer with all the data named geojsonLayer.
  • Additional options are passed through to osm-p2p-geojson, e.g. options.metadata.

vti.getJsonTile(z, x, y, cb)

Return a tile for coordinates z, x, y in the JSON equivalent of the vector tile specification

vti.getPbfTile(z, x, y, cb)

Return a tile for coordinates z, x, y encoded as a Google Protocol Buffer as defined in the vector tile specification.


Return metadata about the tiles (minzoom, maxzoom, vector_layers, bounds)


Execute fn once when the index is ready.

vti.on('update', fn)

Execute fn whenever the index updates.


PRs accepted.

Small note: If editing the Readme, please conform to the standard-readme specification.


MIT © Gregor MacLennan / Digital Democracy

Current Tags

  • 2.2.4                                ...           latest (3 years ago)

9 Versions

  • 2.2.4                                ...           3 years ago
  • 2.2.3                                ...           3 years ago
  • 2.2.2                                ...           3 years ago
  • 2.2.0                                ...           4 years ago
  • 2.1.2                                ...           4 years ago
  • 2.1.1                                ...           4 years ago
  • 2.1.0                                ...           4 years ago
  • 2.0.0                                ...           4 years ago
  • 1.0.0                                ...           4 years ago
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 0
Dependencies (10)
Dev Dependencies (3)

Copyright 2014 - 2017 © taobao.org |