slippy-grid
TypeScript icon, indicating that this package has built-in type declarations

2.3.0 • Public • Published

Slippy Grid

Build Status npm version MIT licensed

Standard - JavaScript Style Guide

Create slippy tile grid iterators from BBox.

Install

npm

$ npm install --save slippy-grid

web browser ES6

<script src="https://unpkg.com/slippy-grid/docs/slippy-grid.min.js"></script>

API

Table of Contents

single

Creates an Iterator of Tiles from a given BBox

Parameters

  • extent (BBox | Array<BBox> | GeoJSON) BBox [west, south, east, north] order or GeoJSON Polygon
  • minZoom number Minimum Zoom
  • maxZoom number Maximum Zoom

Examples

const grid = slippyGrid.single([-180.0, -90.0, 180, 90], 3, 8)
const {value, done} = grid.next()
//=value [x, y, z]
//=done true/false

Returns Iterator<Tile> Iterable Grid of Tiles from extent

geojson

Creates an Iterator of Tiles from a given GeoJSON

Parameters

  • extent FeatureCollection<(Polygon | MultiPolygon)> GeoJSON Polygon(s)
  • minZoom number Minimum Zoom
  • maxZoom number Maximum Zoom

Examples

const grid = slippyGrid.geojson(poly, 3, 8)
const {value, done} = grid.next()
// value => [x, y, z]
// done => true/false

Returns Iterator<Tile> Iterable Grid of Tiles from GeoJSON

getChildren

Creates an Iterator of children Tiles from a given parent tile

Parameters

  • parentTile GeoJSON Tile
  • maxZoom number Maximum Zoom

Examples

const parentTile = [0, 572, 10]
const maxZoom = 12
const grid = slippyGrid.getChildren(parentTile, maxZoom)
const {value, done} = grid.next()
// value => [x, y, z]
// done => true/false

Returns Iterator<Tile> Iterable of Tiles

all

All Tiles from a given BBox

Parameters

  • extent (BBox | Array<BBox> | GeoJSON) BBox [west, south, east, north] order or GeoJSON Polygon
  • minZoom number Minimum Zoom
  • maxZoom number Maximum Zoom

Examples

const tiles = slippyGrid.all([-180.0, -90.0, 180, 90], 3, 8)
//=tiles

Returns Array<Tile> Tiles from extent

bulk

Creates a bulk Iterator of Tiles from a given BBox

Parameters

  • extent (BBox | Array<BBox> | GeoJSON) BBox [west, south, east, north] order or GeoJSON Polygon
  • minZoom number Minimum Zoom
  • maxZoom number Maximum Zoom
  • size number Maximum size for bulk Tiles

Examples

const grid = slippyGrid.bulk([-180.0, -90.0, 180, 90], 3, 8, 5000)
const {value, done} = grid.next()
//=value Array<[x, y, z]>
//=done true/false

Returns Iterator<Array<Tile>> Bulk Iterable Grid of Tiles from extent

levels

Creates a grid level pattern of arrays

Parameters

  • extent (BBox | Array<BBox> | GeoJSON) BBox [west, south, east, north] order or GeoJSON Polygon
  • minZoom number Minimum Zoom
  • maxZoom number Maximum Zoom

Examples

const levels = slippyGrid.levels([-180.0, -90.0, 180, 90], 3, 8)
//=levels

Returns Array<GridLevel> Grid Level

count

Counts the total amount of tiles from a given BBox

Parameters

  • extent (BBox | Array<BBox> | GeoJSON) BBox [west, south, east, north] order or GeoJSON Polygon
  • minZoom number Minimum Zoom
  • maxZoom number Maximum Zoom
  • quick number Enable quick count if greater than number (optional, default 1000)

Examples

const count = slippyGrid.count([-180.0, -90.0, 180, 90], 3, 8)
//=count 563136

Returns number Total tiles from BBox

Package Sidebar

Install

npm i slippy-grid

Weekly Downloads

6

Version

2.3.0

License

MIT

Last publish

Collaborators

  • deniscarriere