Excel Logging Spreadsheet for Gliders

A friend of mine commented the other day that he couldn’t find a decent logging application that could create log entries from IGC files.  I have a fair bit of experience with automating Excel spreadsheets using VBA (Visual Basic for Applications), and I was bored out of my skull (it’s winter, don’t you know), so I decided to try my hand at creating a simple Excel macro-enabled logging spreadsheet.

The basis for the logging application is the ability to easily parse IGC files, which are just formatted text files.  Each valid IGC file has a header section that defines things like the pilot’s name, the glider type, and the glider’s competition ID.  This is followed by a bunch of ‘B’ records, each of which encapsulates a time-stamped position fix.  The formats for all these records are well known, so parsing through them was not particularly hard.  What *was* hard, was figuring out how to get the information into the spreadsheet in a way that was obvious and user-friendly, and that is where I spent most of my time.

The screenshot below shows the latest version of the logger, with no records entered.The significant features of the logger are:

IGC logger before any files are processed

IGC logger before any files are processed

  • The ‘Start Date’, ‘End Date’ and ‘Date Range Hrs’ fill-in fields allow the user to find the total logged hours between two dates (inclusive). This is handy for insurance purposes, for instance.
  • The ‘Load From IGC…’ button brings up a standard file dialog with the filter set for *.igc.  The logger will accept single or multiple file selections in the normal Microsoft manner.  Each selected file will be processed and the pertinent information entered into the next free row on the spreadsheet.  If a free row isn’t available, one will be created
  • The ‘Check for Duplicate Filenames…’ button will search all log entries for duplicate file names.  If any are found, the dupe filenames will be highlighted in red, and the program will offer to remove them.
  • The ‘Check for Dupes by Date/Duration/Loc…’ button will search all log entries for duplicate date/duration/location combinations.  This was prompted by my friend’s realization that on several occasions he had downloaded the same flight from a backup logger, or even the same logger on a different day (producing a slightly different filename).  If any ‘probable duplicates’ are found, that entire row will be highlighted in yellow, and the program will offer to remove them.

Unfortunately, there’s no easy/consistent way to pull the location information from a random IGC file.  If the file has an embedded task, there *is* some location information, but it’s not reliable – a logger that has a task declared will write that declaration to *all* files until the declaration is changed, whether or not the declaration has anything to do with the current flight.  However, there is a partial answer to the problem, in that once a user manually enters the location information for a particular flight, the logger is smart enough to automatically copy that location information to all subsequent entries where the location embedded in the first ‘B’ record of the flight is close (within about 1 mile) of the location of another flight with a non-blank ‘Location’ entry.  So, after you have location entries for all your normal flying sites, you should never have to enter a location again ;-).

Here are some more screenshots showing other features

The program is available for free from my Google Drive site here.  It is compatible with any Windows version of Excel from Excel 2003 onward, but it *does* require that you enable macros.  If you use it, please let me know if you have any problems or have ideas for improvements.  If I get bored enough on a rainy day at a contest, I might even work on it! ;-).

TA

 

  6 comments for “Excel Logging Spreadsheet for Gliders

Comments are closed.