Open source · GPL-2.0-or-later

OpenAirside, le moteur que vous pouvez lire.

Chaque produit Tractrix est le client d’un unique moteur de calcul open source. La cinématique, les données des aéronefs, les tables de marges et l’étalonnage du souffle des réacteurs sont publiés, testés et à votre disposition pour les auditer, les réutiliser et les améliorer.

Architecture : Tractrix Cloud, AutoCAD, Revit et les scripts envoient des requêtes JSON tractrix/1 au moteur OpenAirside ; Tractrix for QGIS appelle le moteur dans le même processus. CloudAutoCADRevitScripts / CI tractrix/1 · requête JSON → couches GeoJSON + résumé Moteur OpenAirside tractrix-engine · openairside.core kinematics geometry standards jetblastlibrary
Fig. 1 Un moteur, un protocole. Tractrix for QGIS importe le même cœur dans son propre processus.

Ce qu’il contient

Cinq modules, aucune partie cachée.

Le cœur est en Python pur, sans dépendance à QGIS : il s’exécute dans un notebook, sur un serveur ou dans une tâche d’intégration continue exactement comme dans QGIS.

Tableau 1 Modules de openairside/core.
ModuleRôleMéthode et source
kinematics.pyRoulage, repoussage, chaînes articulées, angles de braquage, rayons de virageMise à jour par poursuite (tractrice), OACI Doc 9157 Partie 2 App. 1
geometry.pyModèles de cellule des aéronefs et véhicules, points caractéristiques, enveloppes convexesDimensions FAA ACD ; forme en plan estimée, signalée dans chaque sortie
standards.pyMarges d’extrémité d’aile, de poste et roue–bord de chaussée, largeurs des voies de circulationAnnexe 14 Tableau 3-1 et 3.13.6, Doc 9157 Tableau 1-1, AC 150/5300-13B Tableaux 4-1, 4-2
jetblast.pyCourbes d’isovitesse et zones de danger d’aspirationJet équivalent unique, décroissance de Witze, étalonné sur le Doc 9157 Tableau A2-1
library.py388 aéronefs et 14 véhicules au solFAA Aircraft Characteristics Database ; 44 braquages maximaux sourcés

Sans interface

Une requête en entrée, une réponse en sortie.

La commande tractrix-engine lit une requête tractrix/1 dans un fichier ou sur l’entrée standard et écrit toujours du JSON sur la sortie standard. Elle se termine avec 0 en cas de succès, 2 en cas d’erreur de requête et 1 en cas d’erreur du moteur, ce qui la rend facile à utiliser depuis n’importe quel langage.

Référence de la CLI → (en anglais)

# 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": …}}}}

Développement ouvert

Reproduisez-le. Contestez-le. Améliorez-le.

Un modèle d’ingénierie gagne la confiance quand d’autres peuvent le vérifier. Voici comment y contribuer.

Lancer les tests

tests/run_tests.sh exécute 20 tests unitaires du moteur et 14 tests d’intégration QGIS sans interface, dont les rayons de virage publiés de l’A320 et le tableau OACI du souffle des réacteurs.

Corriger les données

Les braquages maximaux sont saisis à la main dans tools/aircraft_overrides.json, chacun avec son document source. Ajoutez un type ou une meilleure valeur avec sa référence.

Signaler un écart

Si un résultat diffère d’un abaque constructeur, ouvrez un ticket avec l’aéronef, la ligne d’entrée et la valeur publiée. Les écarts sont traités comme des bogues.

Licence : GPL-2.0-or-later, comme l’exigent les extensions QGIS. Données des aéronefs ressaisies à partir de faits publics ; aucune bibliothèque, aucun fichier de données ni aucun logiciel d’éditeur n’a été utilisé ni rétro-conçu. Voir les licences (en anglais).