osm-p2p-vector-tile-index

Vector tile index for osm-p2p-db


Keywords
osm-p2p, osm, index, vector, tiles
License
MIT
Install
npm install osm-p2p-vector-tile-index@2.1.2

Documentation

osm-p2p-vector-tile-index

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

Install

npm install osm-p2p-vector-tile-index

Usage

var VectorTileIndex = require('osm-p2p-vector-tile-index')
var vti = VectorTileIndex(osm)
vti.ready(function () {
  vti.getTileJson(1, 1, 1, function (err, tile) {
    console.log(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})

API

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.

vti.meta()

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

vti.ready(fn)

Execute fn once when the index is ready.

vti.on('update', fn)

Execute fn whenever the index updates.

Contribute

PRs accepted.

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

License

MIT © Gregor MacLennan / Digital Democracy