Читайте дані

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

Публічне 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, 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.
nameson, off (типово)Назви місць на карті.
altall (типово), low, mid, high, cruiseПоказує лише літаки одного діапазону висот: нижче 5 000 футів, 5 000–15 000 футів, 15 000–30 000 футів або понад 30 000 футів (барометричні). Дні, збережені до запису висот, показують усі літаки.
controlsonПоказує перемикачі стилю, назв і висоти польоту, щоб читачі могли їх змінювати.
dateYYYY-MM-DDПоказує збережений день замість останньої карти, для історії про цей день.