igc
FAI Compliant IGC file parser.
Implemented version: 2020-11-25
-
[ ] IGC File parsing:
- [x] A record - Flight Recorder Identification
- [x] H record - Headers
- [x] I record - Additions to the B record
- [x] J record - Additions to the K record
- [x] C record - Task
- [x] G record - Security
- [x] B record - Fixes
- [ ] E record - Events
- [ ] F record - Satellite Constellations
- [x] K record - Data needed less frequently than fixes
- [ ] L record - Comments
- [ ] D record - Differential GNSS
-
[ ] IGC File writing
Installation
-
Add the dependency to your
shard.yml
:dependencies: igc: github: albertorestifo/igc.cr
-
Run
shards install
Usage
require "igc"
parsed = File.open("my_flight.igc") do |file|
IGC.parse(file)
end
pp parsed.fixes # => prints out all the fixes in the file
The result of calling IGC.parse
is an instance of IGC::File
, with properties:
flight_recorder_id
: Identifier of the device that recorded the IGC dataheaders
: Metadata contained in the filetask
: Task definition (if present)fixes
: Array of fixes recorded in the filedatapoints
: Extra data recorded at regular intervals
Contributing
- Fork it (https://github.com/albertorestifo/igc.cr/fork)
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request
Contributors
- Alberto Restifo - creator and maintainer