Skip to content

a set of tools to convert ".igc" flight logs into Tacview's ".acmi" format

License

Notifications You must be signed in to change notification settings

mrschick/igc2acmi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

igc2acmi

A set of tools to convert XCSoar's, FLARM's and multiple other vendors' .igc GPS flight logs into Tacview's .acmi format.

The Goal

.igc is simple format, useful for recording the flight of a single aircraft, but has its limits.

.klm, which can be parsed from .igc using other online utilities, may be more visually appealing when viewed in Google Earth, but still isn't as useful for flight debriefing as I'd like to.

For these reasons, I decided to develop igc2acmi, it converts one or more .igc logs into Tacview's .acmi flight recording format, which is specifically designed to efficiently store multiple GPS tracks, its software also provides very useful debriefing features such as:

  • customizable labels to display AMSL/AGL Altitude, Vertical Speed, Calibrated Air Speed, True Airspeed, etc.
  • dynamic distance indication between 2 aircraft
  • custom terrain textures and 3D shapes, which can be used to display aviation charts and airspace models: Tacview flight with custom terrain and airspace shapes
  • online debriefs, where multiple people can observe a flight from a shared perspective

The Programs

the ProgramName.exe -h/--help command will explain the different command-line arguments of each program.

igc2acmi

converts a single .igc file into .acmi, useful when you want to convert a specific file using specific settings.

convert-all-igcs

converts all .igc files in the program's directory (or a given input path) into an equal number of .acmi files. Useful when you need to convert multiple flights at once, all with the same settings.

combine-igcs

arguably the most complex utility of the 3, it finds all .igc files in the program's directory (or a given input path), sorts them by date of flight and combines all flights started on the same date into a single .acmi file, the timeline starts with the first GPS fix of the first flight and ends with the last fix of the last one.

Aeroclubs may find the greatest utility in this feature, for example by collecting everyone's .igc (with pilot consent of course) every day and combining them, to store/archive flights for collective debriefs and/or longer-term analysis of pilot activity.

Known limitations

Until now, I have only tested my project on .igc logs recorded by XCSoar (my own) and FLARM (a collegue's). All of the FLARM logs had an invalid date field of "000000" in their header, which the programs are not capable of handling (yet).

Maybe that has been resolved by newer FLARM versions, or was caused by incorrect setup of the FLARM module. In the meantime, make sure your .igc files have a valid date in their "HFDTE" line, using the "DDMMYY" format (i.e: "HFDTE221121" for 22nd November 2021).

Sources and How to Contribute

Development of this project was significantly aided by available documentation for the igc and acmi file formats, many thanks to their authors.

The released executables are compiled with pyinstaller using build.bat.

Feel free to fork this project for your own uses, any Pull Requests back to the original repository would be greatly appreciated!

To-Do List

  • Add --version command that displays version number (and maybe release date)
  • Implement parsing of igc tasks and events into acmi events
  • Improve and augment error handling, i.e: for flights with missing/invalid date fields in their header
  • Add a way for the user to determine the output file's name or name template

About

a set of tools to convert ".igc" flight logs into Tacview's ".acmi" format

Resources

License

Stars

Watchers

Forks