@mapbox/tile-cover

generate the minimum number of tiles to cover a geojson geometry

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
@mapbox/tile-cover
3.0.25 years ago5 years agoMinified + gzip package size for @mapbox/tile-cover in KB

Readme

tile-cover
Build Status
Generate the minimum number of tiles to cover a GeoJSON Geometry.

Install

npm install @mapbox/tile-cover

Usage

var cover = require('@mapbox/tile-cover');
var poly = JSON.parse(fs.readFileSync('./poly.geojson'));
var limits = {
  	min_zoom: 4,
  	max_zoom: 9
};

cover.geojson(poly.geom, limits);
cover.tiles(poly.geom, limits);
cover.indexes(poly.geom, limits);
API

geojson(geom, limits)

Given a geometry, create cells and return them in a format easily readable by any software that reads GeoJSON.
  • geom (Object): GeoJSON geometry
  • limits (Object): an object with minzoom and maxzoom properties specifying the minimum and maximum level to be tiled.

Returns Object, FeatureCollection of cells formatted as GeoJSON Features

tiles(geom, limits)

Given a geometry, create cells and return them in their raw form, as an array of cell identifiers.
  • geom (Object): GeoJSON geometry
  • limits (Object): an object with minzoom and maxzoom properties specifying the minimum and maximum level to be tiled.

Returns Array.<Array.<number>>, An array of tiles given as x, y, z arrays

indexes(geom, limits)

Given a geometry, create cells and return them as quadkey indexes.
  • geom (Object): GeoJSON geometry
  • limits (Object): an object with minzoom and maxzoom properties specifying the minimum and maximum level to be tiled.

Returns Array.<String>, An array of tiles given as quadkeys.

Tests

npm test

Benchmarks

node bench.js

Examples

Polygons:
img
Lines:
img
Points:
img