Skip to content
View in the app

A better way to browse. Learn more.

The AVSIM Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

.fpl flightplan format?

Featured Replies

I know there is a example file LFATLFRG.fpl, but that is for a different country (not US), and I am having a hard time creating one for U.S airports. When I try to import it, it complains about waypoint errors. Also, I am not sure why the example file contains lat/lon for the waypoints. If these are already in the database, why are they also specified in the file? Can someone share a simple flightplan file for the US? Thanks.

 

Hi,

The FPL file is an XML using a specific format indicated in the header.

It seems the address has changed from what the GNS is writing or reading. A quick google search gives:

https://www8.garmin.com/xmlschemas/FlightPlanv1.xsd

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www8.garmin.com/xmlschemas/FlightPlan/v1" xmlns:fp="http://www8.garmin.com/xmlschemas/FlightPlan/v1" targetNamespace="http://www8.garmin.com/xmlschemas/FlightPlan/v1" elementFormDefault="qualified">
  <xsd:annotation>
    <xsd:documentation>
      To transform a FlightPlan v1 XML document to GPX format a stylesheet will exist
      on the Garmin website.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:element name="flight-plan" type="FlightPlan_t">
    <xsd:key name="WaypointIdKey">
      <xsd:annotation>
        <xsd:documentation>
          This key requires that the identifier, type, and country-codes values 
          be unique in the waypoint table.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:selector xpath="fp:waypoint-table/fp:waypoint" />
      <xsd:field xpath="fp:identifier" />
      <xsd:field xpath="fp:type" />
      <xsd:field xpath="fp:country-code" />
    </xsd:key>
    <xsd:keyref name="WaypointIdKeyRef" refer="WaypointIdKey">
      <xsd:annotation>
        <xsd:documentation>
          This key requires the route-point values be in the waypoint table.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:selector xpath="fp:route/fp:route-point" />
      <xsd:field xpath="fp:waypoint-identifier" />
      <xsd:field xpath="fp:waypoint-type" />
      <xsd:field xpath="fp:waypoint-country-code" />
    </xsd:keyref>
  </xsd:element>
  <xsd:complexType name="FlightPlan_t">
    <xsd:sequence>
      <xsd:element name="file-description" type="xsd:string" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation>
            This element is for reference only and is ignored by the device.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="author" type="Person_t" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation>
            The person or organization who created this flight plan.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="link" type="xsd:anyURI" minOccurs="0" />
      <xsd:element name="created" type="UtcTime_t" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation>
            The creation date and time of this flight plan.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="waypoint-table" type="WaypointTable_t" />
      <xsd:element name="route" type="Route_t" minOccurs="0" />
      <xsd:element name="extensions" type="Extensions_t" minOccurs="0" />
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="WaypointTable_t">
    <xsd:annotation>
      <xsd:documentation>
        An unordered list of unique waypoints referenced by a flight plan.
        This table may also contain waypoints not referenced by the route
        of a flight plan.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="waypoint" type="Waypoint_t" maxOccurs="3000">
        <xsd:annotation>
          <xsd:documentation>
            Different Garmin devices have differnt limits on the number of
            user waypoints allowed.  If the number of waypoints in the XML
            file exceeds the limits of the device then only the allowable number
            will be transfered to the device's user waypoint list.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="Waypoint_t">
    <xsd:sequence>
      <xsd:element name="identifier" type="Identifier_t" />
      <xsd:element name="type" type="WaypointType_t" />
      <xsd:element name="country-code" type="CountryCode_t">
        <xsd:annotation>
          <xsd:documentation>
            The country code should be the empty string for user waypoints.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="lat" type="Latitude_t" />
      <xsd:element name="lon" type="Longitude_t" />
      <xsd:element name="comment" type="Comment_t">
        <xsd:annotation>
          <xsd:documentation>
            User waypoint comments.  This will be transferable to the 
            device with this field.  Not all Garmin devices allow the 
            same number of characters, if the limit of the device is 
            less than the length of the comment then the value will be truncated.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="elevation" type="xsd:decimal" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation>
            Elevation (in meters) of the waypoint. This value is ignored by
            panel mount devices.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="waypoint-description" type="xsd:string" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation>
            This field is for reference only and is ignored by the device.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="symbol" type="xsd:string" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation>
            This field contains the text name of the waypoint symbol.  
            For interchange with other programs, use the exact spelling
            of the symbol as displayed on the device.  If the device
            abbreviates words, spell them out. This element will be 
            ignored by Garmin devices which do not accept the symbol
            element.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="extensions" type="Extensions_t" minOccurs="0" />
    </xsd:sequence>
  </xsd:complexType>
  <xsd:simpleType name="WaypointType_t">
    <xsd:restriction base="xsd:string">
      <xsd:enumeration value="USER WAYPOINT" />
      <xsd:enumeration value="AIRPORT" />
      <xsd:enumeration value="NDB" />
      <xsd:enumeration value="VOR" />
      <xsd:enumeration value="INT" />
      <xsd:enumeration value="INT-VRP" />
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:complexType name="Route_t">
    <xsd:sequence>
      <xsd:element name="route-name" type="RouteName_t" />
      <xsd:element name="route-description" type="xsd:string" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation>
            This element is for reference only and is ignored by the device.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="flight-plan-index" type="FlightPlanIndex_t">
        <xsd:annotation>
          <xsd:documentation>
            This element will be ignored by handheld devices.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="route-point" type="RoutePoint_t" maxOccurs="300">
        <xsd:annotation>
          <xsd:documentation>
            The list of waypoints in the route in order of traversal. 
            Different Garmin devices have different limits on the number of
            waypoints allowed in a route.  If the number of route-points in
            the XML document exceeds the limits of the device then only the 
            allowable number will be transfered to the device's flight plan.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="extensions" type="Extensions_t" minOccurs="0" />
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="RoutePoint_t">
    <xsd:sequence>
      <xsd:element name="waypoint-identifier" type="Identifier_t" />
      <xsd:element name="waypoint-type" type="WaypointType_t" />
      <xsd:element name="waypoint-country-code" type="CountryCode_t" />
      <xsd:element name="extensions" type="Extensions_t" minOccurs="0" />
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="Person_t">
    <xsd:annotation>
      <xsd:documentation>
        A person or organization.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="author-name" type="xsd:string" minOccurs="0" />
      <xsd:element name="email" type="Email_t" minOccurs="0" />
      <xsd:element name="link" type="xsd:anyURI" minOccurs="0" />
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="Email_t">
    <xsd:annotation>
      <xsd:documentation>
        An email address.  Broken into two parts (id and domain) to help prevent 
        email harvesting.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:attribute name="id" type="xsd:string" use="required">
      <xsd:annotation>
        <xsd:documentation>
		     id part of email address (billgates2004)
	      </xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
    <xsd:attribute name="domain" type="xsd:string" use="required">
      <xsd:annotation>
        <xsd:documentation>
		      domain part of email address (hotmail.com)
	      </xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
  </xsd:complexType>
  <xsd:simpleType name="Identifier_t">
    <xsd:restriction base="xsd:string">
      <xsd:pattern value="[A-Z0-9]{1,12}" />
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="CountryCode_t">
    <xsd:restriction base="xsd:string">
      <xsd:pattern value="([A-Z0-9]{2})|" />
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="Comment_t">
    <xsd:restriction base="xsd:string">
      <xsd:pattern value="([A-Z0-9 /]{1,25})|" />
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="RouteName_t">
    <xsd:restriction base="xsd:string">
      <xsd:pattern value="([A-Z0-9 /]{1,25})|" />
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="Latitude_t">
    <xsd:annotation>
      <xsd:documentation>
        Units are decimal degrees relative to the equator, WGS84 datum,
        north positive.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:restriction base="xsd:decimal">
      <xsd:minInclusive value="-90.0" />
      <xsd:maxInclusive value="90.0" />
      <xsd:whiteSpace value="collapse" />
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="Longitude_t">
    <xsd:annotation>
      <xsd:documentation>
        Units are decimal degrees relative to the prime meridian, WGS84 datum,
        east positive.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:restriction base="xsd:decimal">
      <xsd:minInclusive value="-180.0" />
      <xsd:maxInclusive value="180.0" />
      <xsd:whiteSpace value="collapse" />
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="FlightPlanIndex_t">
    <xsd:annotation>
      <xsd:documentation>
        The default value is 1.  This number identifies the location in the 
        flight plan index within the device for which the flight plan route
        will be stored.  
      </xsd:documentation>
    </xsd:annotation>
    <xsd:restriction base="xsd:nonNegativeInteger">
      <xsd:minInclusive value="1" />
      <xsd:maxExclusive value="99" />
      <xsd:whiteSpace value="collapse" />
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="UtcTime_t"> 
    <xsd:annotation>
      <xsd:documentation>
        A UTC date and time value.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:restriction base="xsd:dateTime">
      <xsd:pattern value=".+Z" />
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:complexType name="Extensions_t">
    <xsd:annotation>
      <xsd:documentation>
        This type provides the ability to extend any data type that includes it.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
    </xsd:sequence>
  </xsd:complexType>
</xsd:schema>

 

Try using LittleNavMap to create the flightplan and then export it to the Garmin GNS format.

 

Example:

 

<file-description>Created by Little Navmap Version 2.2.4 (revision 5ae9b03) on 2019 10 02T20:52:04</file-description>
  <created>2019-10-03T03:52:04Z</created>
  <waypoint-table>
    <waypoint>
      <identifier>CYCD</identifier>
      <type>AIRPORT</type>
      <country-code>CY</country-code>
      <lat>49.052223</lat>
      <lon>-123.870277</lon>
      <comment></comment>
    </waypoint>
    <waypoint>
      <identifier>CYYJ</identifier>
      <type>AIRPORT</type>
      <country-code>CY</country-code>
      <lat>48.647690</lat>
      <lon>-123.426765</lon>
      <comment></comment>
    </waypoint>
    <waypoint>
      <identifier>KORS</identifier>
      <type>USER WAYPOINT</type>
      <country-code></country-code>
      <lat>48.708160</lat>
      <lon>-122.910461</lon>
      <comment></comment>
    </waypoint>
  </waypoint-table>
  <route>
    <route-name>CYCD / CYYJ</route-name>
    <flight-plan-index>1</flight-plan-index>
    <route-point>
      <waypoint-identifier>CYCD</waypoint-identifier>
      <waypoint-type>AIRPORT</waypoint-type>
      <waypoint-country-code>CY</waypoint-country-code>
    </route-point>
    <route-point>
      <waypoint-identifier>KORS</waypoint-identifier>
      <waypoint-type>USER WAYPOINT</waypoint-type>
      <waypoint-country-code></waypoint-country-code>
    </route-point>
    <route-point>
      <waypoint-identifier>CYYJ</waypoint-identifier>
      <waypoint-type>AIRPORT</waypoint-type>
      <waypoint-country-code>CY</waypoint-country-code>
    </route-point>
  </route>
</flight-plan>

 

Edited by RXP

Bert

  • 6 months later...

Is there documentation somewhere that explains what the .fpl structure/format types are:

1 AIRPORT

2 NDB

3 VOR

11 NAMED FIX

28 UNNAMED WAYPOINTS

? INT <------ what does this mean? what is it's numeric value?

? INT-VRP <------ what does this mean? what is it's numeric value?

 

Edited by rfresh737

Ralph Freshour

www.GMTPilots.com

  • 1 month later...

I'm afraid there is no other information than this.

update: have you tried searching online for INT-VRP because I did find some answers right away.

https://www.qwant.com/?q=waypoint+INT-VRP

Edited by RXP

Archived

This topic is now archived and is closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.