flight-planner
Version:
Plan and route VFR flights
52 lines (51 loc) • 2.12 kB
TypeScript
import { Wind } from './metar.types.js';
import { FrequencyType, Runway, RunwayWindVector, Waypoint } from './waypoint.types.js';
/**
* Calculates the distance from one waypoint to another.
*
* @param from The starting waypoint.
* @param to The destination waypoint.
* @returns The distance in nautical miles.
*/
export declare const waypointDistance: (from: Waypoint, to: Waypoint) => number;
/**
* Calculates the heading from one waypoint to another.
*
* @param from The starting waypoint.
* @param to The destination waypoint.
* @returns The heading in degrees.
*/
export declare const waypointHeading: (from: Waypoint, to: Waypoint) => number;
/**
* Converts a numeric frequency type to its enum value
*
* @param type The numeric value of the frequency type
* @returns The corresponding FrequencyType enum value
*/
export declare const validateFrequencyType: (type: number) => FrequencyType;
/**
* Calculates the QFE (atmospheric pressure at waypoint elevation) value.
*
* @param waypoint The waypoint. For QFE calculation, this waypoint must have an 'elevation'
* and provide a QNH value (typically via an associated 'metarStation' property
* if the waypoint is an aerodrome or similar).
* @returns The QFE value in hPa (hectopascals), rounded to 2 decimal places,
* or undefined if the waypoint's elevation or QNH data is not available.
*/
export declare const waypointQFE: (waypoint: Waypoint) => number | undefined;
/**
* Creates a Waypoint object from a longitude and latitude.
*
* @param location - The location as a [longitude, latitude] tuple.
* @param name - Optional name for the waypoint.
* @returns A Waypoint object.
*/
export declare const createWaypoint: (location: [number, number], name?: string) => Waypoint;
/**
* Calculates the wind vector for a specific runway.
*
* @param runway The runway to calculate the wind vector for.
* @param wind The current wind data from METAR.
* @returns The calculated runway wind vector.
*/
export declare const calculateRunwayWindVector: (runway: Runway, wind: Wind) => RunwayWindVector;