Volo Sportivo¶
Questa pagina descrive il layer Volo sportivo dal punto di vista dell'utilizzatore.
Il layer mostra traffico leggero o sportivo ricevuto da sorgenti cooperative collegate al feed OGN usato dall'applicazione. Per il traffico aereo ADS-B e locale, vedere Air Traffic. Per l'uso generale dei layer sulla mappa, vedere Layer.
Scopo¶
Volo sportivo serve a mostrare sulla mappa oggetti di traffico sportivo o leggero che possono essere rilevanti per la consapevolezza del pilota UAS.
L'utente puo' usarlo per:
- vedere oggetti ricevuti da sorgenti cooperative come FLARM, SafeSky, FreeFlight e FANET;
- riconoscere rapidamente la sorgente tramite colore e icona;
- leggere ID, quota e freschezza del dato;
- distinguere traffico sportivo e leggero dal layer Aerei sotto 1000m.
Il layer e' informativo. Non sostituisce l'osservazione diretta, le informazioni aeronautiche ufficiali o i servizi ufficiali di controllo del traffico.
Attivazione E Disattivazione¶
Il layer si controlla dai comandi rapidi laterali della mappa con il pulsante Volo sportivo.
Quando il layer viene attivato:
- il pulsante cambia testo in Volo sportivo ON;
- il pulsante viene evidenziato in viola;
- viene mostrato l'aiuto contestuale Volo sportivo (FLARM), se gli aiuti sono attivi;
- il layer Leaflet viene aggiunto alla mappa;
- parte l'aggiornamento periodico dei dati.
Quando il layer viene disattivato:
- l'aggiornamento periodico viene fermato;
- il layer viene rimosso 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 Dati¶
Il frontend legge il feed:
https://solarmonitor.kwos.org/api/ogn/traffic
Il modulo usa solo oggetti con sorgente compresa tra:
| Sorgente | Uso nel layer |
|---|---|
FLARM |
Traffico glider rappresentato con icona dedicata. |
SAFESKY |
Oggetti ricevuti da SafeSky, rappresentati con icona aeromobile. |
FREEFLIGHT |
Traffico di volo libero rappresentato con icona free flight. |
FANET |
Oggetti FANET rappresentati con icona free flight. |
Il codice non usa Firestore per leggere il layer Volo sportivo e non espone una Cloud Function dedicata alla visualizzazione del traffico sportivo. La Cloud Function forwardToOgn invia verso OGN oggetti UAS provenienti da altri flussi, ma questi oggetti non rientrano nelle sorgenti accettate dal layer Volo sportivo.
Aeromobili E Oggetti Rappresentati¶
Il testo di aiuto dell'app descrive il layer come dedicato a traffico aereo leggero e sportivo, inclusi alianti, parapendio, deltaplani e mongolfiere quando trasmessi da sorgenti cooperative.
Dal codice, la categoria effettivamente mostrata dipende dal campo source ricevuto dal feed OGN. Il frontend non usa una classificazione piu' dettagliata dell'aeromobile oltre alla sorgente.
Simbologia Sulla Mappa¶
Gli oggetti vengono disegnati nel pane Leaflet traffic-glider, con priorita' visiva alta sulla mappa.
| Sorgente | Colore | Icona |
|---|---|---|
FLARM |
Ciano #00E5FF |
Icona glider. |
SAFESKY |
Giallo #FFD600 |
Icona aeromobile. |
FREEFLIGHT |
Verde #00FF88 |
Icona free flight. |
FANET |
Arancione #FF6D00 |
Icona free flight. |
| Altra sorgente | Bianco | Fallback, ma le sorgenti non ammesse vengono filtrate prima. |
Le icone ruotano secondo l'heading disponibile. Se l'heading non e' presente, viene usato 0.
Il layer non disegna tracce o scie storiche: mostra solo marker aggiornati.

Popup¶
Selezionando un marker si apre un popup sintetico.
Il popup mostra:
- sorgente del traffico;
- ID dell'oggetto;
- quota in metri, se disponibile;
- eta' dell'aggiornamento in secondi.
Se la quota non e' presente, il popup mostra n/d.
Aggiornamento Realtime¶
Quando il layer e' attivo, il frontend esegue una richiesta immediata e poi aggiorna i dati ogni 10 secondi.
flowchart LR
Toggle["Volo sportivo ON"] --> Fetch["Fetch ogni 10 secondi"]
Fetch --> OGN["/api/ogn/traffic"]
OGN --> Filter["Filtro sorgente e freschezza"]
Filter --> Layer["Marker sul layer traffic-glider"]
Ogni oggetto valido aggiorna o crea un marker usando il suo id. Se lo stesso ID viene ricevuto di nuovo, il marker viene spostato, l'icona viene aggiornata con il nuovo heading e il popup viene rigenerato.
Filtri Applicati¶
Il codice applica filtri semplici prima di mostrare un oggetto:
| Filtro | Comportamento |
|---|---|
| Sorgente | Mostra solo FLARM, SAFESKY, FREEFLIGHT e FANET. |
| Freschezza | Scarta oggetti con last_seen piu' vecchio di 15 secondi. |
| Heading | Normalizza il valore tra 0 e 359 gradi. |
Non risultano controlli utente per filtrare manualmente per sorgente, quota, ID o tipo di oggetto.
Differenza Rispetto Ad Aerei Sotto 1000m¶
Volo sportivo e Aerei sotto 1000m sono layer distinti.
| Aspetto | Volo sportivo | Aerei sotto 1000m |
|---|---|---|
| Pulsante | Volo sportivo | Aerei sotto 1000m |
| Sorgenti usate | Feed OGN filtrato per FLARM, SAFESKY, FREEFLIGHT, FANET. |
Feed ADS-B remoto, OGN filtrato per ADS-B e Firestore traffic_live. |
| Oggetti attesi | Traffico sportivo, leggero o di volo libero da reti cooperative. | Aerei ed elicotteri a bassa quota. |
| Aggiornamento | Ogni 10 secondi. | Ogni 15 secondi. |
| Simbologia | Colori per sorgente, marker senza traccia. | Icone aereo/elicottero e traccia recente. |
| Popup | Sorgente, ID, quota, aggiornamento. | Callsign/ID, ICAO, quota e velocita'. |
I due layer possono essere attivati insieme, ma non rappresentano la stessa classe di traffico e non usano gli stessi filtri.
Limitazioni¶
Il layer dipende dalla disponibilita' e dalla qualita' del feed OGN usato dall'applicazione.
Limiti principali:
- vengono mostrati solo oggetti provenienti dalle sorgenti accettate dal frontend;
- oggetti non ricevuti dal feed, senza trasmissione cooperativa o fuori copertura non appaiono sulla mappa;
- quota e heading possono mancare o essere imprecisi;
- il layer non mostra velocita', callsign, ICAO o traiettoria storica;
- il filtro di freschezza scarta gli oggetti gia' vecchi al momento della lettura, ma nel modulo osservato non c'e' una rimozione esplicita dei marker quando un oggetto sparisce dai successivi aggiornamenti;
- la disattivazione rimuove il layer dalla mappa, ma la pagina deve essere considerata la fonte piu' affidabile per ripartire da uno stato pulito.
L'utente deve considerare Volo sportivo come supporto alla consapevolezza situazionale, non come sistema ufficiale o completo di sorveglianza del traffico.