@primozs/igclog
v1.0.0
Published
igc free flight logbook
Readme
IGCLog
Terminal tool to generate spreadsheet flight logbook from igc files. If your tracklogs are spread across your drive, this tool can also help you find them.
- Synchronize your tracklogs across devices with Syncthing
- Use
igclogto generate the logbook spreadsheet file. - If you run this to the server, you can synchronize the result to your devices.

Install
Use executables in packages folder:
Optional arguments
-d --directory Set the directory from which to begin searching. By default, starting-point is "."
-f --onlyFindIGCFiles Find and list igc files
-z --deleteMeta Delete meta json files
-c --configuration Set default configuration
-y --yes Skip prompts
-a --authenticate Authenticate api for elevation data
-e --elevations Query elevation data. Requires authentication
-g --generateCsv Generate CSV file
-r --recalculateFrom Recalculate from date
-s --displaySettings Display settings
-i --setInitialValues Set initial starting total distance duration number of flights
-w --watchMode Files watch mode. For linux daemon "$ nohup igclog -d ./data/ -w >/tmp/igclog.out 2>/tmp/igclog.error&"
-h --help Help
-v --version Version
Examples
- Generate logbook:
$ igclog -d ./data - Find igc files:
$ igclog -f -d ./data - Set default configuration (pilot name, glider):
$ igclog -c - Delete cached meta files generated by IGCLog:
$ igclog -z -d ./data
Manual flight logs
To manually log a flight without igc create a file in Tracklogs folder. <filename_of_your_choose>.manual.json. To overriding igc metadata create a file with the same name as igc file <2018-04-29-XCM-EBC-01.igc>.manual.json
Inside this manual flight json file define object with these all optional properties.
type FlightMeta = {
distance: number; // meters
duration: number | null; // seconds
date: string; // without date, date now is used. iso format
glider: string | null;
landing_date: string | null; // iso format
landing_pos: number[] | null; // [lon, lat]
landing_location: string;
max_altitude: number | null;
pilot: string | null;
copilot: string | null;
takeoff_date: string | null; // without takeoff_date, date now is used. iso format
takeoff_pos: number[] | null;
takeoff_location: string;
timezone: number | null;
filename: string;
numFlight: number | null;
registration: string | null;
callsign: string | null;
competitionClass: string | null;
loggerId: string | null;
loggerManufacturer: string | null;
xcDistance: number | null;
xcScore: number | null;
xcType: string | null;
xcCode: string | null;
best_thermal_avg_vario: number | null;
sport: string | null;
};Develop
git clone...
yarn build
npm link