simple tile utilities
npm install @mapbox/tilebelt
import * as tilebelt from '@mapbox/tilebelt';
const tile = [10, 15, 8] // x,y,z
tilebelt.tileToGeoJSON(tile);
// {
// "type": "Polygon",
// "coordinates": [
// [
// [ -165.9375, 82.8533822917608 ],
// [ -165.9375, 82.67628497834903 ],
// [ -164.53125, 82.67628497834903 ],
// [ -164.53125, 82.8533822917608 ],
// [ -165.9375, 82.8533822917608 ]
// ]
// ]
// }
tilebelt.getParent(tile);
// [ 5, 7, 7 ]
function | description |
---|---|
tileToGeoJSON(tile) |
get a geojson representation of a tile |
tileToBBOX(tile) |
get the bbox of a tile |
bboxToTile(bbox) |
get the smallest tile to cover a bbox |
getChildren(tile) |
get the 4 tiles one zoom level higher |
getParent(tile) |
get the tile one zoom level lower |
getSiblings(tile) |
get the 4 sibling tiles for a tile |
hasSiblings(tiles, tile) |
check to see if an array of tiles contains a tiles siblings |
hasTile(tiles, tile) |
check to see if an array of tiles contains a particular tile |
tilesEqual(tile1, tile2) |
check to see if two tiles are the same |
tileToQuadkey(tile) |
get the quadkey for a tile |
quadkeyToTile(quadkey) |
get the tile for a quadkey |
pointToTile(lon, lat, zoom) |
get the tile for a point at a specified zoom level |
pointToTileFraction(lon, lat, zoom) |
get the precise fractional tile location for a point at a zoom level |
npm ci # install deps
npm test # tests
npm run bench # run benchmarks
npm run format # format using prettier