MANY FEEDS, ONE TRUTH

Multi-source fusion

No single ADS-B network sees everything, and several see the same aircraft at once. Here is how more than 60 public feeds plus a satellite layer become one coherent track per airframe.

Quick answer. No single ADS-B network sees every aircraft, and several networks routinely see the same one. AeroScope polls more than 60 public feeds plus a satellite-ADS-B layer and merges them on the ICAO 24-bit address, the one identifier every feed shares. The result is one track per airframe, carrying the freshest and most internally consistent fields available, instead of the same aircraft appearing three times in slightly different places.
Why fusion is necessary

One receiver network is always an incomplete view

An ADS-B broadcast travels line of sight. A ground receiver typically hears aircraft out to roughly 200 to 300 nautical miles depending on antenna height and terrain, and nothing at all beyond the horizon. Every volunteer network is therefore a patchwork of local bubbles, dense where people live and thin everywhere else.

Two consequences follow. First, any single network has gaps that a different network may happen to cover. Second, in busy regions several networks hear the same aircraft at the same moment, and their reports will not agree perfectly: timestamps differ by fractions of a second, one may carry a callsign the other lacks, and a marginal reception can produce a garbled field.

Naive merging makes this worse rather than better. Concatenating feeds gives you the same airliner three times. Averaging positions invents a location no receiver actually reported. Fusion has to be deliberate.

The pipeline

Ingest, key, reconcile, serve

StageWhat happens
IngestLive traffic is pulled from community networks including adsb.fi, adsb.lol, airplanes.live and OpenSky, plus a satellite-ADS-B layer, scoped to the map area actually in use so upstream load stays proportionate.
Key by ICAOEvery report is grouped by the aircraft's 24-bit ICAO hex address. This is assigned per airframe and carried in the message itself, which makes it the only reliable join key across independent feeds. Callsigns are not usable for this: they change per flight and can be reused or spoofed.
ReconcileWhere two networks describe the same airframe, the most recent well-formed report wins, and fields missing from it are filled from the next best source. Self-inconsistent messages are flagged by the integrity checks rather than silently blended into an average.
Serve one trackA single de-duplicated aircraft is emitted, with terrestrial and satellite views reconciled into one position, then passed to enrichment and scoring.
What it buys you

Coverage and trust at the same time

Wider coverage. Overlapping networks fill each other's gaps, and the satellite layer reaches oceanic and remote regions where no ground receiver exists. Where a single feed would show an aircraft vanishing mid-route, fusion often keeps the track continuous.

Better data per aircraft. One network may carry the callsign, another the vertical rate, another a cleaner altitude. Reconciliation assembles the most complete record rather than accepting whichever feed answered first.

A cross-check on trust. Independent networks disagreeing about the same aircraft is itself a signal. Fusion is the layer that makes that disagreement visible, and it feeds directly into the integrity and spoofing checks and the attention score.

Honest limits

What fusion cannot fix

FAQ

Frequently asked questions

How does AeroScope combine data from multiple ADS-B networks?
Every report is grouped by the aircraft's ICAO 24-bit hex address, the one identifier shared across all feeds. Where networks overlap, the most recent well-formed report wins and missing fields are filled from the next best source, producing a single de-duplicated track per airframe.
Why not just merge ADS-B feeds by callsign?
Callsigns are not stable identifiers. They change from flight to flight, can be reused by different aircraft, and can be spoofed. The ICAO 24-bit address is assigned per airframe and carried in the message itself, which makes it the only reliable join key across independent feeds.
Does fusing more feeds make the data more trustworthy?
It improves coverage and completeness, and disagreement between independent networks is a useful signal that feeds the integrity checks. It does not authenticate anything: agreement means several receivers heard the same broadcast, not that the broadcast was truthful.
What happens when two networks report different positions for the same aircraft?
The most recent well-formed report is preferred and gaps are filled from other sources. Positions are not averaged, because averaging invents a location no receiver actually reported. Self-inconsistent messages are flagged by the integrity layer instead.