FAI/IGC Flight Recorder Data Format (igc)

FAI/IGC Data File -- Used by the international gliding
community to record gliding flights. IGC files can be converted to
and from tracks representing recorded flights, and routes representing
task declarations in other formats.

GPSBabel can be used to translate data in IGC format to and from various other
formats.

Routes in other formats are used to represent IGC task declarations.

Tracks in other formats are used to represent IGC recorded flights.

Converting to IGC format

IGC files generated by GPSBabel will NOT pass security validation tests since
the data they contain cannot be proven to originate from an approved flight
recorder. For most software applications that use IGC files this is not an
issue but for competition scoring, record and badge claims the generated files
will not be accepted as proof of a flight.

A track stored in another format (GPX for example) representing a recorded
flight can be converted into an IGC file:

gpsbabel -i gpx -f mytrk.gpx -o igc -F myflight.igc

If multiple track segments are provided in the input file, the one with the
most points will be used.

A route stored in another format representing a task declaration can be
converted into an IGC file:

gpsbabel -i gpx -f myrte.gpx -o igc -F mytask.igc

A route and a track in other formats can be included into a single IGC file:

gpsbabel -i gpx -f mytrk.gpx -f myrte.gpx -o igc -F myflight.igc

A similar result can be obtained by downloading the track log and routes
directly from a GPS device connected to a PC. For example to create an IGC
file from data recorded in a Garmin GPS connected to the first serial port of
a PC running Linux:

gpsbabel -t -r -i garmin -f /dev/ttyS0 -o igc -F myflight.igc

For Windows operating systems:

gpsbabel -t -r -i garmin -f com1 -o igc -F myflight.igc

A waypoint file in another format containing a waypoint whose short name is
"PILOT" can be merged into an IGC file. The description field of the waypoint
will be used for the pilot name in the IGC file header:

Some formats such as GPX allow routes, tracks and waypoints to exist in the
same file and can be used to fully populate an IGC file:

gpsbabel -i gpx -f myall.gpx -o igc -F myflight.igc

Converting from IGC format

Data in an IGC file can be converted into other formats. For example to
generate OziExplorer files containing tracks representing the recorded
flight (myozi.plt) and routes representing declared tasks (myozi.rte):

gpsbabel -i igc -f myflight.igc -o ozi -F myozi

Or to GPX format:

gpsbabel -i igc -f myflight.igc -o gpx -F myflight.gpx

Header information from the IGC file will be written to the description field
of the track(s).

If both pressure altitude and GNSS altitude are recorded in the IGC file, two
tracks will be written to the new track file, representing the two altitude
tracks. The latitude, longitude and timestamps in the tracks will be identical.

Merging into IGC format

A route stored in another format can be merged with an existing IGC file that
has no task declaration, to generate a new IGC file with a task declaration:

A two dimensional (lat/lon) track recorded during a flight by a GPS receiver
can be merged with a one dimensional (altitude) track recorded during the same
flight by a barograph instrument. The result is a three dimensional IGC file
representing the flight:

gpsbabel -i gpx -f baro.gpx -i igc -f my2D.igc -o igc -F my3D.igc

The same can be acheived by downloading directly from a barograph instrument
supported by GPSBabel. For example with a Brauniger IQ Comp GPS variometer:

timeadj option

(integer sec or 'auto') Barograph to GPS time diff.

Sometimes there is a discrepancy between the internal clock in the barograph
instrument and GPS time which can result in the altitude and ground positions
not correlating correctly. This can be corrected manually by passing the time
difference in seconds between the two time domains through the "timeadj"
parameter. This can be any positive or negative integer: