# CifpLocalizer

ILS/LOC localizer and glide slope facility records for airports, containing frequency, position, bearing, and approach category data

**Source:** CIFP table `CIFP_LOCALIZER` · version `239462ba9c35` · effective 2026-04-16

> Section code PI indicates ILS/LOC records. Coordinates are encoded as NDDMMSSCC (degrees, minutes, seconds, hundredths). Bearings, widths, and angles are encoded as scaled integers (e.g., bearing 1925 = 192.5 degrees, glide slope angle 300 = 3.00 degrees, localizer width 0510 = 5.10 degrees).

## Example query

```graphql
# Introspect the CifpLocalizer type in GraphiQL at https://api.nav.sortie.co/graphql
# Example shape (pair with a compatible root query field):
{
  # ...rootQuery... {
    recordType
    customerAreaCode
    sectionCode
    airportIdentifier
  # }
}
```

Run at https://api.nav.sortie.co/graphql (GraphiQL available in-browser).

## Fields

| Field | Type | Description | Units | Enum |
|---|---|---|---|---|
| `recordType` | `RecordType` | ARINC 424 record type indicator; S=Standard record |  | `S`=Standard record |
| `customerAreaCode` | `CustomerAreaCode` | Geographic area code identifying the region of the world for which the data applies |  | `CAN`=Canada; `LAM`=Latin America and Mexico; `PAC`=Pacific (non-Hawaii); `SPA`=South Pacific Area; `USA`=United States |
| `sectionCode` | `CifpLocalizerSectionCode` | ARINC 424 section code identifying the type of record; PI indicates ILS/Localizer records |  | `PI`=ILS/Localizer |
| `airportIdentifier` | `String` | ICAO identifier of the airport at which the ILS/localizer facility is located |  |  |
| `icaoCode` | `CifpLocalizerIcaoCode` | ICAO region code identifying the geographic region of the airport |  | `K1`, `K2`, `K3`, … (12 values) |
| `localizerIdentifier` | `String` | Four-character identifier of the localizer facility (e.g., IBET, IBRW) |  |  |
| `ilsCategory` | `IlsCategory` | ILS approach category indicating precision capability of the ILS system |  | `0`=LOC only (no glide slope / non-precision localizer); `1`=ILS Category I; `2`=ILS Category II; `3`=ILS Category III; `A`=IGS (Instrument Guidance System); `L`=LDA (Localizer-type Directional Aid) |
| `continuationRecordNo` | `String` | Continuation record number; 0 indicates the primary record, values 1 and above indicate continuation records with additional data |  |  |
| `localizerFrequency` | `LocalizerFrequency` | Localizer transmitter frequency encoded as an integer by multiplying MHz by 100 (e.g., 11150 = 111.50 MHz) | MHz (scaled by 100) | `10830`, `10835`, `10850`, … (38 values) |
| `runwayIdentifier` | `String` | Identifier of the runway served by this localizer (e.g., RW27, RW08, RW19R) |  |  |
| `localizerLatitude` | `String` | Latitude of the localizer antenna encoded as NDDMMSSCC or SDDMMSSCC (hemisphere, degrees, minutes, seconds, hundredths of seconds) | degrees (encoded) |  |
| `localizerLongitude` | `String` | Longitude of the localizer antenna encoded as EDDDMMSSCC or WDDDMMSSCC (hemisphere, degrees, minutes, seconds, hundredths of seconds) | degrees (encoded) |  |
| `localizerBearing` | `String` | Front course bearing of the localizer in tenths of degrees (e.g., 1925 = 192.5 degrees true) | degrees true (scaled by 10) |  |
| `glideSlopeLatitude` | `String` | Latitude of the glide slope antenna encoded as NDDMMSSCC or SDDMMSSCC (hemisphere, degrees, minutes, seconds, hundredths of seconds) | degrees (encoded) |  |
| `glideSlopeLongitude` | `String` | Longitude of the glide slope antenna encoded as EDDDMMSSCC or WDDDMMSSCC (hemisphere, degrees, minutes, seconds, hundredths of seconds) | degrees (encoded) |  |
| `localizerPosition` | `String` | Distance of the localizer antenna from the stop end of the runway in tens of feet (e.g., 1306 = 1306 tens of feet; actual distance in feet when divided by scaling factor) | feet |  |
| `localizerPositionReference` | `String` | Reference point used for the localizer position measurement; null when not specified |  |  |
| `glideSlopePosition` | `String` | Distance of the glide slope antenna from the runway threshold along the runway centerline in tens of feet | feet |  |
| `localizerWidth` | `String` | Full-scale course width of the localizer signal in hundredths of degrees (e.g., 0510 = 5.10 degrees) | degrees (scaled by 100) |  |
| `glideSlopeAngle` | `GlideSlopeAngle` | Glide slope angle in hundredths of degrees (e.g., 300 = 3.00 degrees, 350 = 3.50 degrees) | degrees (scaled by 100) | `205`, `250`, `260`, … (26 values) |
| `stationDeclination` | `StationDeclination` | Magnetic variation at the localizer station, expressed as E (east) or W (west) followed by four digits in tenths of degrees (e.g., E0110 = 11.0 degrees east, W0050 = 5.0 degrees west) | degrees (scaled by 10) | `E0000`, `E0010`, `E0020`, … (42 values) |
| `glideSlopeHeightAtLandingThreshold` | `String` | Height of the glide slope above the runway landing threshold at the threshold crossing point (Threshold Crossing Height, TCH) | feet AGL |  |
| `glideSlopeElevation` | `String` | Elevation of the glide slope antenna above mean sea level, encoded as a 5-digit integer in feet (e.g., 00106 = 106 feet MSL) | feet MSL |  |
| `supportingFacilityId` | `String` | Identifier of a supporting navaid facility (e.g., DME or VOR) associated with this ILS; null if not applicable |  |  |
| `supportingFacilityIcaoCode` | `String` | ICAO region code for the supporting facility; null if no supporting facility is specified |  |  |
| `supportingFacilitySectionCode` | `String` | ARINC 424 section code indicating the type of the supporting facility (e.g., VD for VOR/DME, DB for NDB); null if no supporting facility is specified |  |  |
| `fileRecordNo` | `String` | Sequential record number within the ARINC 424 data file, used for traceability and ordering |  |  |
| `cycleDate` | `String` | AIRAC cycle date in YYMM format indicating the 28-day cycle when this record was last updated (e.g., 1707 = 7th cycle of 2017) |  |  |

## Enum values

### `icaoCode` (`CifpLocalizerIcaoCode`)

| Code | Description |
|---|---|
| `K1` | Contiguous United States (western) |
| `K2` | Contiguous United States (north-central) |
| `K3` | Contiguous United States (south-central) |
| `K4` | Contiguous United States (eastern) |
| `K5` | Contiguous United States (southeastern) |
| `K6` | Contiguous United States (north-eastern) |
| `K7` | Contiguous United States (other) |
| `NS` | Pacific Islands (US-administered) |
| `PA` | Alaska |
| `PG` | Guam and Mariana Islands |
| `PH` | Hawaii |
| `TJ` | Puerto Rico and US Virgin Islands |

### `localizerFrequency` (`LocalizerFrequency`)

| Code | Description |
|---|---|
| `10830` | 108.30 MHz |
| `10835` | 108.35 MHz |
| `10850` | 108.50 MHz |
| `10855` | 108.55 MHz |
| `10870` | 108.70 MHz |
| `10875` | 108.75 MHz |
| `10890` | 108.90 MHz |
| `10895` | 108.95 MHz |
| `10910` | 109.10 MHz |
| `10915` | 109.15 MHz |
| `10930` | 109.30 MHz |
| `10935` | 109.35 MHz |
| `10950` | 109.50 MHz |
| `10955` | 109.55 MHz |
| `10970` | 109.70 MHz |
| `10975` | 109.75 MHz |
| `10990` | 109.90 MHz |
| `10995` | 109.95 MHz |
| `11010` | 110.10 MHz |
| `11015` | 110.15 MHz |
| `11030` | 110.30 MHz |
| `11035` | 110.35 MHz |
| `11050` | 110.50 MHz |
| `11055` | 110.55 MHz |
| `11070` | 110.70 MHz |
| `11075` | 110.75 MHz |
| `11090` | 110.90 MHz |
| `11095` | 110.95 MHz |
| `11110` | 111.10 MHz |
| `11115` | 111.15 MHz |
| `11130` | 111.30 MHz |
| `11135` | 111.35 MHz |
| `11150` | 111.50 MHz |
| `11155` | 111.55 MHz |
| `11170` | 111.70 MHz |
| `11175` | 111.75 MHz |
| `11190` | 111.90 MHz |
| `11195` | 111.95 MHz |

### `glideSlopeAngle` (`GlideSlopeAngle`)

| Code | Description |
|---|---|
| `205` | 2.05 degrees |
| `250` | 2.50 degrees |
| `260` | 2.60 degrees |
| `261` | 2.61 degrees |
| `275` | 2.75 degrees |
| `280` | 2.80 degrees |
| `283` | 2.83 degrees |
| `285` | 2.85 degrees |
| `290` | 2.90 degrees |
| `295` | 2.95 degrees |
| `298` | 2.98 degrees |
| `300` | 3.00 degrees |
| `308` | 3.08 degrees |
| `309` | 3.09 degrees |
| `310` | 3.10 degrees |
| `314` | 3.14 degrees |
| `315` | 3.15 degrees |
| `320` | 3.20 degrees |
| `325` | 3.25 degrees |
| `340` | 3.40 degrees |
| `350` | 3.50 degrees |
| `354` | 3.54 degrees |
| `355` | 3.55 degrees |
| `360` | 3.60 degrees |
| `380` | 3.80 degrees |
| `392` | 3.92 degrees |

### `stationDeclination` (`StationDeclination`)

| Code | Description |
|---|---|
| `E0000` | 0.0 degrees (no variation, east) |
| `E0010` | 1.0 degree east |
| `E0020` | 2.0 degrees east |
| `E0030` | 3.0 degrees east |
| `E0040` | 4.0 degrees east |
| `E0050` | 5.0 degrees east |
| `E0060` | 6.0 degrees east |
| `E0070` | 7.0 degrees east |
| `E0080` | 8.0 degrees east |
| `E0090` | 9.0 degrees east |
| `E0100` | 10.0 degrees east |
| `E0110` | 11.0 degrees east |
| `E0120` | 12.0 degrees east |
| `E0130` | 13.0 degrees east |
| `E0140` | 14.0 degrees east |
| `E0150` | 15.0 degrees east |
| `E0160` | 16.0 degrees east |
| `E0170` | 17.0 degrees east |
| `E0180` | 18.0 degrees east |
| `E0190` | 19.0 degrees east |
| `E0200` | 20.0 degrees east |
| `E0210` | 21.0 degrees east |
| `W0000` | 0.0 degrees (no variation, west) |
| `W0010` | 1.0 degree west |
| `W0020` | 2.0 degrees west |
| `W0030` | 3.0 degrees west |
| `W0040` | 4.0 degrees west |
| `W0050` | 5.0 degrees west |
| `W0060` | 6.0 degrees west |
| `W0070` | 7.0 degrees west |
| `W0080` | 8.0 degrees west |
| `W0090` | 9.0 degrees west |
| `W0100` | 10.0 degrees west |
| `W0110` | 11.0 degrees west |
| `W0120` | 12.0 degrees west |
| `W0130` | 13.0 degrees west |
| `W0140` | 14.0 degrees west |
| `W0150` | 15.0 degrees west |
| `W0160` | 16.0 degrees west |
| `W0170` | 17.0 degrees west |
| `W0180` | 18.0 degrees west |
| `W0190` | 19.0 degrees west |

## Column provenance

Every field maps 1:1 to a column in the `CIFP_LOCALIZER` table of `nasr.db`. Original FAA column names:

| GraphQL field | SQLite column |
|---|---|
| `recordType` | `RECORD_TYPE` |
| `customerAreaCode` | `CUSTOMER_AREA_CODE` |
| `sectionCode` | `SECTION_CODE` |
| `airportIdentifier` | `AIRPORT_IDENTIFIER` |
| `icaoCode` | `ICAO_CODE` |
| `localizerIdentifier` | `LOCALIZER_IDENTIFIER` |
| `ilsCategory` | `ILS_CATEGORY` |
| `continuationRecordNo` | `CONTINUATION_RECORD_NO` |
| `localizerFrequency` | `LOCALIZER_FREQUENCY` |
| `runwayIdentifier` | `RUNWAY_IDENTIFIER` |
| `localizerLatitude` | `LOCALIZER_LATITUDE` |
| `localizerLongitude` | `LOCALIZER_LONGITUDE` |
| `localizerBearing` | `LOCALIZER_BEARING` |
| `glideSlopeLatitude` | `GLIDE_SLOPE_LATITUDE` |
| `glideSlopeLongitude` | `GLIDE_SLOPE_LONGITUDE` |
| `localizerPosition` | `LOCALIZER_POSITION` |
| `localizerPositionReference` | `LOCALIZER_POSITION_REFERENCE` |
| `glideSlopePosition` | `GLIDE_SLOPE_POSITION` |
| `localizerWidth` | `LOCALIZER_WIDTH` |
| `glideSlopeAngle` | `GLIDE_SLOPE_ANGLE` |
| `stationDeclination` | `STATION_DECLINATION` |
| `glideSlopeHeightAtLandingThreshold` | `GLIDE_SLOPE_HEIGHT_AT_LANDING_THRESHOLD` |
| `glideSlopeElevation` | `GLIDE_SLOPE_ELEVATION` |
| `supportingFacilityId` | `SUPPORTING_FACILITY_ID` |
| `supportingFacilityIcaoCode` | `SUPPORTING_FACILITY_ICAO_CODE` |
| `supportingFacilitySectionCode` | `SUPPORTING_FACILITY_SECTION_CODE` |
| `fileRecordNo` | `FILE_RECORD_NO` |
| `cycleDate` | `CYCLE_DATE` |
