Skip to main content

Class: FlightPathUtils

Defined in: src/sdk/flightplan/FlightPathUtils.ts:9

Utility class for working with flight path calculations.

Constructors

Constructor

new FlightPathUtils(): FlightPathUtils

Returns

FlightPathUtils

Methods

createEmptyCircleVector()

static createEmptyCircleVector(): CircleVector

Defined in: src/sdk/flightplan/FlightPathUtils.ts:18

Creates an empty arc vector.

Returns

CircleVector

An empty arc vector.


getAlongArcNormalizedDistance()

static getAlongArcNormalizedDistance(circle, start, end, pos, tolerance): number

Defined in: src/sdk/flightplan/FlightPathUtils.ts:358

Gets the normalized distance along an arc from a defined start point to a query point. The start, query, and end points will be projected onto the arc's parent circle if they do not already lie on it. The distance is normalized such that 1 equals the arc length from the start point to the end point. A negative distance indicates that the query point lies somewhere before the start of the arc but after the point on the arc's parent circle that is diametrically opposed to the midpoint of the arc.

Parameters

ParameterTypeDefault valueDescription
circleGeoCircleundefinedThe arc's parent circle.
startReadonly<Omit<Float64Array, "set" | "sort" | "copyWithin">> | LatLonInterfaceundefinedThe start point of the arc.
endReadonly<Omit<Float64Array, "set" | "sort" | "copyWithin">> | LatLonInterfaceundefinedThe end point of the arc.
posReadonly<Omit<Float64Array, "set" | "sort" | "copyWithin">> | LatLonInterfaceundefinedThe query point.
tolerancenumberGeoCircle.ANGULAR_TOLERANCEThe error tolerance, in great-arc radians, when checking if start and query are equal. Defaults to GeoCircle.ANGULAR_TOLERANCE if not specified.

Returns

number

The normalized distance along the arc from the start point to the query point.


getAlongArcSignedDistance()

static getAlongArcSignedDistance(circle, start, end, pos, tolerance): number

Defined in: src/sdk/flightplan/FlightPathUtils.ts:326

Gets the signed distance along an arc from a defined start point to a query point. The start, query, and end points will be projected onto the arc's parent circle if they do not already lie on it. A negative distance indicates that the query point lies somewhere before the start of the arc but after the point on the arc's parent circle that is diametrically opposed to the midpoint of the arc.

Parameters

ParameterTypeDefault valueDescription
circleGeoCircleundefinedThe arc's parent circle.
startReadonly<Omit<Float64Array, "set" | "sort" | "copyWithin">> | LatLonInterfaceundefinedThe start point of the arc.
endReadonly<Omit<Float64Array, "set" | "sort" | "copyWithin">> | LatLonInterfaceundefinedThe end point of the arc.
posReadonly<Omit<Float64Array, "set" | "sort" | "copyWithin">> | LatLonInterfaceundefinedThe query point.
tolerancenumberGeoCircle.ANGULAR_TOLERANCEThe error tolerance, in great-arc radians, when checking if start and query are equal. Defaults to GeoCircle.ANGULAR_TOLERANCE if not specified.

Returns

number

The signed distance along the arc from the start point to the query point, in great-arc radians.


getGreatCircleTangentToPath()

static getGreatCircleTangentToPath(point, path, out): GeoCircle

Defined in: src/sdk/flightplan/FlightPathUtils.ts:247

Gets the great circle tangent to a given path at a given tangent point. The tangent circle will contain the tangent point and have the same direction as the path at the tangent point.

Parameters

ParameterTypeDescription
pointReadonly<Omit<Float64Array, "set" | "sort" | "copyWithin">> | LatLonInterfaceThe tangent point. If the point does not lie on the path, it will be projected onto the path.
pathGeoCircleThe geo circle describing the path.
outGeoCircleA GeoCircle object to which to write the result.

Returns

GeoCircle

The great circle tangent to the specified path at the specified point.


getGreatCircleTangentToVector()

static getGreatCircleTangentToVector(point, vector, out): GeoCircle

Defined in: src/sdk/flightplan/FlightPathUtils.ts:268

Gets the great circle tangent to a given flight path vector at a given tangent point. The tangent circle will contain the tangent point and have the same direction as the vector at the tangent point.

Parameters

ParameterTypeDescription
pointReadonly<Omit<Float64Array, "set" | "sort" | "copyWithin">> | LatLonInterfaceThe tangent point. If the point does not lie on the vector, it will be projected onto the vector.
vectorCircleVectorThe flight path vector.
outGeoCircleA GeoCircle object to which to write the result.

Returns

GeoCircle

The great circle tangent to the specified flight path vector at the specified point.


getLegFinalCourse()

static getLegFinalCourse(legCalc): undefined | number

Defined in: src/sdk/flightplan/FlightPathUtils.ts:168

Gets the final true course of a calculated leg.

Parameters

ParameterTypeDescription
legCalcLegCalculationsA set of leg calculations.

Returns

undefined | number

The final true course of the leg, or undefined if one could not be obtained.


getLegFinalPosition()

static getLegFinalPosition(legCalc, out): undefined | GeoPoint

Defined in: src/sdk/flightplan/FlightPathUtils.ts:155

Gets the final position of a calculated leg.

Parameters

ParameterTypeDescription
legCalcLegCalculationsA set of leg calculations.
outGeoPointThe GeoPoint object to which to write the result.

Returns

undefined | GeoPoint

The final position of the leg, or undefined if one could not be obtained.


getLegTrueCourse()

static getLegTrueCourse(leg, point, magVarFacility?): number

Defined in: src/sdk/flightplan/FlightPathUtils.ts:137

Gets the true course for a flight plan leg.

Parameters

ParameterTypeDescription
legFlightPlanLegA flight plan leg.
pointLatLonInterfaceThe location from which to get magnetic variation if magVarFacility is not defined.
magVarFacility?VorFacilityThe VOR facility which defines the magnetic variation used for the leg's course.

Returns

number

The true course for the specified flight plan leg.


getTurnCenterFromCircle()

static getTurnCenterFromCircle<T>(circle, out): T

Defined in: src/sdk/flightplan/FlightPathUtils.ts:227

Gets the center of a turn described by a circle.

Type Parameters

Type Parameter
T extends Float64Array | GeoPoint

Parameters

ParameterTypeDescription
circleGeoCircleThe geo circle describing the turn.
outTA GeoPoint or 3D vector object to which to write the result.

Returns

T

The center of a turn described by the circle.


getTurnCircle()

static getTurnCircle(center, radius, turnDirection, out): GeoCircle

Defined in: src/sdk/flightplan/FlightPathUtils.ts:185

Gets the circle describing the path of a turn.

Parameters

ParameterTypeDescription
centerReadonly<Omit<Float64Array, "set" | "sort" | "copyWithin">> | LatLonInterfaceThe center of the turn.
radiusnumberThe radius of the turn, in great-arc radians.
turnDirectionVectorTurnDirectionThe direction of the turn.
outGeoCircleA GeoCircle object to which to write the result.

Returns

GeoCircle

The circle describing the path of the turn.


getTurnCircleStartingFromPath()

static getTurnCircleStartingFromPath(start, path, turnRadius, turnDirection, out): GeoCircle

Defined in: src/sdk/flightplan/FlightPathUtils.ts:291

Calculates and returns a circle describing a turn starting from a path at a specified point.

Parameters

ParameterTypeDescription
startReadonly<Omit<Float64Array, "set" | "sort" | "copyWithin">> | LatLonInterfaceThe starting point of the turn.
pathGeoCircleThe circle describing the path from which the turn starts.
turnRadiusnumberThe radius of the turn, in great-arc radians.
turnDirectionVectorTurnDirectionThe direction of the turn.
outGeoCircleA GeoCircle object to which to write the result.

Returns

GeoCircle

The circle describing the path of the specified turn.


getTurnDirectionFromCircle()

static getTurnDirectionFromCircle(circle): VectorTurnDirection

Defined in: src/sdk/flightplan/FlightPathUtils.ts:208

Gets the direction of a turn described by a circle.

Parameters

ParameterTypeDescription
circleGeoCircleThe geo circle describing the turn.

Returns

VectorTurnDirection

The direction of the turn described by the circle.


getTurnRadiusFromCircle()

static getTurnRadiusFromCircle(circle): number

Defined in: src/sdk/flightplan/FlightPathUtils.ts:217

Gets the radius of a turn described by a circle.

Parameters

ParameterTypeDescription
circleGeoCircleThe geo circle describing the turn.

Returns

number

The radius of the turn described by the circle, in great-arc radians.


getVectorFinalCourse()

static getVectorFinalCourse(vector): number

Defined in: src/sdk/flightplan/FlightPathUtils.ts:123

Gets the final true course bearing of a flight path vector.

Parameters

ParameterTypeDescription
vectorCircleVectorA flight path vector.

Returns

number

The final true course bearing of the vector, or undefined if one could not be calculated.


getVectorInitialCourse()

static getVectorInitialCourse(vector): number

Defined in: src/sdk/flightplan/FlightPathUtils.ts:111

Gets the initial true course bearing of a flight path vector.

Parameters

ParameterTypeDescription
vectorCircleVectorA flight path vector.

Returns

number

The initial true course bearing of the vector, or undefined if one could not be calculated.


getVectorTurnDirection()

static getVectorTurnDirection(vector): VectorTurnDirection

Defined in: src/sdk/flightplan/FlightPathUtils.ts:93

Gets the direction of a turn described by a flight path circle vector.

Parameters

ParameterTypeDescription
vectorCircleVectorThe flight path circle vector describing the turn.

Returns

VectorTurnDirection

The direction of the turn described by the flight path circle vector.


getVectorTurnRadius()

static getVectorTurnRadius(vector): number

Defined in: src/sdk/flightplan/FlightPathUtils.ts:102

Gets the radius of a turn described by a flight path circle vector.

Parameters

ParameterTypeDescription
vectorCircleVectorThe flight path circle vector describing the turn.

Returns

number

The radius of the turn described by the flight path circle vector, in great-arc radians.


isPointAlongArc()

Call Signature

static isPointAlongArc(circle, start, end, pos, inclusive?, tolerance?): boolean

Defined in: src/sdk/flightplan/FlightPathUtils.ts:391

Checks if a point lies between the start and end points of an arc along a geo circle. The start, end, and query points will be projected onto the arc's parent circle if they do not already lie on it.

Parameters
ParameterTypeDescription
circleGeoCircleThe arc's parent circle.
startReadonly<Omit<Float64Array, "set" | "sort" | "copyWithin">> | LatLonInterfaceThe start point of the arc.
endReadonly<Omit<Float64Array, "set" | "sort" | "copyWithin">> | LatLonInterfaceThe end point of the arc.
posReadonly<Omit<Float64Array, "set" | "sort" | "copyWithin">> | LatLonInterfaceThe query point.
inclusive?booleanWhether the arc includes the start and end points. Defaults to true.
tolerance?numberThe error tolerance, in great-arc radians. Defaults to GeoCircle.ANGULAR_TOLERANCE.
Returns

boolean

Whether the query point lies between the start and end points of the specified arc.

Call Signature

static isPointAlongArc(circle, start, angularWidth, pos, inclusive?, tolerance?): boolean

Defined in: src/sdk/flightplan/FlightPathUtils.ts:410

Checks if a point lies between the start and end points (inclusive) of an arc along a geo circle. The start and query points will be projected onto the arc's parent circle if they do not already lie on it.

Parameters
ParameterTypeDescription
circleGeoCircleThe arc's parent circle.
startReadonly<Omit<Float64Array, "set" | "sort" | "copyWithin">> | LatLonInterfaceThe start point of the arc.
angularWidthnumberThe angular width of the arc, in radians.
posReadonly<Omit<Float64Array, "set" | "sort" | "copyWithin">> | LatLonInterfaceThe query point.
inclusive?booleanWhether the arc includes the start and end points. Defaults to true.
tolerance?numberThe error tolerance, in great-arc radians. Defaults to GeoCircle.ANGULAR_TOLERANCE.
Returns

boolean

Whether the query point lies between the start and end points (inclusive) of the specified arc.


isVectorGreatCircle()

static isVectorGreatCircle(vector): boolean

Defined in: src/sdk/flightplan/FlightPathUtils.ts:74

Checks whether a circle vector describes a great-circle path.

Parameters

ParameterTypeDescription
vectorCircleVectorA flight path circle vector.

Returns

boolean

Whether the vector describes a great-circle path.


projectVelocityToCircle()

Call Signature

static projectVelocityToCircle(speed, position, bearing, projectTo): number

Defined in: src/sdk/flightplan/FlightPathUtils.ts:467

Projects an instantaneous velocity at a point along a bearing onto a geo circle.

The projected velocity is defined as the limit as dt goes to 0 of:

distance( project(p(0)), project(p(dt)) ) / dt

  • p(0) is the position at which the velocity to project is measured.
  • p(x) returns p(0) offset by the velocity to project after x time has elapsed.
  • project(x) projects x onto the geo circle onto which the velocity is to be projected.
  • distance(x, y) returns the distance from x to y along the geo circle onto which the velocity is to be projected, in the range (-c / 2, c / 2], where c is the circumference of the geo circle.
Parameters
ParameterTypeDescription
speednumberThe magnitude of the velocity to project.
positionReadonly<Omit<Float64Array, "set" | "sort" | "copyWithin">> | LatLonInterfaceThe position at which the velocity is measured.
bearingnumberThe true bearing, in degrees, defining the direction of the velocity to project.
projectToGeoCircleThe geo circle to which to project the velocity.
Returns

number

The signed magnitude of the velocity projected onto the specified geo circle. A positive sign indicates the projected velocity follows the same direction as the circle, while a negative sign indicates the projected velocity follows the opposite direction as the circle.

Call Signature

static projectVelocityToCircle(speed, position, path, projectTo): number

Defined in: src/sdk/flightplan/FlightPathUtils.ts:493

Projects an instantaneous velocity at a point along a geo circle onto another geo circle.

The projected velocity is defined as the limit as dt goes to 0 of:

distance( project(p(0)), project(p(dt)) ) / dt

  • p(0) is the position at which the velocity to project is measured.
  • p(x) returns p(0) offset by the velocity to project after x time has elapsed.
  • project(x) projects x onto the geo circle onto which the velocity is to be projected.
  • distance(x, y) returns the distance from x to y along the geo circle onto which the velocity is to be projected, in the range (-c / 2, c / 2], where c is the circumference of the geo circle.
Parameters
ParameterTypeDescription
speednumberThe magnitude of the velocity to project.
positionReadonly<Omit<Float64Array, "set" | "sort" | "copyWithin">> | LatLonInterfaceThe position at which the velocity is measured.
pathGeoCircleThe geo circle defining the path parallel to the velocity to project.
projectToGeoCircleThe geo circle to which to project the velocity.
Returns

number

The signed magnitude of the velocity projected onto the specified geo circle. A positive sign indicates the projected velocity follows the same direction as the circle, while a negative sign indicates the projected velocity follows the opposite direction as the circle.


resolveIngressToEgress()

static resolveIngressToEgress<T>(legCalc): T

Defined in: src/sdk/flightplan/FlightPathUtils.ts:545

Resolves the ingress to egress vectors for a set of flight plan leg calculations. This operation will populate the ingressToEgress array with a sequence of vectors connecting the ingress transition to the egress transition while following the flight path defined by the vectors in the flightPath array.

Type Parameters

Type Parameter
T extends LegCalculations

Parameters

ParameterTypeDescription
legCalcTA set of flight plan leg calculations.

Returns

T

The flight plan leg calculations, after the ingress to egress vectors have been resolved.


reverseTurnCircle()

static reverseTurnCircle(circle, out): GeoCircle

Defined in: src/sdk/flightplan/FlightPathUtils.ts:199

Reverses the direction of a turn circle while keeping the turn center and turn radius constant.

Parameters

ParameterTypeDescription
circleGeoCircleThe turn circle to reverse.
outGeoCircleA GeoCircle object to which to write the result.

Returns

GeoCircle

A turn circle which has the same turn center and turn radius, but the opposite direction as circle.


setCircleVector()

static setCircleVector(vector, circle, start, end, flags): CircleVector

Defined in: src/sdk/flightplan/FlightPathUtils.ts:43

Sets the parameters of a circle vector.

Parameters

ParameterTypeDescription
vectorCircleVectorThe circle vector to set.
circleGeoCircleThe GeoCircle defining the vector's path.
startReadonly<Omit<Float64Array, "set" | "sort" | "copyWithin">> | LatLonInterfaceThe start of the vector.
endReadonly<Omit<Float64Array, "set" | "sort" | "copyWithin">> | LatLonInterfaceThe end of the vector.
flagsnumberThe flags to set on the vector.

Returns

CircleVector

The circle vector, after its parameters have been set.


setGeoCircleFromVector()

static setGeoCircleFromVector(vector, out): GeoCircle

Defined in: src/sdk/flightplan/FlightPathUtils.ts:84

Sets the parameters of a GeoCircle from a flight path circle vector.

Parameters

ParameterTypeDescription
vectorCircleVectorA flight path circle vector.
outGeoCircleThe GeoCircle to set.

Returns

GeoCircle

The GeoCircle, after its parameters have been set.