Air Traffic¶
Questo documento descrive la visualizzazione del traffico aeronautico in Drone Sky Check dal punto di vista dell'utilizzatore.
La funzionalita' mostra sulla mappa aeromobili rilevati da sorgenti realtime, con attenzione al traffico a bassa quota utile per la consapevolezza del pilota UAS. Per l'uso generale della mappa, dei popup e dei layer, vedere anche Mappa. Per il traffico UAS e i receiver collegati, vedere Drone Tracking.
Scopo¶
Air Traffic serve a mostrare aerei ed elicotteri rilevati nelle vicinanze o nell'area visibile della mappa.
L'utente puo' usarlo per:
- aumentare la consapevolezza del traffico aeronautico a bassa quota;
- riconoscere rapidamente aerei ed elicotteri sulla mappa;
- leggere quota, velocita', callsign e codice ICAO quando disponibili;
- osservare la traccia recente di un aeromobile;
- valutare con prudenza il contesto prima o durante una pianificazione UAS.
La visualizzazione e' informativa. Non sostituisce l'osservazione diretta, i servizi ufficiali di controllo del traffico aereo o le fonti aeronautiche ufficiali.
Attivazione E Disattivazione¶
Il layer si controlla dalla barra laterale sinistra della mappa con il pulsante Aerei sotto 1000m.
Quando il layer viene attivato:
- il pulsante cambia testo in Aerei ON;
- il pulsante viene evidenziato;
- viene mostrato l'aiuto contestuale Traffico ADS-B, se gli aiuti sono attivi;
- viene creato il layer del traffico aereo;
- il sistema avvia l'aggiornamento periodico dei dati.
Quando il layer viene disattivato:
- l'aggiornamento periodico viene fermato;
- marker e tracce vengono rimossi dalla mappa;
- il pulsante torna allo stato normale.
Il layer non risulta attivo automaticamente all'avvio: viene avviato dall'utente tramite il pulsante dedicato.
Sorgenti Dei Dati¶
Il codice attivo usa tre sorgenti per costruire la lista degli aeromobili mostrati.
| Sorgente | Uso per l'utente |
|---|---|
| Feed ADS-B remoto | Fornisce aeromobili da un endpoint ADS-B esterno usato dal frontend. |
| Feed OGN filtrato | Usa oggetti OGN con sorgente ADSB, entro limiti di freschezza e area visibile. |
| Nodi locali Drone Sky Check | Legge aeromobili salvati in Firestore nella raccolta traffic_live. |
La Cloud Function ingestAircraftLive permette a nodi esterni di inviare una lista di aeromobili live. I dati validi vengono salvati in traffic_live con una scadenza breve, coerente con il comportamento del frontend.
Nel codice sono presenti file storici o non usati legati a OpenSky, ma la pagina pubblica carica il modulo public/js/air/air-opensky.js, che usa il feed ADS-B remoto, il feed OGN filtrato e Firestore.
Area E Quota Visualizzate¶
Il layer lavora sull'area attualmente visibile della mappa, limitata al riquadro geografico dell'Italia usato dal codice.
Il pulsante e la configurazione indicano una visualizzazione degli aerei sotto 1000 m. Il codice applica un limite di quota pari a 1000 metri per il traffico mostrato e filtra gli aeromobili che non rientrano nei criteri della sorgente.
Sono inoltre filtrati:
- aeromobili senza coordinate valide;
- aeromobili a terra o troppo lenti, quando la velocita' e' disponibile;
- dati remoti non abbastanza recenti;
- dati locali scaduti.
Rappresentazione Sulla Mappa¶
Gli aeromobili sono disegnati sul layer traffic-air, sopra molti altri elementi della mappa.
| Elemento | Rappresentazione |
|---|---|
| Aereo | Icona aereo magenta. |
| Elicottero | Icona elicottero gialla. |
| Direzione | Rotazione dell'icona secondo l'heading disponibile. |
| Traccia recente | Segmenti rossi dietro l'aeromobile. |
| Dato in attenuazione | Marker piu' trasparente e, in alcuni casi, desaturato. |
La traccia conserva un numero limitato di punti recenti e viene ridisegnata a ogni aggiornamento. I segmenti piu' vecchi risultano meno evidenti, cosi' l'utente puo' distinguere la direzione generale del movimento.

Popup Informativi¶
Selezionando un aeromobile sulla mappa si apre un popup sintetico.
Il popup puo' mostrare:
- callsign o identificativo disponibile;
- codice ICAO;
- quota in metri;
- velocita' raw ricevuta dalla sorgente;
- velocita' convertita in km/h quando disponibile.
I campi dipendono dalla sorgente. Se un dato non e' disponibile o non e' numerico, il popup puo' mostrare N/D o omettere informazioni derivate.
Aggiornamento In Tempo Reale¶
Quando il layer e' attivo, il frontend aggiorna i dati ogni 15 secondi.
Il flusso osservato nel codice e':
flowchart LR
Map["Area visibile della mappa"] --> Fetch["Aggiornamento ogni 15 secondi"]
Fetch --> ADSB["Feed ADS-B remoto"]
Fetch --> OGN["Feed OGN con oggetti ADS-B"]
Fetch --> Local["Firestore traffic_live"]
ADSB --> Merge["Unione per codice ICAO"]
OGN --> Merge
Local --> Merge
Merge --> Layer["Marker e tracce sulla mappa"]
Quando lo stesso aeromobile arriva da piu' sorgenti, il codice unisce i dati usando il codice ICAO. I dati locali o piu' recenti possono sostituire quelli remoti. Gli elicotteri possono ricevere priorita' quando una sorgente li identifica in modo piu' utile.
Dati Vecchi O Mancanti¶
Il layer gestisce gli aeromobili non piu' presenti nel feed con un comportamento progressivo.
| Situazione | Comportamento |
|---|---|
| Aeromobile ancora presente nel feed | Marker e popup vengono aggiornati. |
| Aeromobile non visto in un aggiornamento | Il sistema conta una mancata rilevazione. |
| Aeromobile non visto per piu' aggiornamenti | Il marker viene marcato come stale, la traccia viene rimossa e l'icona diventa attenuata. |
| Dato stale oltre il periodo di tolleranza | Il marker viene rimosso dalla mappa. |
Per i dati locali in Firestore, la scadenza usata dal codice e' di circa 45 secondi. Il frontend non mostra i dati locali oltre la scadenza. Le sorgenti remote usano controlli di freschezza piu' brevi, basati sui campi ricevuti dal feed.
Filtri E Strumenti Disponibili¶
Dal punto di vista dell'utente, il filtro principale e' il pulsante Aerei sotto 1000m, che attiva o disattiva l'intero layer.
Nel codice non risultano controlli utente separati per:
- scegliere una singola sorgente;
- filtrare per callsign o ICAO;
- modificare manualmente la quota massima;
- mostrare solo aerei o solo elicotteri;
- cambiare colore o stile delle tracce.
La selezione avviene direttamente sulla mappa tramite marker e popup.
Relazione Con Altri Layer¶
Air Traffic e' distinto dagli altri layer realtime.
| Layer | Differenza principale |
|---|---|
| Drone Tracking | Mostra UAS, receiver e tracker collegati al traffico droni. |
| Volo sportivo | Mostra traffico sportivo o leggero da moduli dedicati. |
| Aree operative UAS | Mostra aree dichiarate dagli utenti, non aeromobili rilevati. |
I layer possono essere usati insieme, ma rappresentano sorgenti e oggetti diversi.
Limiti¶
La visualizzazione Air Traffic dipende dalla disponibilita' e dalla qualita' delle sorgenti ricevute.
Limiti principali:
- non tutti gli aeromobili trasmettono dati ricevibili dal sistema;
- la copertura dipende dai feed remoti e dai nodi locali disponibili;
- quota, velocita', direzione e callsign possono essere assenti o non aggiornati;
- i dati possono arrivare con latenza;
- il layer mostra principalmente traffico a bassa quota configurato fino a 1000 metri;
- il filtro geografico e' limitato all'Italia;
- un aeromobile puo' sparire se non viene visto negli aggiornamenti successivi.
L'utente deve considerare Air Traffic come supporto informativo alla consapevolezza situazionale, non come sistema ufficiale di sorveglianza o separazione del traffico.