テストを実行する
tests/run_tests.shはエンジン単体テスト20件とヘッドレスQGIS統合テスト14件を実行します。A320の公表旋回半径やICAOのジェットブラスト表との照合も含まれます。
オープンソース・GPL-2.0-or-later
すべてのTractrix製品は、ひとつのオープンソースエンジンのクライアントです。運動学、航空機データ、クリアランス表、ジェットブラストの較正はすべて公開・テスト済みで、監査も再利用も改良も自由です。
構成
コアはQGISに依存しない純粋なPythonなので、ノートブック、サーバー、CIジョブでも、QGISの中とまったく同じように動作します。
| モジュール | 役割 | 手法と出典 |
|---|---|---|
| kinematics.py | 前進走行、プッシュバック、連結車列、操向角、旋回半径 | トラクトリックスの追跡ステップ、ICAO Doc 9157 Part 2 App. 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件とヘッドレスQGIS統合テスト14件を実行します。A320の公表旋回半径やICAOのジェットブラスト表との照合も含まれます。
操向角限界はtools/aircraft_overrides.jsonに手入力されており、それぞれ出典資料を記載しています。機種や、より正確な値を出典とともに追加してください。
結果がメーカーのチャートと異なる場合は、機種、入力線、公表値を添えてIssueを作成してください。差異は不具合として扱います。
ライセンス:GPL-2.0-or-later(QGISプラグインの要件)。航空機データは公開された事実から転記しており、第三者のライブラリ、データファイル、ソフトウェアの使用やリバースエンジニアリングは一切行っていません。ライセンス (英語)をご覧ください。