4 个版本

0.2.0 2019 年 6 月 6 日
0.1.4 2019 年 4 月 27 日
0.1.3 2019 年 4 月 26 日
0.1.2 2019 年 4 月 26 日

2001#parser

每月 25 次下载

MIT/Apache

41KB
883

openair-rs

CircleCI Rust Docs

A Rust 解析器,用于解析 OpenAir 格式的空域文件(由 Skytraxx 等飞行仪器使用)。

http://www.winpilot.com/UsersGuide/UserAirspace.asp(另见 FORMAT.txt

此库需要 Rust 2018(1.31+)。

文档:https://docs.rs/openair/

状态

支持的文件格式特性

  • 解析空域元数据
  • 解析地形元数据
  • 支持多边形点
  • 支持圆形
  • 支持圆弧
  • 支持 AY/AF/AG 扩展记录

标签放置提示(AT)和样式记录(SP,SB)不受支持。

实现说明

遗憾的是,OpenAir 格式定义得非常不明确。每个设备都使用不同的约定。例如,我们无法使用任何明确的前缀作为空域的分隔符。有些文件使用空行来分隔空域,有些则使用注释。但另一方面,有些文件甚至在坐标之间放置注释,使得它们也无法用作分隔符。

此解析器在解析时非常宽容,基于实际数据。空域的结束是下一个空域开始(带有 AC 记录)或文件结束。

注意:没有单位说明的高度(例如“1000 GND”)将被视为英尺!)

示例

您可以使用示例程序尝试使用解析器

$ cargo run --example parse_file example_data/Switzerland.txt

Serde 序列化

要包含所有数据类型的序列化,请启用 serde 功能。

许可证

许可协议为以下之一

贡献

除非您明确声明,否则您有意提交以供包含在作品中的任何贡献,根据 Apache-2.0 许可证定义,应按上述方式双许可,无需任何附加条款或条件。

依赖项

~2.2–3.5MB
~59K SLoC