Parses vector tiles
npm install @mapwhit/vector-tile[![NPM version][npm-image]][npm-url]
[![Build Status][build-image]][build-url]
[![Dependency Status][deps-image]][deps-url]
Fork of [@mapbox/vector-tile]
This library reads Mapbox Vector Tiles and allows access to the layers and features.
``js
var VectorTile = require('@mapbox/vector-tile').VectorTile;
var Protobuf = require('pbf');
var tile = new VectorTile(new Protobuf(data));
// Contains a map of all layers
tile.layers;
var landuse = tile.layers.landuse;
// Amount of features in this layer
landuse.length;
// Returns the first feature
landuse.feature(0);
`
Vector tiles contained in serialtiles-spec
are gzip-encoded, so a complete example of parsing them with the native
zlib module would be:
`js
var VectorTile = require('vector-tile').VectorTile;
var Protobuf = require('pbf');
var zlib = require('zlib');
zlib.gunzip(data, function(err, buffer) {
var tile = new VectorTile(new Protobuf(buffer));
});
`
An object that parses vector tile data and makes it readable.
#### Constructor
- new VectorTile(protobuf[, end]) —
parses the vector tile data contained in the given Protobuf object,
saving resulting layers in the created object as a layers property. Optionally accepts end index.
#### Properties
- layers (Object) — an object containing parsed layers in the form of {,VectorTileLayer
where each layer is a object.
An object that contains the data for a single vector tile layer.
#### Properties
- version (Number, default: 1)String)
- name (— layer nameNumber
- extent (, default: 4096) — tile extent sizeNumber
- length () — number of features in the layer
#### Methods
- feature(i) — get a feature (VectorTileFeature) by the given index from the layer.
An object that contains the data for a single feature.
#### Properties
- type (Number) — type of the feature (also see VectorTileFeature.types)Number
- extent () — feature extent sizeNumber
- id () — feature identifier, if presentObject
- properties () — object literal with feature properties
#### Methods
- loadGeometry() — parses feature geometry and returns an array of
point arrays (with each point having x and y` properties)
[@mapbox/vector-tile]: https://npmjs.org/package/@mapbox/vector-tile
[npm-image]: https://img.shields.io/npm/v/@mapwhit/vector-tile
[npm-url]: https://npmjs.org/package/@mapwhit/vector-tile
[build-url]: https://github.com/mapwhit/vector-tile/actions/workflows/check.yaml
[build-image]: https://img.shields.io/github/actions/workflow/status/mapwhit/vector-tile/check.yaml?branch=main
[deps-image]: https://img.shields.io/librariesio/release/npm/@mapwhit/vector-tile
[deps-url]: https://libraries.io/npm/@mapwhit%2Fvector-tile