x5-geometry
Version:
Geometry and word processing utilities for XNet
20 lines (19 loc) • 1.72 kB
TypeScript
import { LatLon, Vector2D, HexGrid } from './types';
declare const earthR: number;
declare function haversine(lat1: number, lon1: number, lat2: number, lon2: number): number;
declare function travel(lat1: number, lon1: number, Δx: number, Δy: number): LatLon;
declare function gpsDiff(packed1: string, packed2: string): number;
declare function sigmaTest(packed1: string, packed2: string, σ?: number): boolean;
declare function vec2add(v1: Vector2D, v2: Vector2D): Vector2D;
declare function vec2scale(v1: Vector2D, a: number): Vector2D;
declare function normalizeLatLon(lat: number, lon: number, maxLat?: number): LatLon;
declare function validateLatLon(lat: number, lon: number, maxLat?: number): void;
declare function encodeGPS(lat: number, lon: number, maxLat?: number, step?: number, offset?: number): string;
declare function decodeGPS(packed: string, maxLat?: number, step?: number, offset?: number): LatLon;
declare function latLon2ab(lat: number, lon: number, maxLat?: number, step?: number): Vector2D;
declare function ab2latLon(a: number, b: number, maxLat?: number, step?: number): LatLon;
declare function grid2latLon(i: number, j: number, maxLat?: number, step?: number, offset?: number): LatLon;
declare function ab2grid(a: number, b: number, offset?: number): HexGrid;
declare function latLon2grid(lat: number, lon: number, maxLat?: number, step?: number, offset?: number): HexGrid;
declare function grid2latLonHex(i: number, j: number, offset?: number, maxLat?: number, step?: number): LatLon[];
export { earthR, haversine, travel, gpsDiff, sigmaTest, encodeGPS, decodeGPS, normalizeLatLon, validateLatLon, vec2add, vec2scale, latLon2ab, ab2latLon, grid2latLon, ab2grid, latLon2grid, grid2latLonHex };