Código aberto · GPL-2.0-or-later

OpenAirside, o motor que você pode ler.

Todo produto Tractrix é cliente de um único motor de código aberto. A cinemática, os dados das aeronaves, as tabelas de afastamento e a calibração do jato dos motores são publicados, testados e estão à sua disposição para auditar, reutilizar e melhorar.

Arquitetura: Tractrix Cloud, AutoCAD, Revit e scripts enviam solicitações JSON tractrix/1 ao motor OpenAirside; o Tractrix for QGIS chama o motor dentro do próprio processo. CloudAutoCADRevitScripts / CI tractrix/1 · solicitação JSON → camadas GeoJSON + resumo Motor OpenAirside tractrix-engine · openairside.core kinematics geometry standards jetblastlibrary
Fig. 1 Um motor, um protocolo. O Tractrix for QGIS importa o mesmo núcleo dentro do próprio processo.

O que há dentro

Cinco módulos, nenhuma parte oculta.

O núcleo é Python puro, sem dependência do QGIS, então funciona em um notebook, em um servidor ou em uma tarefa de CI exatamente como dentro do QGIS.

Tabela 1 Módulos em openairside/core.
MóduloFunçãoMétodo e fonte
kinematics.pyTáxi para a frente, pushback, conjuntos articulados, ângulos de esterçamento, raios de curvaPasso de perseguição da tratriz, ICAO Doc 9157 Parte 2 Ap. 1
geometry.pyModelos de fuselagem de aeronaves e veículos, estações, envoltórias convexasDimensões da FAA ACD; planta estimada, indicada em cada saída
standards.pyAfastamentos de ponta de asa, de posição e roda–borda, larguras de pistas de táxiAnexo 14 Tabela 3-1 e 3.13.6, Doc 9157 Tabela 1-1, AC 150/5300-13B Tabelas 4-1, 4-2
jetblast.pyContornos de velocidade e áreas de perigo de admissãoJato único equivalente, decaimento de Witze, calibrado com o Doc 9157 Tabela A2-1
library.py388 aeronaves e 14 veículos de apoioFAA Aircraft Characteristics Database; 44 limites de esterçamento com fonte

Sem interface

Uma solicitação entra, uma resposta sai.

O comando tractrix-engine lê uma solicitação tractrix/1 de um arquivo ou da entrada padrão e sempre grava JSON na saída padrão. Ele termina com 0 em caso de sucesso, 2 em caso de erro na solicitação e 1 em caso de erro do motor, o que facilita chamá-lo de qualquer linguagem.

Referência da CLI → (em inglês)

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

Desenvolvimento aberto

Reproduza. Questione. Melhore.

Um modelo de engenharia ganha confiança quando outros podem verificá-lo. Estes são os pontos de entrada.

Executar os testes

tests/run_tests.sh executa 20 testes unitários do motor e 14 testes de integração do QGIS sem interface, incluindo os raios de curva publicados do A320 e a tabela da ICAO de jato dos motores.

Corrigir os dados

Os limites de esterçamento são digitados à mão em tools/aircraft_overrides.json, cada um com o documento de origem. Adicione um tipo ou um valor melhor, com a referência.

Relatar uma discrepância

Se um resultado diferir de um gráfico do fabricante, abra um relato com a aeronave, a linha de entrada e o valor publicado. Discrepâncias são tratadas como bugs.

Licença: GPL-2.0-or-later, como exigido para plugins do QGIS. Dados de aeronaves transcritos de fatos públicos; nenhuma biblioteca, arquivo de dados ou software de terceiros foi usado ou submetido a engenharia reversa. Veja as licenças (em inglês).