开源 · GPL-2.0-or-later

OpenAirside,一个可以读懂的引擎。

每款 Tractrix 产品都是同一个开源引擎的客户端。运动学、航空器数据、净距表和发动机喷流标定全部公开并经过测试,您可以审查、复用和改进。

架构:Tractrix Cloud、AutoCAD、Revit 和脚本向 OpenAirside 引擎发送 tractrix/1 JSON 请求;Tractrix for QGIS 在进程内调用引擎。 CloudAutoCADRevit脚本 / CI tractrix/1 · JSON 请求 → GeoJSON 图层 + 摘要 OpenAirside 引擎 tractrix-engine · openairside.core kinematics geometry standards jetblastlibrary
图 1 一个引擎,一个协议。Tractrix for QGIS 在进程内导入同一核心。

内部构成

五个模块,没有隐藏部分。

核心为纯 Python,不依赖 QGIS,因此在笔记本、服务器或 CI 任务中的运行方式与在 QGIS 中完全相同。

表 1 openairside/core 中的模块。
模块功能方法与来源
kinematics.py前向滑行、推出、铰接列车、转向角、转弯半径曳物线追踪步进,ICAO Doc 9157 第 2 部分附录 1
geometry.py航空器和车辆机体模型、站位、凸包包络FAA ACD 尺寸;平面形状为估算值,并在每项输出中标注
standards.py翼尖、机位和轮缘净距,滑行道宽度附件14 表 3-1 与 3.13.6、Doc 9157 表 1-1、AC 150/5300-13B 表 4-1、4-2
jetblast.py速度等值线和进气危险区等效单射流,Witze 衰减,依据 Doc 9157 表 A2-1 标定
library.py388 种航空器和 14 种地面车辆FAA Aircraft Characteristics Database;44 项注明出处的转向角限制

无界面运行

一个请求进,一个响应出。

tractrix-engine 命令从文件或标准输入读取 tractrix/1 请求,并始终向标准输出写出 JSON。成功时退出码为 0,请求错误为 2,引擎错误为 1,因此可以方便地从任何语言调用。

命令行参考 → (英文)

# turning radii of an A320 at maximum steering
echo '{"protocol": "tractrix/1",
       "task": "turning",
       "params": {"aircraft": "A320", "steer_deg": 0}}' \
  | tractrix-engine run

# → {"protocol": "tractrix/1", "ok": true,
#    "summary": {"runs": {"A320": {"R4_wingtip": …}}}}

开放开发

复现它。质疑它。改进它。

工程模型只有在他人能够核查时才值得信任。以下是参与的途径。

运行测试

tests/run_tests.sh 运行 20 项引擎单元测试和 14 项无界面 QGIS 集成测试,包括 A320 公布的转弯半径和国际民航组织的发动机喷流表。

修正数据

转向角限制以人工方式录入 tools/aircraft_overrides.json,每项都附有来源文件。欢迎添加机型或更准确的数值,并注明出处。

报告偏差

如果结果与制造商图表不一致,请提交问题,注明机型、输入线和公布值。偏差按缺陷处理。

许可:GPL-2.0-or-later,这是 QGIS 插件的要求。航空器数据根据公开事实转录;未使用任何第三方库、数据文件或软件,也未对其进行逆向工程。参见许可 (英文)。