Cómo funciona la detección

El motor que predice cuándo un avión cruza el Sol o la Luna

TrFly no compara un ángulo contra un umbral. Construye la geometría 3D completa del encuentro, proyecta la posición real del avión en el cielo y refina el instante de máximo acercamiento con precisión de microsegundos. Estas son las piezas que lo hacen posible.

Dead-reckoning con compensación de retraso

Cada contacto ADS-B llega con varios segundos de retraso: el tiempo desde que el transponder emitió la posición (seen_pos) más la antigüedad del feed completo. TrFly avanza la posición del avión hasta 'ahora' usando su velocidad, rumbo y razón de ascenso/descenso, de modo que la geometría se calcula sobre la posición real estimada, no sobre un dato viejo. Sin este paso, un avión a 900 km/h estaría desplazado ~2.5 km respecto a donde realmente está.

Refinamiento por método de Brent (precisión 1 µs)

Una vez detectado un intervalo donde la separación angular pasa por un mínimo, TrFly ajusta el instante exacto del máximo acercamiento con el método de Brent: combina ajuste parabólico con sección áurea y converge superlinealmente. La tolerancia es de 1 microsegundo, unas mil veces más fina de lo que necesita cualquier uso fotográfico. El resultado: el segundo exacto del cruce, no una aproximación al segundo.

Silueta real del avión, no solo un ángulo

Un tránsito no es 'el avión pasa cerca del Sol'. Es 'el disco del avión se solapa con el disco del Sol'. TrFly estima la envergadura del avión a partir de su código ICAO (A380, A320, B737, Cessna...) y calcula su radio angular aparente según la distancia al observador. El cruce se confirma cuando la silueta del avión solapa el disco solar o lunar, no cuando un ángulo arbitrario lo cruza. Por eso un A380 a 100 km cuenta como tránsito y un Cessna a 100 km no, aunque tengan la misma separación angular al centro.

Sistema de confianza (0–1)

No todas las predicciones valen lo mismo. TrFly asigna una puntuación de confianza que combina cinco factores:

  • Frescura del dato (40%): un contacto de hace 1 segundo vale más que uno de hace 12.
  • Horizonte de extrapolación (15%): predecir 8 segundos adelante es fiable; predecir 4 minutos, menos.
  • Geometría (30%): un paso centrado tolera mejor los pequeños errores de rumbo que un roce tangencial.
  • Viraje (15%): si el avión está inclinado (roll alto) o girando (trackRate alto), el dead-reckoning es menos fiable.
  • Autopilot (+10%): cuando el piloto automático está conectado, el rumbo se mantiene estable y la predicción gana fiabilidad.

Sondeo adaptativo

Cuando un tránsito está a más de un minuto, TrFly consulta el feed cada varios segundos. Cuando quedan menos de 60 segundos, acelera automáticamente la frecuencia de peticiones para no perderse el cruce. Así se respeta el límite de las fuentes comunitarias ADS-B (~1 petición/segundo por IP) sin sacrificar precisión en el momento que importa.

Colector de corredores (próximamente: planner)

Mientras usas TrFly, la app acumula de forma anónima y comprimida las trayectorias reales del tráfico en tu zona: celda H3 de ~3.7 km, nivel de vuelo redondeado, rumbo, día de la semana y franja de 30 minutos. Tras varias semanas de datos, el planner podrá decirte 'entre las 19:42 y las 19:51 el Sol estará al azimut 268° y, en esa franja, hay un corredor recurrente a FL340' sin necesidad de escanear en vivo ni mantener la pestaña abierta.

Fuentes de datos y sus límites

Las predicciones dependen de datos ADS-B comunitarios (adsb.fi, adsb.lol, ADS-B Exchange) que llegan cada ~10 segundos. Un tránsito predicho puede no ocurrir si el avión cambia de rumbo; un tránsito real puede no detectarse si el dato llega tarde. TrFly es una herramienta de planificación, no una garantía. Para máxima precisión, puedes conectar tu propio receptor ADS-B (dump1090) en los ajustes avanzados.

El código del motor de predicción es abierto y auditable. Si quieres ver las matemáticas exactas, está en lib/transit/predict.ts.