// Type definitions for tilebelt 1.0.1 // Project: https://github.com/mapbox/tilebelt // Definitions by: Denis Carriere // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped /// declare const tilebelt: tilebelt.TilebeltStatic; declare namespace tilebelt { interface TilebeltStatic { /** * Get a geojson representation of a tile * * @name tileToGeoJSON * @param {Array} tile * @returns {Feature} * @example * var poly = tileToGeoJSON([5, 10, 10]) * //=poly */ tileToGeoJSON(tile: Array): GeoJSON.Feature /** * Get the bbox of a tile * * @name tileToBBOX * @param {Array} tile * @returns {Array} bbox * @example * var bbox = tileToBBOX([5, 10, 10]) * //=bbox */ tileToBBOX(tile: Array): Array /** * Get the tile for a point at a specified zoom level * * @name pointToTile * @param {number} lon * @param {number} lat * @param {number} z * @returns {Array} tile * @example * var tile = pointToTile(1, 1, 20) * //=tile */ pointToTile(lon: number, lat: number, z: number): Array /** * Get the 4 tiles one zoom level higher * * @name getChildren * @param {Array} tile * @returns {Array>} tiles * @example * var tiles = getChildren([5, 10, 10]) * //=tiles */ getChildren(tile: Array): Array> /** * Get the tile one zoom level lower * * @name getParent * @param {Array} tile * @returns {Array} tile * @example * var tile = getParent([5, 10, 10]) * //=tile */ getParent(tile: Array): Array /** * Get the 3 sibling tiles for a tile * * @name getSiblings * @param {Array} tile * @returns {Array>} tiles * @example * var tiles = getSiblings([5, 10, 10]) * //=tiles */ getSiblings(tile: Array): Array> /** * Check to see if an array of tiles contains a tiles siblings * * @name hasSiblings * @param {Array} tile * @param {Array>} tiles * @returns {boolean} * @example * var tiles = [ * [0, 0, 5], * [0, 1, 5], * [1, 1, 5], * [1, 0, 5] * ] * hasSiblings([0, 0, 5], tiles) * //=boolean */ hasSiblings(tile: Array, tiles: Array>): boolean /** * Check to see if an array of tiles contains a particular tile * * @name hasTile * @param {Array>} tiles * @param {Array} tile * @returns {boolean} * @example * var tiles = [ * [0, 0, 5], * [0, 1, 5], * [1, 1, 5], * [1, 0, 5] * ] * hasTile(tiles, [0, 0, 5]) * //=boolean */ hasTile(tiles: Array>, tile: Array): boolean /** * Check to see if two tiles are the same * * @name tilesEqual * @param {Array} tile1 * @param {Array} tile2 * @returns {boolean} * @example * tilesEqual([0, 1, 5], [0, 0, 5]) * //=boolean */ tilesEqual(tile1: Array, tile2: Array): boolean /** * Get the quadkey for a tile * * @name tileToQuadkey * @param {Array} tile * @returns {string} quadkey * @example * var quadkey = tileToQuadkey([0, 1, 5]) * //=quadkey */ tileToQuadkey(tile: Array): string /** * Get the tile for a quadkey * * @name quadkeyToTile * @param {string} quadkey * @returns {Array} tile * @example * var tile = quadkeyToTile('00001033') * //=tile */ quadkeyToTile(quadkey: string): Array /** * Get the smallest tile to cover a bbox * * @name bboxToTile * @param {Array} bbox * @returns {Array} tile * @example * var tile = bboxToTile([ -178, 84, -177, 85 ]) * //=tile */ bboxToTile(bbox: Array): Array /** * Get the precise fractional tile location for a point at a zoom level * * @name pointToTileFraction * @param {number} lon * @param {number} lat * @param {number} z * @returns {Array} tile fraction * var tile = pointToTileFraction(30.5, 50.5, 15) * //=tile */ pointToTileFraction(lon: number, lat: number, z: number): Array } } declare module "tilebelt" { export = tilebelt }