GNSS Observatory · Baltic

Where aircraft reported degraded navigation

Ninety days over the Baltic, from publicly broadcast aircraft data. A measurement, openly derived and open to challenge.

Loading…

Point at the map for cell detail.

Day by day, across the region

Transport-category aircraft, pooled across every well-observed cell, so each point rests on hundreds of thousands of reports rather than the handful any single cell contributes. The dashed line is the background rate for that same population. Ticks below the axis mark days the detector produced at least one candidate — candidates for review, not findings, and 98% of them fall in control airspace where a firing is a false positive by construction.

There is no per-cell time slider, and that is a data limit rather than a missing feature. Across the backfill only 4.9% of cell-weeks carry the thousand integrity reports a rate needs. At any position of such a slider 95% of the map would be blank, and the rest would move mostly on sampling noise. Animating that would look like information and be nothing of the kind. Pooled region-wide the same days are measurable many times over, so the time axis is regional.

Light aircraft are excluded, and the difference is the whole point. Their receivers report poor integrity almost everywhere, for reasons that have nothing to do with the sky.

At 54.74°N 9.39°E, one of the best-observed cells in the region, 51.5% of all integrity reports are degraded — and 0.6% of the transport-category ones. Fifteen Cessna 172s report 68.8% and two gliders report 100%, while 264 Boeing 737s, 159 A320neos and 105 Boeing 787s in the same cell report between 0.0% and 0.5%. Pooled together that cell looks alarming and is measuring avionics.

The filter is not a mute button. At 59.78°N 29.79°E, where 63 Airbus A350s report degraded integrity, the cell reads 99.8% before the restriction and 99.8% after. The artifact disappears; the signal does not move. Interference does not politely skip airliners.

Aircraft types are classified by the altitude they fly at, never by what they report — a filter defined by the quantity it is meant to clean would prove whatever it was built to prove. The cut is 14,000 ft at the 90th percentile, which keeps regional turboprops such as the ATR 72 and Dash 8 and excludes piston singles. These are still measurements, not findings.

What has been measured

Ninety days are loaded and continuous — 10 May to 7 August 2026, 141 million position reports and 35 million navigation integrity reports from 12,734 aircraft, with no gaps. Across the region 6.02% of all integrity reports are degraded — but only 0.93% of transport-category ones. The lower figure is the background a finding has to rise above, because it is measured over the same population the map draws. The gap between the two is light aviation, and mistaking it for interference is the single easiest error to make here.

The primary detector has been measured against control airspace: over a 31-day window across 106 cells where nothing was reported, it fires on 0.07% of the cell-hours it evaluates — about five firings in a month. That is a tenfold improvement on the previous version, and it came from a rule rather than a threshold: a firing now requires several different transport-category aircraft types to show the degradation, because light aircraft avionics report it almost everywhere.

How much it would catch is not merely unknown — it is undefined. The one effect in this region large enough to serve as a reference sits in airspace so thinly flown that the detector never evaluates it at all. Of the 6,057 cell-hours near it in the control window, sixteen carry enough integrity reports, seven also carry enough aircraft, and none of those has a baseline to compare against. A detection rate needs a denominator and there is none, in every configuration tested — including with the coverage restriction removed entirely.

An earlier estimate of 81% came from a different configuration than the false-positive figure beside it, and has been withdrawn rather than restated. Both halves are now measured by one script through the detector's own code path, so a configuration cannot produce one number without the other. Knowing what a method misses matters as much as knowing when it is wrong, and that half is open.

No findings are published here. Half of the bar has been cleared — the control-airspace test — and half has not: no independently documented, dated event has yet been found in airspace this method can actually see. Until one is, what appears on this site is measurement, and it is labelled as such.

Region
Baltic — 53.5°N to 66.0°N, 9.0°E to 30.0°E
Cell size
Hexagons roughly 20 km across, on 15-minute windows
Cadence
Daily batch processing of published archives. Nothing is real-time
Expansion
Further regions only after the method is validated in this one

About

What this is, how it works, and the rules it is built to.

Satellite navigation signals reach an aircraft receiver extremely weak — roughly the power of a car headlight seen from twenty thousand kilometres away. They are correspondingly easy to disrupt.

Episodes of degraded satellite navigation affecting commercial aviation over parts of Europe have been reported publicly by airlines, aviation authorities and the trade press. Individual accounts exist. What does not is a continuous, independent, reproducible record of where and when aircraft reported degraded navigation integrity — one built to survive being challenged, and held by someone with no stake in the answer.

GNSS Observatory is being built to be that record.

How it works

Aircraft broadcast their position continuously over ADS-B, derived from onboard GNSS receivers. Those broadcasts also carry navigation integrity fields — the receiver's own assessment of how far its reported position can be trusted.

When reception degrades, that self-assessment falls, and the aircraft broadcasts the degradation to anyone listening. The effect publishes its own evidence. We read those public broadcasts and look for populations of aircraft whose navigation integrity falls together, in the same airspace, at the same time — then record the result in a form that can be re-derived and audited later.

What this is

A project, not a service. It is built in the open, one region at a time, and it publishes what it can defend. There is no product, no subscription and no customer. Where the method is uncertain the site says so, and the uncertain parts are currently the interesting ones.

The public map is the whole of it today. Everything drawn there is derived from archives anyone can download, using code whose parameters travel with every number it produces, so a disagreement can be settled by rerunning it rather than by argument.

Method and principles

These are design rules rather than aspirations. They exist because the failure modes are worse than the missed detections — and because they are what allows a finding to survive being challenged.

Data and licensing

Source
Publicly released daily archives of aircraft transponder broadcasts, from the adsb.lol community project
Licence
Used under the upstream project's published terms (ODbL 1.0 and CC0), with attribution
Coastline
Natural Earth, public domain — clipped and served by this site, not fetched from anyone
Collection
No radio equipment is operated. Only archives already published by others are processed

Get in touch

Corrections and challenges are the most useful thing anyone can send. If you work in aviation, avionics or air traffic management and something here looks wrong, please say so — especially about the map.

contact@gnssobservatory.com