sct-reader 0.5.0

A Rust crate for deserialising sector files used by online ATC clients such as EuroScope and VRC and converting them to a common format
Documentation
use std::{fs::File, io::BufReader, str::FromStr};

use error::Error;
pub mod colour;
pub mod error;
pub mod line;
pub(crate) mod partial;
pub mod position;
pub mod reader;
pub mod sector;
pub mod waypoint;
pub mod symbology;
pub mod loader;
mod asr;
pub use asr::EsAsr;

pub type SectorResult<T> = std::result::Result<T, error::Error>;

#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord)]
pub enum AirspaceClass {
    A,
    B,
    C,
    D,
    E,
    F,
    G,
}
impl FromStr for AirspaceClass {
    type Err = Error;
    fn from_str(s: &str) -> Result<Self, Self::Err> {
        let result = match s {
            "A" => AirspaceClass::A,
            "B" => AirspaceClass::B,
            "C" => AirspaceClass::C,
            "D" => AirspaceClass::D,
            "E" => AirspaceClass::E,
            "F" => AirspaceClass::F,
            "G" => AirspaceClass::G,
            _ => return Err(Error::InvalidAirspaceClass),
        };
        Ok(result)
    }
}