Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add ASRN definitions #95

Merged
merged 11 commits into from
Nov 6, 2024
6 changes: 6 additions & 0 deletions .changeset/slow-pumas-cheer.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
"@navigraph/amdb": major
"navigraph": minor
---

Added ASRN to amdb
10 changes: 10 additions & 0 deletions examples/playground/src/components/map/amdbStyle.ts
Original file line number Diff line number Diff line change
Expand Up @@ -206,6 +206,16 @@ const amdbStyle: StyleFunction = (_feature): PathOptions | CircleOptions => {
radius: 15,
color: "white",
}
case FeatureType.AsrnEdge:
return {
fill: false,
color: "green",
}
case FeatureType.AsrnNode:
return {
radius: 5,
color: "red",
}
case FeatureType.RunwayThreshold:
case FeatureType.FinalApproachAndTakeoffArea:
case FeatureType.HelipadThreshold:
Expand Down
88 changes: 84 additions & 4 deletions packages/amdb/src/types/enums.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,18 @@
/* eslint-disable @typescript-eslint/no-unused-vars */
import {
ApronBoundaryNode,
AsrnNode,
HoldingPositionNode,
ParkingBoundaryNode,
ParkingStandArea,
RunwayBoundaryNode,
RunwayExitLineNode,
RunwayIntersectionNode,
StandNode,
TaxiwayLinkNode,
TaxiwayNode,
} from "./features"

export enum FeatureType {
RunwayElement = 0,
RunwayIntersection = 1,
Expand Down Expand Up @@ -43,10 +58,8 @@ export enum FeatureType {
// RunwayCenterlinePoint = 37,
// Not provided
// ArrestingSystemLocation = 38,
// Not provided yet
// AsrnEdge = 39
// Not provided yet
// AsrnNode = 40
AsrnEdge = 39,
AsrnNode = 40,
}

export enum SurfaceType {
Expand Down Expand Up @@ -265,3 +278,70 @@ export enum LineStructureType {
NotApplicable = -32765,
Unknown = -32767,
}

/**
* Descriptions of each NodeType can be found in the associated interface
*
* See {@link AsrnNode}
*/
export enum NodeType {
Taxiway,
HoldingPosition,
RunwayBoundary,
RunwayExitLine,
RunwayIntersection,
ParkingBoundary,
ApronBoundary,
TaxiwayLink,
Deicing,
Stand,
}

export enum EdgeType {
/**
* An edge running along a taxiway, or connecting two taxiways while crossing a runway
*
* Can connect to {@link TaxiwayNode}s, {@link HoldingPositionNode}s, {@link RunwayBoundaryNode}s, {@link ApronBoundaryNode}s, or {@link TaxiwayLinkNode}s (in any order or combination)
*/
Taxiway,
/**
* An edge running along the center of a runway
*
* Can connect {@link RunwayExitLineNode}s and {@link RunwayIntersectionNode}s (in any order or combination)
*/
Runway,
/**
* An edge running from the centerline of a runway to a taxiway
*
* Will connect a {@link RunwayExitLineNode} to a {@link RunwayBoundaryNode}
*/
RunwayExit,
/**
* Forms the portion of a stand entry occuring outside of the {@link ParkingStandArea}
*
* Will connect a {@link TaxiwayNode} to a {@link ParkingBoundaryNode}
*/
TaxiwayLink,
/**
* Not yet implemented
*/
Deicing = 5,
/**
* An edge running along an apron taxiline
*
* Can connect {@link ApronBoundaryNode}s and {@link TaxiwayNode}s
*/
Apron,
/**
* An edge running along a {@link ParkingStandArea} to form the main body of a stand line
*
* Will connect a {@link StandNode} to a {@link ParkingBoundaryNode}
*/
Stand,
}

export enum EdgeDerivation {
FullyAbstract,
PartiallyAbstract,
FullyDerived,
}
Loading