Initial commit
This commit is contained in:
95
node_modules/@mapbox/vector-tile/README.md
generated
vendored
Normal file
95
node_modules/@mapbox/vector-tile/README.md
generated
vendored
Normal file
@@ -0,0 +1,95 @@
|
||||
# vector-tile
|
||||
|
||||
This library reads [Mapbox Vector Tiles](https://github.com/mapbox/vector-tile-spec) and allows access to the layers and features.
|
||||
|
||||
## Example
|
||||
|
||||
```js
|
||||
import {VectorTile} from '@mapbox/vector-tile';
|
||||
import Protobuf from 'pbf';
|
||||
|
||||
const tile = new VectorTile(new Protobuf(data));
|
||||
|
||||
// Contains a map of all layers
|
||||
tile.layers;
|
||||
|
||||
const 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](https://github.com/mapbox/serialtiles-spec)
|
||||
are gzip-encoded, so a complete example of parsing them with the native
|
||||
zlib module would be:
|
||||
|
||||
```js
|
||||
import {VectorTile} from '@mapbox/vector-tile';
|
||||
import Protobuf from 'pbf';
|
||||
import {gunzipSync} from 'zlib';
|
||||
|
||||
const buffer = gunzipSync(data);
|
||||
const tile = new VectorTile(new Protobuf(buffer));
|
||||
```
|
||||
|
||||
## Install
|
||||
|
||||
To install:
|
||||
|
||||
npm install @mapbox/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](https://github.com/mapbox/pbf) 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
|
||||
- **id** (`Number`) — feature identifier, if present
|
||||
- **properties** (`Object`) — object literal with feature properties
|
||||
|
||||
#### Methods
|
||||
|
||||
- **loadGeometry()** — parses feature geometry and returns an array of
|
||||
[Point](https://github.com/mapbox/point-geometry) 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.)
|
||||
Reference in New Issue
Block a user