UNPKG

random-flight-generator

Version:
61 lines (60 loc) 2.7 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Flight = void 0; var FlightMath_1 = require("./FlightMath"); var MapCoordinate_1 = require("./MapCoordinate"); var Flight = /** @class */ (function () { function Flight(departure, arrival) { this.departure = departure; this.arrival = arrival; } Flight.prototype.getDistance = function () { var point1 = new MapCoordinate_1.MapCoordinate(this.departure.lat, this.departure.lon); var point2 = new MapCoordinate_1.MapCoordinate(this.arrival.lat, this.arrival.lon); var distance = FlightMath_1.FlightMath.getDistance(point1, point2); return FlightMath_1.FlightMath.metersToNauticalMiles(distance); }; Flight.prototype.getBearing = function () { var point1 = new MapCoordinate_1.MapCoordinate(this.departure.lat, this.departure.lon); var point2 = new MapCoordinate_1.MapCoordinate(this.arrival.lat, this.arrival.lon); return FlightMath_1.FlightMath.getBearing(point1, point2); }; Flight.prototype.isValid = function () { return (this.departure && this.arrival && this.departure !== this.arrival); }; Flight.prototype.getElevationChange = function () { return this.arrival.elevation - this.departure.elevation; }; Flight.prototype.toJson = function () { return { departure: this.departure.toJson(), arrival: this.arrival.toJson(), bearing: this.getBearing(), distance: this.getDistance(), isValid: this.isValid(), elevationChange: this.getElevationChange(), }; }; Flight.prototype.print = function () { if (this.departure && this.arrival) { console.log(''); console.log('Departure'); console.log('-----------------------------------'); this.departure.print(); console.log(''); console.log(''); console.log('Arrival'); console.log('-----------------------------------'); this.arrival.print(); console.log(''); console.log(''); console.log('Flight Details'); console.log('-----------------------------------'); console.log("Flight distance: " + this.getDistance().toFixed(2) + " nautical miles"); console.log("Bearing: " + this.getBearing().toFixed(0) + " degrees"); console.log("Elevation change: " + (this.arrival.elevation - this.departure.elevation) + " feet"); } }; return Flight; }()); exports.Flight = Flight;