オープンソース・GPL-2.0-or-later

OpenAirside、読めるエンジン。

すべてのTractrix製品は、ひとつのオープンソースエンジンのクライアントです。運動学、航空機データ、クリアランス表、ジェットブラストの較正はすべて公開・テスト済みで、監査も再利用も改良も自由です。

アーキテクチャ:Tractrix Cloud、AutoCAD、Revit、スクリプトはtractrix/1のJSONリクエストをOpenAirsideエンジンに送り、Tractrix for QGISはエンジンを同一プロセス内で呼び出します。 CloudAutoCADRevitスクリプト / CI tractrix/1 · JSONリクエスト → GeoJSONレイヤ+サマリー OpenAirsideエンジン tractrix-engine · openairside.core kinematics geometry standards jetblastlibrary
図1 エンジンもプロトコルもひとつ。Tractrix for QGISは同じコアを同一プロセス内で読み込みます。

構成

5つのモジュール、隠された部分はなし。

コアはQGISに依存しない純粋なPythonなので、ノートブック、サーバー、CIジョブでも、QGISの中とまったく同じように動作します。

表1 openairside/coreのモジュール。
モジュール役割手法と出典
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なので、どの言語からでも簡単に呼び出せます。

CLIリファレンス → (英語)

# 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プラグインの要件)。航空機データは公開された事実から転記しており、第三者のライブラリ、データファイル、ソフトウェアの使用やリバースエンジニアリングは一切行っていません。ライセンス (英語)をご覧ください。