New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

aviation-math

Package Overview
Dependencies
Maintainers
1
Versions
24
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

aviation-math

Different methods to calculate distances, bearing and projections for aviation related software

latest
Source
npmnpm
Version
1.8.1
Version published
Maintainers
1
Created
Source

Aviation Math

Version Downloads Build Status Maintenance Codecov

Installation

Aviation Math can be used in both node.js and in the browser.

Install Aviation Math using npm:

npm install aviation-math

Usage

Position class

Useful container for coordinates. The constructor expects two parameters lat and lon or a string. More documentation needs to be done here.

const { Position } = require("aviation-math");

const pos1 = new Position(35.161372664038055, 33.267828863069205);
// pos1.toDMS() --> 35° 09′ 40.94″ N 033° 16′ 04.18″ E

const pos2 = new Position("35.161372664038055 N 33.267828863069205 E");
// pos2.toDMS() --> 35° 09′ 40.94″ N 033° 16′ 04.18″ E

const pos3 = new Position("40° 7.38' 74° 7.38'");
// pos3.toDMS() --> 40° 07′ 22.80″ N 074° 07′ 22.80″ E

The class offers different conversion formats like toDMS, toDMSCode, toDMM, toDDD.

See http://www.c-dev.ch/2012/10/26/koordinatenformate/ for more information.

getBearing(from: Position, to: Position): DegreesTrue

This function calculates the true bearing from one position to another one.

const { Position, getBearing } = require("aviation-math");

const result = getBearing(
    new Position(39.778889, -104.9825),
    new Position(43.778889, -102.9825),
);
// result = 19.787524850709246

getDistance(from: Position, to: Position) : NauticalMiles

This function calculates the distance in nautical miles from one position to another one.

const { Position, getDistance } = require("aviation-math");

const result = getDistance(
    new Position(50.02756868784301, 8.534261553454376),
    new Position(50.04004266904205, 8.586451452554849)
);
// result = 2.149991944029959

getTurnRadius(speed: Knots, bankAngle: Degrees) : NauticalMiles

This function calculates the turn radius based on the speed in knots and the bank angle.

const { getTurnRadius } = require("aviation-math");

const result = getTurnRadius(160, 30);
// result is close to 0.645

projectBearingDistance(reference: Position, bearing: DegreesTrue, distance: NauticalMiles): Position

This function projects a new position based on a reference position and a certain bearing and distance.

const { Position, projectBearingDistance } = require("aviation-math");

const result = projectBearingDistance(
    new Position(52.518611, 13.408056),
    180,
    8.09935205184,
);
// result is { lat: 52.383863707381906, lon: 13.408056 }

projectBearingIntersection(point1: Position, bearing1: DegreesTrue, point2: Position, bearing2: DegreesTrue): [Position, Position]

This function projects two intersections of two points and their bearings. The closer intersection is always the first item of the list.

const { Position, projectBearingIntersection } = require("aviation-math");

const a = projectBearingIntersection(
    new Position(39.778889, -104.9825),
    0,
    new Position(43.778889, -102.9825),
    0,
);
// result[0] is { lat: 90, lon: -90 }

projectTurnPosition(reference: Position, inboundCourse: DegreesTrue, outboundCourse: DegreesTrue, radius: NauticalMiles, turnDirection: TurnDirection) : Position

This function projects a position based on a reference position (, its inbound course) and a turn radius to an outbound course.

const { projectTurnPosition } = require("aviation-math");

const result = projectTurnPosition(
    new Position(50.0379326, 8.5599631),
    270,
    90,
    4,
    "LEFT"
);
// result is { lat: 49.90483820750475, lon: 8.5599631 }

Keywords

math

FAQs

Package last updated on 20 Apr 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts