UNPKG

vgridjs

Version:

Vgrid DGGS JS

92 lines (90 loc) 2.67 kB
/** * Mercantile implementation in TypeScript * Provides functions for working with web mercator tiles */ interface Tile { x: number; y: number; z: number; } interface Bounds { west: number; south: number; east: number; north: number; } /** * Convert longitude/latitude to tile coordinates * @param lng Longitude in degrees * @param lat Latitude in degrees * @param zoom Zoom level * @returns Tile coordinates */ declare function tile(lng: number, lat: number, zoom: number): Tile; /** * Convert tile coordinates to longitude/latitude bounds * @param x Tile X coordinate * @param y Tile Y coordinate * @param z Zoom level * @returns Bounds object with west, south, east, north in degrees */ declare function bounds(x: number, y: number, z: number): Bounds; /** * Convert tile coordinates to quadkey * @param tile Tile object * @returns Quadkey string */ declare function quadkey(tile: Tile): string; /** * Convert quadkey to tile coordinates * @param quadkey Quadkey string * @returns Tile object */ declare function quadkeyToTile(quadkey: string): Tile; /** * Get the parent tile of a tile * @param tile Tile object * @returns Parent tile */ declare function parent(tile: Tile): Tile; /** * Get the children tiles of a tile * @param tile Tile object * @returns Array of child tiles */ declare function children(tile: Tile): Tile[]; /** * Get the sibling tiles of a tile * @param tile Tile object * @returns Array of sibling tiles */ declare function siblings(tile: Tile): Tile[]; /** * Get the tile coordinates for a point in web mercator coordinates * @param x Web mercator X coordinate * @param y Web mercator Y coordinate * @param zoom Zoom level * @returns Tile coordinates */ declare function xyTile(x: number, y: number, zoom: number): Tile; /** * Convert tile coordinates to web mercator coordinates * @param tile Tile object * @returns Web mercator coordinates [x, y] */ declare function tileToXY(tile: Tile): [number, number]; /** * Convert longitude/latitude to web mercator coordinates * @param lng Longitude in degrees * @param lat Latitude in degrees * @returns Web mercator coordinates [x, y] */ declare function lngLatToXY(lng: number, lat: number): [number, number]; /** * Convert web mercator coordinates to longitude/latitude * @param x Web mercator X coordinate * @param y Web mercator Y coordinate * @returns Longitude/latitude coordinates [lng, lat] */ declare function xyToLngLat(x: number, y: number): [number, number]; export { type Bounds, type Tile, bounds, children, lngLatToXY, parent, quadkey, quadkeyToTile, siblings, tile, tileToXY, xyTile, xyToLngLat };