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.
Código aberto · GPL-2.0-or-later
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.
O que há dentro
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.
| Módulo | Função | Método e fonte |
|---|---|---|
| kinematics.py | Táxi para a frente, pushback, conjuntos articulados, ângulos de esterçamento, raios de curva | Passo de perseguição da tratriz, ICAO Doc 9157 Parte 2 Ap. 1 |
| geometry.py | Modelos de fuselagem de aeronaves e veículos, estações, envoltórias convexas | Dimensões da FAA ACD; planta estimada, indicada em cada saída |
| standards.py | Afastamentos de ponta de asa, de posição e roda–borda, larguras de pistas de táxi | Anexo 14 Tabela 3-1 e 3.13.6, Doc 9157 Tabela 1-1, AC 150/5300-13B Tabelas 4-1, 4-2 |
| jetblast.py | Contornos de velocidade e áreas de perigo de admissão | Jato único equivalente, decaimento de Witze, calibrado com o Doc 9157 Tabela A2-1 |
| library.py | 388 aeronaves e 14 veículos de apoio | FAA Aircraft Characteristics Database; 44 limites de esterçamento com fonte |
Sem interface
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.
# 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
Um modelo de engenharia ganha confiança quando outros podem verificá-lo. Estes são os pontos de entrada.
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.
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.
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).