Читайте дані

Востаннє оновлено

Публічне API повертає шестикутники, які малює карта, для останнього оновлення або збереженого дня, без сирих позицій літаків. Повна схема — в OpenAPI 3.1.

Останнє вікно

GET https://api.gpsinterference.com/v1/interference/latest

GET https://api.gpsinterference.com/interference.json — це той самий документ, яким користується карта. Він містить одну добу UTC польотів, history_date, і перебудовується раз на день близько 05:00 UTC.

Одна доба UTC

GET https://api.gpsinterference.com/v1/interference/YYYY-MM-DD

Карта такою, якою була під час останнього оновлення тієї доби UTC (не підрахунок лише польотів цієї дати), з тими самими полями, що й останнє зведення, плюс archive_date і complete. complete дорівнює false, поки доба ще сьогоднішня й може бути замінена; завершена доба ніколи не змінюється. Дата без збереженої карти повертає 404 і {"error":"no archive"}.

GET https://api.gpsinterference.com/v1/interference/days перелічує кожен збережений день: date, updated і hexes (кількість), без полігонів.

Поля шестикутника

ПолеЗначення
hІдентифікатор комірки, column_row на сітці шестикутників Web Mercator.
gРізні літаки в комірці, чий NACp залишався вище 7.
bРізні літаки, які повідомили NACp 7 або нижче принаймні раз у комірці.
pЧастка уражених у відсотках з одним знаком після коми: 100 × b ÷ (g + b). Колір береться з цього.
cg менше 3%, y від 3% до 10%, r понад 10%, з округленого p.
polyКільце пар [latitude, longitude] у градусах.

Комірки — це пласкі шестикутники на сітці Web Mercator з радіусом 0,34° довготи (близько 38 км від центру до кута на екваторі, 22 км на 54° пн. ш.). Комірки з менш ніж 3 літаками пропускаються.

bands (зведення з листопада 2026) ділить ті самі підрахунки за барометричною висотою: edges_ft — [5000, 15000, 30000], а hexes містить чотири списки: нижче 5 000 футів, 5 000–15 000 футів, 15 000–30 000 футів і понад 30 000 футів. Кожен запис — { h, g, b }, з полігоном і часткою, узятими із шестикутника з тим самим h в основному списку (p = 100 × b ÷ (g + b), ті самі пороги для c). Діапазон пропускає комірки з менш ніж 3 літаками в цьому діапазоні. Літак, що змінює діапазон у комірці, враховується в кожному, тож чотири діапазони не складаються до основних підрахунків; літаки на землі або без висоти є лише в основних підрахунках.

Поля верхнього рівня: history_date — доба UTC, у яку відбулися польоти; updated — коли зведення було записано (UTC); grid — mercator-r0.34; window_minutes — 1440, одна доба; sources — adsb.lol-globe-history плюс випуск adsb.lol, з якого створено, наприклад adsb.lol-prod-0. У зведень, збережених до листопада 2026, може бракувати history_date, і вони містять polled_points, grid_points та failed_points зі старого збору наживо.

Кешування, CORS і обмеження

Останнє зведення, сьогоднішній збережений день та індекс дат надсилаються з cache-control: public, max-age=60. Завершений день надсилається з max-age=86400.

CORS браузера дозволено лише для https://gpsinterference.com і https://www.gpsinterference.com, тож інший сайт не може читати JSON із браузерів своїх відвідувачів; curl і запити з боку сервера не зачіпаються. Фіксованого ліміту частоти немає, але дуже часті запити можуть бути притлумлені. Дані змінюються раз на день, тож дотримуйтеся заголовків кешу, а не опитуйте постійно.

Зазначення джерела

Дані про літаки з глобальної історії adsb.lol, що поширюються за ліцензією Open Database License (ODbL). Цитуйте https://gpsinterference.com. Повідомлена низька точність не є підтвердженим глушінням і не визначає джерела. Плитки підкладки карти окремі й не є частиною цього API.

Цитування даних

Цитуйте збережений день, яким ви користувалися: остання карта змінюється щодня, а збережений день — ні.

APA

GPSInterference.com. (2026). GPS interference hexagon data [Data set]. https://gpsinterference.com/docs

Один збережений день:

GPSInterference.com. (2026). GPS interference hexagon data, 25 October 2026 [Data set]. https://api.gpsinterference.com/v1/interference/2026-10-25

BibTeX

@dataset{gpsinterference_2026,
  author       = {{GPSInterference.com}},
  title        = {GPS Interference Hexagon Data},
  year         = {2026},
  publisher    = {GPSInterference.com},
  url          = {https://gpsinterference.com/docs},
  note         = {Built from ADS-B flight tracks from adsb.lol globe history, available under the Open Database License (ODbL). Low reported accuracy (NACp 7 or lower) is not confirmed jamming. For one UTC day, use https://api.gpsinterference.com/v1/interference/YYYY-MM-DD}
}

Приклади

curl -sS "https://api.gpsinterference.com/v1/interference/latest"
curl -sS "https://api.gpsinterference.com/v1/interference/2026-10-25"

У JavaScript, на цьому сайті чи на сервері:

const res = await fetch("https://api.gpsinterference.com/v1/interference/latest");
if (!res.ok) throw new Error(String(res.status));
const data = await res.json();
// data.hexes[i] is { h, g, b, p, c, poly }

Методологія пояснює, як робляться підрахунки.

Вбудовування карти

Жива карта вільна для вбудовування. Вставте це туди, де вона має з'явитися:

<iframe src="https://gpsinterference.com/embed" width="640" height="400"
        style="border:0;width:100%;max-width:960px" loading="lazy"
        title="Live GPS interference map"></iframe>
<p>Live map: <a href="https://gpsinterference.com/">GPS Interference</a></p>

Налаштуйте її нижче й скопіюйте код або додайте параметри самостійно.

Параметри

Додайте будь-які з них до https://gpsinterference.com/embed, поєднуючи через &:

ПараметрЗначенняЩо робить
regionbaltic-sea, eastern-europe, black-sea, eastern-mediterranean, middle-east, east-asia, finland, estonia, latvia, lithuania, kaliningrad, poland, norway, romania, turkey, cyprus, israel, lebanon, south-korea, north-korea, japan, china, taiwan, philippines, vietnam, sweden, denmark, germany, iceland, united-kingdom, ukraine, belarus, moldova, bulgaria, georgia, armenia, azerbaijan, greece, egypt, iran, iraq, syria, jordan, saudi-arabia, united-arab-emirates, qatarВідкривається на цьому регіоні, підлаштованому під розмір рамки.
bboxsouth,west,north,eastВідкривається на будь-якому районі, у градусах, наприклад bbox=30,-120,40,-105.
lat, lon, zoomчислаВідкривається на центрі та масштабі замість району.
lock1Утримує читачів у районі: вони можуть у ньому переміщувати й масштабувати, але не віддалятися від нього.
styledark (типово), light, streets, satelliteКарта, на якій лежать шестикутники: темна, чиста світла карта для білих сторінок, вулиці або супутник із кордонами та назвами місць. Карти від MapTiler.
langauto, en, no, uk, pl, tr, es, fr, deМова тексту карти: auto бере мову браузера читача, або вкажіть один код. Без параметра — англійська. Сторінки регіонів використовують свою мову.
nameson, off (типово)Назви місць на карті.
altall (типово), low, mid, high, cruiseПоказує лише літаки одного діапазону висот: нижче 5 000 футів, 5 000–15 000 футів, 15 000–30 000 футів або понад 30 000 футів (барометричні). Дні, збережені до запису висот, показують усі літаки.
controlsonПоказує перемикачі стилю, назв і висоти польоту, щоб читачі могли їх змінювати.
dateYYYY-MM-DDПоказує збережений день замість останньої карти, для історії про цей день.