Code Monkey home page Code Monkey logo

vector-tile-js's Introduction

vector-tile

build status Coverage Status

This library reads Mapbox Vector Tiles and allows access to the layers and features.

Example

var VectorTile = require('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:

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));
});

Depends

  • Node.js v0.10.x or v0.8.x

Install

To install:

npm install vector-tile

API Reference

VectorTile

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 {<name>: <layer>, ...}, where each layer is a VectorTileLayer object.

VectorTileLayer

An object that contains the data for a single vector tile layer.

Properties

  • version (Number, default: 1)
  • name (String) — layer name
  • extent (Number, default: 4096) — tile extent size
  • length (Number) — number of features in the layer

Methods

  • feature(i) — get a feature (VectorTileFeature) by the given index from the layer.

VectorTileFeature

An object that contains the data for a single feature.

Properties

  • type (Number) — type of the feature (also see VectorTileFeature.types)
  • extent (Number) — feature extent size
  • properties (Object) — 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)
  • bbox() — calculates and returns the bounding box of the feature in the form [x1, y1, x2, y2]
  • toGeoJSON(x, y, z) — returns a GeoJSON representation of the feature. (x, y, and z refer to the containing tile's index.)

vector-tile-js's People

Contributors

ahocevar avatar anandthakker avatar ansis avatar cschwarz avatar dnomadb avatar jfirebaugh avatar kkaefer avatar mourner avatar tmcw avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.