vgridjs
Version:
Vgrid DGGS JS
71 lines (69 loc) • 2.23 kB
text/typescript
/**
* Tilecode implementation in TypeScript
* Based on the original Python implementation
* Includes merged mercantile functionality for tile calculations
*/
interface Tile {
x: number;
y: number;
z: number;
}
interface Bounds {
west: number;
south: number;
east: number;
north: number;
}
/**
* Convert latitude/longitude to tilecode
* @param lat Latitude in degrees
* @param lon Longitude in degrees
* @param zoom Zoom level
* @returns Tilecode string in format 'zXxYyZ'
*/
declare function latlon2tilecode(lat: number, lon: number, zoom: number): string;
/**
* Convert latitude/longitude to quadkey
* @param lat Latitude in degrees
* @param lon Longitude in degrees
* @param zoom Zoom level
* @returns Quadkey string
*/
declare function latlon2quadkey(lat: number, lon: number, zoom: number): string;
/**
* Convert quadkey to latitude/longitude
* @param quadkey_id Quadkey string
* @returns [latitude, longitude] in degrees
*/
declare function quadkey2latlon(quadkey_id: string): [number, number];
/**
* Convert tilecode to latitude/longitude
* @param tilecode_id Tilecode string in format 'zXxYyZ'
* @returns [latitude, longitude] in degrees
*/
declare function tilecode2latlon(tilecode_id: string): [number, number];
/**
* Convert tilecode to quadkey
* @param tilecode_id Tilecode string in format 'zXxYyZ'
* @returns Quadkey string
*/
declare function tilecode2quadkey(tilecode_id: string): string;
/**
* Convert quadkey to tilecode
* @param quadkey_id Quadkey string
* @returns Tilecode string in format 'zXxYyZ'
*/
declare function quadkey2tilecode(quadkey_id: string): string;
/**
* Calculate the length of a tile's edge in meters
* @param tilecode_id Tilecode string in format 'zXxYyZ'
* @returns Edge length in meters
*/
declare function tilecodeCellLength(tilecode_id: string): number;
/**
* Convert tilecode to WKT polygon
* @param tilecode_id Tilecode string in format 'zXxYyZ'
* @returns WKT polygon string
*/
declare function tilecode2wktbound(tilecode_id: string): string;
export { type Bounds, type Tile, latlon2quadkey, latlon2tilecode, quadkey2latlon, quadkey2tilecode, tilecode2latlon, tilecode2quadkey, tilecode2wktbound, tilecodeCellLength };