mirror of
https://github.com/bilawalsidhu/gods-eye-view.git
synced 2026-11-05 19:04:02 +00:00
fix(gnss): separate GEV integrity classifier from GPSJAM aggregation; machine-readable provenance
Review on #855: the per-aircraft rule (NIC < 7 || NACp < 8, borrowed from the US 14 CFR 91.227 ADS-B Out minima) is GEV-defined, not gpsjam's, and gpsjam's map shows low navigation accuracy, not necessarily jamming. - Primary cell state is now `navigation-integrity-anomaly` (medium/high) or `nominal`; `suspected-gnss-interference` is a secondary `interpretation` marked validated: false. - GNSS_PROVENANCE / gnssProvenance({ windowMs }) records the classifier (gev-nic-nacp-v1, GEV, unvalidated), the gpsjam aggregation (formula, bands [0.02, 0.1], FAQ source) and the GEV 30-minute visited-view window, built from the constants the code applies. Exposed as layer.provenance and getStats().provenance; the proxy tags responses with `classifier`. - Visible name "GNSS Integrity", legend "... low accuracy", blurb leads with low navigation accuracy and states the threshold is a GEV choice. - Layer id `gnss-interference` and share token `0` unchanged. - Voice aliases add "gnss integrity", "navigation integrity", "low navigation accuracy"; the interference aliases stay. - Docs describe the method as GEV threshold + gpsjam aggregation. - Tests: provenance object, renamed state/label, proxy classifier tag; qa-gnss asserts provenance and wording in the real app. Hex project - Crew Leo Agile dev team. Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
This commit is contained in:
1 parent
40b06a24d4
commit
6d4a2a02fe
16 files changed
+325
-67
No files matched your search
+12
-5
@@ -155,11 +155,18 @@
|
||||
largest cities) and `CCTV_VEGVESEN_VIDEO=0` keeps stills only. Attributed
|
||||
under NLOD 2.0.
|
||||
|
||||
- GNSS Interference layer (Events group): ADS-B aircraft that report degraded
|
||||
navigation accuracy (below the 14 CFR 91.227 ADS-B Out minima, NIC < 7 or
|
||||
NACp < 8, or readsb's GPS-loss flag) are binned into 0.5° cells over a
|
||||
rolling 30-minute window and scored with gpsjam.org's published formula and
|
||||
bands. Keyless, worldwide wherever adsb.lol has receivers; reads
|
||||
- GNSS Integrity layer (Events group, share id `gnss-interference`): cells of
|
||||
low navigation accuracy reported by ADS-B aircraft. The method is a GEV
|
||||
threshold plus gpsjam.org aggregation, not "the gpsjam method": an aircraft
|
||||
counts as low when it reports NIC < 7 or NACp < 8 (borrowed from the US
|
||||
14 CFR 91.227 ADS-B Out minima, not a published interference classifier) or
|
||||
readsb's GPS-loss flag; aircraft are binned into 0.5° cells over a
|
||||
GEV-defined rolling 30-minute window around visited views and scored with
|
||||
gpsjam.org's published formula and 2% / 10% bands. Medium and high cells
|
||||
are navigation-integrity anomalies; suspected GNSS interference is a
|
||||
secondary, unvalidated interpretation. The layer and the proxy expose
|
||||
machine-readable provenance (`provenance`, `classifier: gev-nic-nacp-v1`).
|
||||
Keyless, worldwide wherever adsb.lol has receivers; reads
|
||||
a capped 250 nm snapshot around the camera through `/api/gnss-integrity`,
|
||||
which returns integrity fields only and serves the last snapshot when the
|
||||
upstream fails.
|
||||
|
||||
Reference in new issue
Block a user