2.1.4 • Published 2 years ago

vector-tile-esm v2.1.4

Weekly downloads
190
License
BSD-3-Clause
Repository
github
Last release
2 years ago

vector-tile-esm

tests

Reads Mapbox Vector Tiles and allows access to the layers and features.

This module is a fork of vector-tile-js, with several key changes:

  • Code is set up for ESM import, rather than CJS require. This allows it to be imported dynamically (e.g., on Observable) without depending on a third-party bundling service such as bundle.run
  • The VectorTileFeature.toGeoJSON() method behaves very differently, returning pixel coordinates within a tile, rather than assuming Web Mercator and attempting to back-project to longitude and latitude
  • The dependence on the point-geometry module has been removed

Example

import { VectorTile } from 'vector-tile-esm';
import Protobuf from 'pbf-esm';

var tile = new VectorTile(new Protobuf(data));

// Contains a map of all layers
tile.layers;

var landuse = tile.layers.landuse;

// Number of features in this layer
landuse.length;

// Returns the first feature
landuse.feature(0);

API Reference

vector-tile-esm exposes 3 constructors: VectorTile, VectorTileLayer, and VectorTileFeature.

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.
  • toGeoJSON(size, sx, sy) Return a GeoJSON FeatureCollection representing all the features in the layer. See the corresponding method of VectorTileFeature for the parameters

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
  • id (Number) feature identifier, if present
  • properties (Object) object literal with feature properties

Methods

  • loadGeometry() parses feature geometry and returns an array of point objects, 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(size, sx, sy) returns a GeoJSON representation of the feature.
    • size side length of the (square) area over which the tile's features will be rendered. Default: the .extent property of the layer
    • sx, sy optionally specify the origin of the output coordinates within the (size x size) rendered area of the full tile.
2.1.4

2 years ago

2.1.3

3 years ago

2.1.2

4 years ago

2.1.1

4 years ago

2.1.0

4 years ago

2.0.1

4 years ago

2.0.0

4 years ago