Class FasDatablock
FAS Data Block - Encoder and Decoder for SBAS and GBAS
Inherited Members
Namespace: FpAssistantCore.GeneralAviation
Assembly: FpAssistantCoreScl.dll
Syntax
public class FasDatablock : BaseObjectFasDataBlock
Properties
View SourceAirportIdentifier
The three- or four-letter designator used to designate an airport
Declaration
public string AirportIdentifier { get; set; }
Property Value
| Type | Description |
|---|---|
| string | Airport identifier |
Remarks
The four-character ICAO location identifier assigned to an airport. Where there is a national airport identifier but no ICAO location identifier, the three- or four-character national identifier is used
Exceptions
| Type | Condition |
|---|---|
| ArgumentNullException | Null Value tried to be assigned |
| ArgumentException | Airport Identifier may only consist of 3 to 4 alphanumeric characters |
BlockType
Holds the type of the FAS data block
Declaration
public BlockTypes BlockType { get; set; }
Property Value
| Type | Description |
|---|---|
| BlockTypes | The type of the data block |
Remarks
Can be assigned to a type when encoding to create a data block or will be assigned when decoding a data block file or byte array
See Also
View SourceCourseWidthTHR
Semi-width (in metres) of the lateral course width at the LTP/FTP
Declaration
public LinearDistance CourseWidthTHR { get; set; }
Property Value
| Type | Description |
|---|---|
| LinearDistance | Angle of the glide path |
Remarks
Angle of the FAS path with respect to the horizontal plane tangent to the WGS-84 ellipsoid at the LTP/FTP
Exceptions
| Type | Condition |
|---|---|
| ArgumentOutOfRangeException | Course width at THR must have a value between 80m and 143.75m |
| ArgumentException | Course width must be in Metres |
DeltaFpap
Difference of latitude/longitude of the runway FPAP from the LTP/FTP
Declaration
public GeoCoordinate DeltaFpap { get; set; }
Property Value
| Type | Description |
|---|---|
| GeoCoordinate | Delta FPAP latitude/longitude as a GeoCoordinate |
Remarks
Positive value denotes the FPAP latitude north of LTP/FTP latitude/longitude east of LTP/FTP longitude. Negative value denotes the FPAP latitude south of the LTP/FTP latitude/longitude west of LTP/FTP longitude.
DeltaFpapLatitude
Difference of latitude of the runway FPAP from the LTP/FTP
Declaration
public Angle DeltaFpapLatitude { get; set; }
Property Value
| Type | Description |
|---|---|
| Angle | Delta FPAP Latitude |
Remarks
Positive value denotes the FPAP latitude north of LTP/FTP latitude. Negative value denotes the FPAP latitude south of the LTP/FTP latitude
DeltaFpapLongitude
Difference of longitude of the runway FPAP from the LTP/FTP
Declaration
public Angle DeltaFpapLongitude { get; set; }
Property Value
| Type | Description |
|---|---|
| Angle | Delta FPAP Longitude |
Remarks
Positive value indicates the FPAP longitude east of LTP/FTP longitude. Negative value indicates the FPAP longitude west of LTP/FTP longitude
Fpap
Flight path alignment point (FPAP)
Declaration
public GeoCoordinate Fpap { get; set; }
Property Value
| Type | Description |
|---|---|
| GeoCoordinate | Geo coordinate of FPAP position |
Remarks
A point located on a geodesic line or an extension of a geodesic line calculated between the LTP and the designated centre of the opposite runway-landing threshold
GbasApproachPerformanceDesignator
GBAS Approach Performance Designator
Declaration
public GbasApproachPerformanceDesignators GbasApproachPerformanceDesignator { get; set; }
Property Value
| Type | Description |
|---|---|
| GbasApproachPerformanceDesignators | Value of GBAS approach performance designator |
Exceptions
| Type | Condition |
|---|---|
| InvalidOperationException | This property is only valid for GBAS block types |
GbasOperationType
Holds the type of operation for the GBAS procedure
Declaration
public GbasOperationTypes GbasOperationType { get; set; }
Property Value
| Type | Description |
|---|---|
| GbasOperationTypes | GBAS operation type |
Exceptions
| Type | Condition |
|---|---|
| InvalidOperationException | This property is only valid for GBAS block types. |
See Also
View SourceGlidePathAngle
Glide Path Angle (GPA) of the FAS path
Declaration
public Angle GlidePathAngle { get; set; }
Property Value
| Type | Description |
|---|---|
| Angle | Angle of the glide path |
Remarks
Angle of the FAS path with respect to the horizontal plane tangent to the WGS-84 ellipsoid at the LTP/FTP
Exceptions
| Type | Condition |
|---|---|
| ArgumentOutOfRangeException | Glide Path Angle must be between 0 and 90 degrees |
HorizontalAlertLimit
Horizontal Alert Limit (HAL)
Declaration
public LinearDistance HorizontalAlertLimit { get; set; }
Property Value
| Type | Description |
|---|---|
| LinearDistance | Radius of the circle (HAL) |
Remarks
The HAL is the radius of a circle in the horizontal plane, with its centre being at the true position, that describes the region which is required to contain the indicated horizontal position with the required probability for a particular navigation mode assuming the probability of a GPS satellite integrity failure being included in the position solution is less than or equal to 10–4 per hour. The range of values is 0 to 50.8m with a 0.2m resolution. The HAL, for LPV procedures, is a fixed value at 40.0m
Exceptions
| Type | Condition |
|---|---|
| ArgumentException | Horizontal alert limit must be in Metres |
| ArgumentOutOfRangeException | Horizontal alert limit must have a value between 0m and 50.8m |
LengthOffset
Distance from the stop end of the runway to the FPA
Declaration
public LinearDistance? LengthOffset { get; set; }
Property Value
| Type | Description |
|---|---|
| LinearDistance? | Length offset distance |
Remarks
It defines the location where lateral sensitivity changes to the missed approach sensitivity. The value is in metres with the limits being 0 to 2032 m. The actual distance is rounded up to the nearest value divisible by 8. If the FPAP is located at the designated centre of the opposite runway end, the distance is zero. For offset procedures, the Δ length offset is coded as zero
Exceptions
| Type | Condition |
|---|---|
| ArgumentException | Length offset must be in Metres |
| ArgumentOutOfRangeException | Length offset must have a value between 0m and 2032m |
LtpFtp
Landing threshold point (LTP)/Fictitious threshold point (FTP)
Declaration
public GeoCoordinate LtpFtp { get; set; }
Property Value
| Type | Description |
|---|---|
| GeoCoordinate | Geo coordinate of LTP / FTP position |
Remarks
Represents the latitude and longitude of the threshold defined in WGS-84 coordinates and entered to five ten thousandths of an arc second
LtpFtpHeight
LTP/FTP height relative to the ellipsoid (HAE)
Declaration
public LinearDistance LtpFtpHeight { get; set; }
Property Value
| Type | Description |
|---|---|
| LinearDistance | Height |
Remarks
The height expressed in metres referenced to the WGS-84 ellipsoid
Exceptions
| Type | Condition |
|---|---|
| ArgumentException | LTP/FTP height must be in Metres |
| ArgumentOutOfRangeException | LTP/FTP height must have a value between -512m and 6041.5m |
ReferencePathDataSelector
The numeric identifier that is used to select the FAS data block (desired approach)
Declaration
public int ReferencePathDataSelector { get; set; }
Property Value
| Type | Description |
|---|---|
| int | Reference path data selector (RPDS) |
Remarks
This field is reserved for use by GBAS and is not used by SBAS
ReferencePathIdentifier
The three or four alphanumeric characters used to uniquely designate the reference path
Declaration
public string ReferencePathIdentifier { get; set; }
Property Value
| Type | Description |
|---|---|
| string | Reference path identifier |
Remarks
A four-character identifier that is used to confirm selection of the correct approach procedure. For circling only procedures, the two digit runway number should be encoded as the procedure final approach course rounded to the nearest 10° and truncated to two characters
Exceptions
| Type | Condition |
|---|---|
| ArgumentNullException | Null Value tried to be assigned |
| ArgumentException | Reference Path Identifier may only consist of 0 to 4 alphanumeric characters |
RouteIndicator
Used to differentiate between multiple approaches to the same runway or heliport
Declaration
public string RouteIndicator { get; set; }
Property Value
| Type | Description |
|---|---|
| string | A single alpha character |
Remarks
Must be A to Z or blank, omitting I and O
Exceptions
| Type | Condition |
|---|---|
| ArgumentNullException | Null passed for any of the parameters |
| ArgumentException | Route Indicator must consist only of a single alphabetical letter excluding I and O |
RunwayLetter
Runway one-letter designator
Declaration
public RunwayLetters RunwayLetter { get; set; }
Property Value
| Type | Description |
|---|---|
| RunwayLetters | Runway letter designator |
Remarks
Coding: 0 = no letter, 1 = R (right), 2 = C (centre), 3 = L (left)
RunwayNumber
The approach runway number
Declaration
public int RunwayNumber { get; set; }
Property Value
| Type | Description |
|---|---|
| int | Runway number |
Remarks
Coding: 0 = Heliport, 1 to 36 = runway number
SbasApproachPerformanceDesignator
SBAS Approach Performance Designator
Declaration
public SbasApproachPerformanceDesignators SbasApproachPerformanceDesignator { get; set; }
Property Value
| Type | Description |
|---|---|
| SbasApproachPerformanceDesignators | Value of SBAS approach performance designator |
Exceptions
| Type | Condition |
|---|---|
| InvalidOperationException | This property is only valid for SBAS block types |
SbasOperationType
Holds the type of operation for the SBAS procedure
Declaration
public SbasOperationTypes SbasOperationType { get; set; }
Property Value
| Type | Description |
|---|---|
| SbasOperationTypes | SBAS operation type |
Exceptions
| Type | Condition |
|---|---|
| InvalidOperationException | This property is only valid for SBAS block types. |
See Also
View SourceSbasProviderIdentifier
Holds the service provider identifier for the SBAS procedure
Declaration
public SbasProviderIdentifiers SbasProviderIdentifier { get; set; }
Property Value
| Type | Description |
|---|---|
| SbasProviderIdentifiers | Service provider identifier |
Remarks
A number from 0 to 15 that associates the approach procedure to a particular satellite-based approach system service provide
See Also
View SourceThresholdCrossingHeight
Threshold Crossing Height (TCH)
Declaration
public LinearDistance ThresholdCrossingHeight { get; set; }
Property Value
| Type | Description |
|---|---|
| LinearDistance | Geo coordinate of FPAP position |
Remarks
The height of the FAS path above the LTP/FTP defined in either feet or metres as indicated by the TCH units selector
Exceptions
| Type | Condition |
|---|---|
| ArgumentException | TCH height must be in Metres or Feet |
| ArgumentOutOfRangeException | TCH height must have a value between 0 and 1638.35m/3276.7ft |
VerticalAlertLimit
Vertical Alert Limit (VAL)
Declaration
public LinearDistance VerticalAlertLimit { get; set; }
Property Value
| Type | Description |
|---|---|
| LinearDistance | Half the length of a segment |
Remarks
VAL is half the length of a segment on the vertical axis, with its centre being at the true position, that describes the region which is required to contain the indicated vertical position with a probability of 1.0 10–7 per approach, assuming the probability of a GPS satellite integrity failure being included in the position solution is less than or equal to 10–4 per hour. The range of values is 0 to 50.8m with a 0.2m resolution
Exceptions
| Type | Condition |
|---|---|
| ArgumentException | Vertical alert limit must be in Metres |
| ArgumentOutOfRangeException | Vertical alert limit must have a value between 0m and 50.8m |
Methods
View SourceAsHexString(byte[])
Declaration
public string AsHexString(byte[] block)
Parameters
| Type | Name | Description |
|---|---|---|
| byte[] | block |
Returns
| Type | Description |
|---|---|
| string |
CrcChecksum()
Computes the CRC checksum value based on the parameters of the FAS object
Declaration
public byte[] CrcChecksum()
Returns
| Type | Description |
|---|---|
| byte[] | Byte array of the 32-bit CRC calculated value (4 bytes) |
DecodeDatablock(byte[])
Encodes a data block array property based on values assigned in properties
Declaration
public bool DecodeDatablock(byte[] dataBlock)
Parameters
| Type | Name | Description |
|---|---|---|
| byte[] | dataBlock | Byte array of the database block to be decoded into parameters |
Returns
| Type | Description |
|---|---|
| bool | True is successful, otherwise false |
EncodeDatablock()
Encodes a data block array property based on values assigned in properties
Declaration
public byte[] EncodeDatablock()
Returns
| Type | Description |
|---|---|
| byte[] | Data block with last 4 bytes including the 32-bit CRC calculated value |