Crate igc_parser

Source
Expand description

§IGC Parser

A high-level parsing crate for IGC flight recorder files.
With most focus on:

  • Easy to use
  • No run-time asserts meaning that any errors will be through the Result type
  • A panic free crate

You should use this crate if you want to easily, quickly and safely parse igc files.

Look in records to see the different kind of records that can be parsed

§examples

This is if you want all fixes that have parsed correctly. A similar approach is used for the other records.

use std::fs;
use igc_parser::records::{fix::Fix, Record};
let file = fs::read_to_string("./examples/example.igc").unwrap().parse::<String>().unwrap();
let valid_fixes = file.lines().filter_map(|line| {
    match Record::parse(line) {
        Ok(Record::B(fix)) => Some(fix),
        _ => None,
        }
    }).collect::<Vec<Fix>>();
println!("{}", valid_fixes.len())

Modules§

error
Parsing errors
igc_file
For parsing entire file at once
parser_builder
Builder for a parser to parse only specific kinds of records
records
All different type of IGC records