Developers
  1. /Charts
  2. /Airport Charts
Charts

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 are STD for standard charts or CAO for Commercial Airline Overlay charts. CAO charts are optimized for cat C/D aircraft and availability can be determined from the cao_charts property 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 charts
    • ANY - 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

CodeDescriptionPrecision
01ILS Approach ChartYes
02PAR Approach ChartYes
03VOR Approach ChartNo
04TACAN Approach ChartNo
05Non-Precision Helicopter Approach ChartNo
06NDB Approach ChartNo
07DF Approach ChartNo
08ASR Approach ChartNo
09VOR/DME RNAV Approach ChartNo
11ILS SA Cat IYes
15Precision Helicopter Approach ChartYes
1AILS Cat II Approach ChartYes
1BILS Cat II and IIIA Approach ChartYes
1CILS Cat II and IIIA and B Approach ChartYes
1DLOC Approach ChartNo
1ELOC Back Course Approach ChartNo
1FLDA Approach ChartNo
1GSDF Approach ChartNo
1HMLS Approach ChartYes
1JVisual Approach Chart (excludes CVFPS)No
1KVicinity ChartNo
1LRNAV Approach Chart (excludes VOR/DME RNAV)No
1MSole Use GPS Non-Precision Approach ChartNo
1NSole Use FMS Approach ChartNo
1PILS SA Cat IIYes
21ILS Approach or GPS ChartYes
22PAR Approach or GPS ChartYes
23VOR Approach or GPS ChartNo
24TACAN Approach or GPS ChartNo
25Helicopter Approach or GPS ChartNo
26NDB Approach or GPS ChartNo
27DF Approach or GPS ChartNo
28ASR Approach or GPS ChartNo
29VOR/DME RNAV Approach or GPS ChartNo
2AILS Cat II Approach or GPS ChartYes
2BILS Cat II and IIIA Approach or GPS ChartYes
2CILS Cat II and IIIA and B Approach or GPS ChartYes
2DLOC Approach or GPS ChartNo
2ELOC Back Course Approach or GPS ChartNo
2FLDA Approach or GPS ChartNo
2GSDF Approach or GPS ChartNo
2HMLS Approach or GPS ChartYes
2JVisual Approach or GPS ChartNo
2KVicinity or GPS ChartNo
2NSole Use FMS Approach or GPS ChartNo
6GVFR Approach Glider/Micro-LightsNo
6HVFR Approach Glider/Micro-Lights Related PagesNo
6JVFR Approach ChartsNo
6KVFR Approach Charts Related PagesNo
6MVFR Approach Charts HelicopterNo
6NVFR Approach Charts Helicopter Related PagesNo
6RVFR Special Event ApproachNo
6UVFR Temp ApproachNo
RPRNP ProceduresNo
RSGLS Approach ChartsYes
VFVFR Arrivals and DeparturesNo

Airspace Chart Type CodesRead the “Airspace Chart Type Codes” section

CodeDescription
6AVFR Area Chart
6BVFR Area Chart Related Pages
AArea Chart
BClass B TCA or TMA Chart
CEnroute Visual Chart
FFCAO Quick Reference Chart

Airport Chart Type CodesRead the “Airport Chart Type Codes” section

CodeDescription
6PVFR Primary Aerodrome Diagram
6QVFR Apron Diagrams and Text Pages
6SVFR Special Event Aerodrome Diagram
6VVFR Temp Aerodrome Diagram
APAirport Chart
AFAirport Familiarization Chart
AQAirport Qualification Chart
PAirport Briefing Chart
AAMisc Airport Chart
MGMisc Graphic Chart
NANon-Assigned Type (will be researched later)
P1Cold Temperature Table
RParking Gates SMGCS and Low Vis Procedure Chart
SNose-In Parking and Docking Charts

Departure Chart Type CodesRead the “Departure Chart Type Codes” section

CodeDescription
6DVFR Departure
GSID or DP Chart
G2SID or DP or GPS Chart
GGRNAV or Both GPS and FMS Authorized Departure Chart
GPRNP SID or Departure Chart
EOEngine Out Procedures
GHSole Use FMS Departure Chart
OPOpsdata Engine Failure Procedure

Arrival Chart Type CodesRead the “Arrival Chart Type Codes” section

CodeDescription
6CVFR Arrival
JSTAR Chart
J2STAR Chart or GPS
JGRNAV or Both GPS and FMS Authorized Arrival Chart
JHSole Use FMS Arrival Chart
JPRNP STAR or Arrival Chart

Noise Chart Type CodesRead the “Noise Chart Type Codes” section

CodeDescription
NNoise Abatement Chart

Text Chart Type CodesRead the “Text Chart Type Codes” section

CodeDescription
6LVFR Chart Related Text
6TVFR Special Event Related Text
6WVFR Temp Chart Related Text
STMisc Text Pages
TPTerminal Text Pages
TTTailored 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.