Airport Charts
Restrictions/LimitationsRead the “Restrictions/Limitations” section
The Navigraph Charts API provides access to Navigraph Charts in external client applications. Due to licensing conditions with our data providers, such applications are limited to those that are part of a virtual environment, such as an EFB displayed inside a virtual cockpit. To use the API, the end user signs in with his or her Navigraph account in the client application, and if the end user has a valid Navigraph Ultimate subscription, full access is granted. If the end user does not have a valid subscription, the end user may access two demo airports, NZWN and YBBN. Users who have not logged in to their Navigraph account may not access our services at all.
Charts must not be stored, cached or be accessible offline. We only support online usage of our content. Charts must be fetched from server when requested to be displayed by the end user.
Accessing the APIRead the “Accessing the API” section
Checking if the user has a valid subscriptionRead the “Checking if the user has a valid subscription” section
For a user to be able to view charts from airports other than the two demo airports NZWN and YBBN, the user needs an active Navigraph Ultimate subscription. Without an ongoing subscription, the APIs will return a demo image when requesting a chart that the user does not have access to. This can be verified by looking at the subscriptions claim in the decoded access token. If the array contains charts, then the user have access.
"subscriptions": [
"fmsdata",
"charts"
]
Getting information about airportsRead the “Getting information about airports” section
To get information about airports you can use the /airport endpoint like this:
GET /v2/airport/NZWN HTTP/1.1
Host: api.navigraph.com
Authorization: Bearer <access-token>
Here is a snippet showing the information for the airport NZWN.
{
"icao_airport_identifier": "NZWN", // Unique airport icao identifier (4 Characters)
"iata_airport_designator": "WLG", // Airport IATA designator (3 Characters)
"longest_runway": 5955, // Longest runway in feet (1-5 numeric characters)
"latitude": -41.327222222222228, // Latitude coordinate to the airport
"longitude": 174.80527777777778, // Longitude coordinate to the airport
"magnetic_variation": 23.0, // Specifies the angular difference between True North and Magnetic North at the airport defined in the record
"elevation": 41, // Airport elevation in feet
"name": "WELLINGTON INTL", // Used to further define the record by name
"city": "WELLINGTON", // Contains the full name of a city associated with the airport identified in the record.
"state_province_code": "", // Contains the State/Province Code. For the United States, the value for the code is the same as the postal code for the given state.
"state_province_name": "",
"country_code": "NZL", // Country Code (3 Characters)
"country_name": "New Zealand",
/* Used to indicate which types of fuels are available at the airport or heliport.
Can contain (73 Octane, 80-87 Octane, 100 low lead (LL) octane, 100-130 octane, 115-145 octane, Mogas, JET, JET A, JET A-1, Jet A+,
JET B, JET 4, JET 5) and is empty if it's unknown
*/
"fuel_types": ["100 low lead (LL) octane", "JET A", "JET 5"],
/* Used to indicate what type of oxygen servicing is available at the airport or heliport.
Can contain (High Pressure, Low Pressure, High Pressure Bottle, Low Pressure Bottle) and is empty if it's unknown
*/
"oxygen": ["Low Pressure Bottle"],
/* Used to indicate which types of repairs are available at the airport or heliport.
Can contain (Minor Engine, Major Engine, Minor Airframe, Major Airframe) and is empty if it's unknown
*/
"repairs": ["Minor Engine", "Major Airframe", "Major Engine"],
/* Indicates if landing fees are charged for private or non-revenue producing aircraft. These fees will vary from no charge for aircraft below certain weight – no charge if fuel purchased – to charges for all landing aircraft. This field provides only a true/false indication, no specific details on what aircraft types must pay under what conditions are provided. */
"landing_fee": true,
/* Used to indicate if the airport/heliport is equipped with JASU and if that equipment is available to a public user of the airport/heliport */
"jet_starting_unit": false,
"precision_airport": true, // Indicates whether an airport supports precision approaches
"beacon": false, // Indicates if an airports has Beacon Lights. Beacon Lights are normally provided at any airport/heliport intended for use at night
"customs": true, // Used to provide an indication on the availability of a government customs facility at the airport
"airport_type": "Public/civil", // Can be Public/civil, Private, Military or Jointly operated public/military
"time_zone": "-12:00=UTC", // Time zone diff to Zulu time
"icao_code": "NZ", // Indicates the region that an airport is in.
"daylight_savings": true, // True if daylight savings is used
"datum_code": "WGE", // Defines the Local Horizontal Reference Datum to which the Airport Reference Point (ARP) for an airport, is associated
"revision_date": "20210305", // Format YYYYMMDD
"parsed_cycle": "2110", // To what cycle this information was parsed
"std_charts": true, // True if we have standard charts for this airport
"cao_charts": true, // True if we have CAO charts for this airport
"vfr_charts": false // True if we have VFR charts for this airport
}
Requesting and downloading charts from the APIRead the “Requesting and downloading charts from the API” section
Once we have verified that the user actually has a subscription, we can start downloading charts. Every airport has a corresponding JSON document that holds information about the charts available.
GET /v2/charts/NZWN?version=STD&rules=IFR HTTP/1.1
Host: api.navigraph.com
Authorization: Bearer <access-token>
Query ParametersRead the “Query Parameters” section
version- The chart version to retrieve. Options areSTDfor standard charts orCAOfor Commercial Airline Overlay charts. CAO charts are optimized for cat C/D aircraft and availability can be determined from thecao_chartsproperty in the airport response. More information is available here: Jeppesen_Airline_Charts_Series (PDF)rules(optional) - The flight rules to filter charts by. Options are:IFR- Return only IFR charts (default)VFR- Return only VFR chartsANY- Return both IFR and VFR charts
Here is a snippet showing the information for one chart within the charts-JSON for NZWN.
{
"charts": [
...
{
"image_day": "nzwn102_d.png", // Filename of the day version of the chart
"image_night": "nzwn102_n.png", // Filename of the night version of the chart
"thumb_day": "nzwn102_thumb_d.png", // Filename of the day version of the chart thumbnail
"thumb_night": "nzwn102_thumb_n.png", // Filename of the night version of the chart thumbnail
"icao_airport_identifier": "NZWN", // Airport ICAO code
"id": "NZWN102", // Unique chart id
"type_code": "JG", // The type of chart with higher granularity than category. See Chart Type Codes section below.
"category": "ARR", // The category the chart belongs to. Can be (ARR, DEP, REF, APT, APP)
"precision": null, // True if it's a precision approach, false if not, and null if it doens't apply (not an approach)
"index_number": "10-2", // Unique chart index number for this airport only
"name": "ATSUN 3A, DOGAD 3A, LADIT 6A RNAV ARRS",
"revision_date": "20200515", // Format YYYYMMDD
"is_georeferenced": true, // Tells if the chart is geo referenced
"width": 1508, // Width of the entire chart image
"height": 2500, // Height of the entire chart image
"bounding_boxes": { // The bounding boxes of the geo referenced area of the chart. Defined as [x1,y1,x2,y2] with origin bottom-left. Note that this can be null if the chart is not geo referenced.
"planview": { // This is the bounding box for the full geo referenced area
"pixels": { // Box area in pixels
"x1": 56,
"y1": 2442,
"x2": 1450,
"y2": 69
},
"latlng": { // Box area of the corresponding geographical coordinates.
"lng1": 174.577667,
"lat1": -41.863,
"lng2": 175.658472,
"lat2": -40.473222
}
},
"insets": [ // Inset boxes in the geo referenced area that are not to scale and therefore not geo referenced.
{
"pixels": {
"x1":90,
"y1":2413,
"x2":1446,
"y2":2218
}
},
{
"pixels": {
"x1":91,
"y1":2218,
"x2":945,
"y2":2072
}
},
{
"pixels": {
"x1":89,
"y1":708,
"x2":1451,
"y2":68
}
}
]
},
"procedures": [ // Procedures linked to this chart.
"ATSU3A",
"DOGA3A",
"LADI6A"
],
"runways": [], // Runways linked to this chart.
"image_day_url": "https://api.navigraph.com/v2/charts/NZWN/nzwn101b_d.png", // URL for the day version of the chart
"image_night_url": "https://api.navigraph.com/v2/charts/NZWN/nzwn101b_n.png", // URL for the night version of the chart
"thumb_day_url": "https://api.navigraph.com/v2/charts/NZWN/nzwn101b_thumb_d.png", // URL for the day version of the thumbnail
"thumb_night_url": "https://api.navigraph.com/v2/charts/NZWN/nzwn101b_thumb_n.png" // URL for the night version of the thumbnail
}
...
]
}
The charts array holds the meta-data for all the charts. The charts are high resolution png files. To get the day-version of the above chart we use the image_day_url property of the chart.
GET /v2/charts/NZWN/nzwn101b_d.png HTTP/1.1
Host: api.navigraph.com
Authorization: Bearer <access-token>
Chart Geo ReferencingRead the “Chart Geo Referencing” section
If the is_georeferenced property of the chart-JSON is true , the chart is geo-referenced. The bounding box for the map-area of the chart is found in the property planview which is defined as [x1, y1, x2, y2] with origin bottom-left. There can be insets on top of the map-area which are not to scale and should therefore not be considered as part of the map-area, bounding boxes for the insets (if there are any) can be found in insets.
Chart Type CodesRead the “Chart Type Codes” section
The type_code field provides fine-grained chart classification beyond the basic category. This can be used to facilitate more specific filtering of charts. Type codes also indicate whether an approach chart is a precision approach.
Approach Chart Type CodesRead the “Approach Chart Type Codes” section
| Code | Description | Precision |
|---|---|---|
01 | ILS Approach Chart | Yes |
02 | PAR Approach Chart | Yes |
03 | VOR Approach Chart | No |
04 | TACAN Approach Chart | No |
05 | Non-Precision Helicopter Approach Chart | No |
06 | NDB Approach Chart | No |
07 | DF Approach Chart | No |
08 | ASR Approach Chart | No |
09 | VOR/DME RNAV Approach Chart | No |
11 | ILS SA Cat I | Yes |
15 | Precision Helicopter Approach Chart | Yes |
1A | ILS Cat II Approach Chart | Yes |
1B | ILS Cat II and IIIA Approach Chart | Yes |
1C | ILS Cat II and IIIA and B Approach Chart | Yes |
1D | LOC Approach Chart | No |
1E | LOC Back Course Approach Chart | No |
1F | LDA Approach Chart | No |
1G | SDF Approach Chart | No |
1H | MLS Approach Chart | Yes |
1J | Visual Approach Chart (excludes CVFPS) | No |
1K | Vicinity Chart | No |
1L | RNAV Approach Chart (excludes VOR/DME RNAV) | No |
1M | Sole Use GPS Non-Precision Approach Chart | No |
1N | Sole Use FMS Approach Chart | No |
1P | ILS SA Cat II | Yes |
21 | ILS Approach or GPS Chart | Yes |
22 | PAR Approach or GPS Chart | Yes |
23 | VOR Approach or GPS Chart | No |
24 | TACAN Approach or GPS Chart | No |
25 | Helicopter Approach or GPS Chart | No |
26 | NDB Approach or GPS Chart | No |
27 | DF Approach or GPS Chart | No |
28 | ASR Approach or GPS Chart | No |
29 | VOR/DME RNAV Approach or GPS Chart | No |
2A | ILS Cat II Approach or GPS Chart | Yes |
2B | ILS Cat II and IIIA Approach or GPS Chart | Yes |
2C | ILS Cat II and IIIA and B Approach or GPS Chart | Yes |
2D | LOC Approach or GPS Chart | No |
2E | LOC Back Course Approach or GPS Chart | No |
2F | LDA Approach or GPS Chart | No |
2G | SDF Approach or GPS Chart | No |
2H | MLS Approach or GPS Chart | Yes |
2J | Visual Approach or GPS Chart | No |
2K | Vicinity or GPS Chart | No |
2N | Sole Use FMS Approach or GPS Chart | No |
6G | VFR Approach Glider/Micro-Lights | No |
6H | VFR Approach Glider/Micro-Lights Related Pages | No |
6J | VFR Approach Charts | No |
6K | VFR Approach Charts Related Pages | No |
6M | VFR Approach Charts Helicopter | No |
6N | VFR Approach Charts Helicopter Related Pages | No |
6R | VFR Special Event Approach | No |
6U | VFR Temp Approach | No |
RP | RNP Procedures | No |
RS | GLS Approach Charts | Yes |
VF | VFR Arrivals and Departures | No |
Airspace Chart Type CodesRead the “Airspace Chart Type Codes” section
| Code | Description |
|---|---|
6A | VFR Area Chart |
6B | VFR Area Chart Related Pages |
A | Area Chart |
B | Class B TCA or TMA Chart |
C | Enroute Visual Chart |
FF | CAO Quick Reference Chart |
Airport Chart Type CodesRead the “Airport Chart Type Codes” section
| Code | Description |
|---|---|
6P | VFR Primary Aerodrome Diagram |
6Q | VFR Apron Diagrams and Text Pages |
6S | VFR Special Event Aerodrome Diagram |
6V | VFR Temp Aerodrome Diagram |
AP | Airport Chart |
AF | Airport Familiarization Chart |
AQ | Airport Qualification Chart |
P | Airport Briefing Chart |
AA | Misc Airport Chart |
MG | Misc Graphic Chart |
NA | Non-Assigned Type (will be researched later) |
P1 | Cold Temperature Table |
R | Parking Gates SMGCS and Low Vis Procedure Chart |
S | Nose-In Parking and Docking Charts |
Departure Chart Type CodesRead the “Departure Chart Type Codes” section
| Code | Description |
|---|---|
6D | VFR Departure |
G | SID or DP Chart |
G2 | SID or DP or GPS Chart |
GG | RNAV or Both GPS and FMS Authorized Departure Chart |
GP | RNP SID or Departure Chart |
EO | Engine Out Procedures |
GH | Sole Use FMS Departure Chart |
OP | Opsdata Engine Failure Procedure |
Arrival Chart Type CodesRead the “Arrival Chart Type Codes” section
| Code | Description |
|---|---|
6C | VFR Arrival |
J | STAR Chart |
J2 | STAR Chart or GPS |
JG | RNAV or Both GPS and FMS Authorized Arrival Chart |
JH | Sole Use FMS Arrival Chart |
JP | RNP STAR or Arrival Chart |
Noise Chart Type CodesRead the “Noise Chart Type Codes” section
| Code | Description |
|---|---|
N | Noise Abatement Chart |
Text Chart Type CodesRead the “Text Chart Type Codes” section
| Code | Description |
|---|---|
6L | VFR Chart Related Text |
6T | VFR Special Event Related Text |
6W | VFR Temp Chart Related Text |
ST | Misc Text Pages |
TP | Terminal Text Pages |
TT | Tailored Text Pages |
Watermarking of ChartsRead the “Watermarking of Charts” section
As a small anti-piracy measure it is recommended that you apply a watermark message on top of the charts, preferably in the margin with the string "This chart is linked to Navigraph account <username>".
You will find this information by calling the userinfo endpoint:
GET /connect/userinfo HTTP/1.1
Host: identity.api.navigraph.com
Authorization: Bearer <access-token>
In the JSON structure returned you will find the username in the field preferred_username.