Читайте дані
Востаннє оновлено
Публічне 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). Колір береться з цього. |
c | g менше 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-25BibTeX
@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, поєднуючи через &:
| Параметр | Значення | Що робить |
|---|---|---|
region | baltic-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 | Відкривається на цьому регіоні, підлаштованому під розмір рамки. |
bbox | south,west,north,east | Відкривається на будь-якому районі, у градусах, наприклад bbox=30,-120,40,-105. |
lat, lon, zoom | числа | Відкривається на центрі та масштабі замість району. |
lock | 1 | Утримує читачів у районі: вони можуть у ньому переміщувати й масштабувати, але не віддалятися від нього. |
style | dark (типово), light, streets, satellite | Карта, на якій лежать шестикутники: темна, чиста світла карта для білих сторінок, вулиці або супутник із кордонами та назвами місць. Карти від MapTiler. |
names | on, off (типово) | Назви місць на карті. |
alt | all (типово), low, mid, high, cruise | Показує лише літаки одного діапазону висот: нижче 5 000 футів, 5 000–15 000 футів, 15 000–30 000 футів або понад 30 000 футів (барометричні). Дні, збережені до запису висот, показують усі літаки. |
controls | on | Показує перемикачі стилю, назв і висоти польоту, щоб читачі могли їх змінювати. |
date | YYYY-MM-DD | Показує збережений день замість останньої карти, для історії про цей день. |