运行测试
tests/run_tests.sh 运行 20 项引擎单元测试和 14 项无界面 QGIS 集成测试,包括 A320 公布的转弯半径和国际民航组织的发动机喷流表。
开源 · GPL-2.0-or-later
每款 Tractrix 产品都是同一个开源引擎的客户端。运动学、航空器数据、净距表和发动机喷流标定全部公开并经过测试,您可以审查、复用和改进。
内部构成
核心为纯 Python,不依赖 QGIS,因此在笔记本、服务器或 CI 任务中的运行方式与在 QGIS 中完全相同。
| 模块 | 功能 | 方法与来源 |
|---|---|---|
| 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.py | 388 种航空器和 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 插件的要求。航空器数据根据公开事实转录;未使用任何第三方库、数据文件或软件,也未对其进行逆向工程。参见许可 (英文)。