geolib
Version:
Library to provide basic geospatial operations like distance calculation, decoding of sexagesimal coordinates etc.
46 lines (45 loc) • 1.5 kB
TypeScript
export type GeolibLongitudeInputValue = number | string;
export type GeolibLatitudeInputValue = number | string;
export type GeolibAltitudeInputValue = number;
export type GeolibGeoJSONPoint = [
GeolibLongitudeInputValue,
GeolibLatitudeInputValue,
GeolibAltitudeInputValue?
];
export type LongitudeKeys = 'lng' | 'lon' | 'longitude' | 0;
export type LatitudeKeys = 'lat' | 'latitude' | 1;
export type AltitudeKeys = 'alt' | 'altitude' | 'elevation' | 'elev' | 2;
export type GeolibInputLongitude = {
lng: GeolibLongitudeInputValue;
} | {
lon: GeolibLongitudeInputValue;
} | {
longitude: GeolibLongitudeInputValue;
};
export type GeolibInputLatitude = {
lat: GeolibLatitudeInputValue;
} | {
latitude: GeolibLatitudeInputValue;
};
export type GeolibInputAltitude = {
alt?: GeolibAltitudeInputValue;
} | {
altitude?: GeolibAltitudeInputValue;
} | {
elevation?: GeolibAltitudeInputValue;
} | {
elev?: GeolibAltitudeInputValue;
};
export type UserInputCoordinates = GeolibInputLongitude & GeolibInputLatitude & GeolibInputAltitude;
export type GeolibInputCoordinates = UserInputCoordinates | GeolibGeoJSONPoint;
export type GeolibDistanceFn = (point: GeolibInputCoordinates, dest: GeolibInputCoordinates) => number;
export type Timestamp = number;
export type GeolibInputCoordinatesWithTime = GeolibInputCoordinates & {
time: Timestamp;
};
export type GeolibBounds = {
maxLat: number;
minLat: number;
maxLng: number;
minLng: number;
};