Встроить карту

Последнее обновление:

Открытый API возвращает шестиугольники, которые рисует карта, для последнего обновления или сохранённого дня, без исходных положений самолётов. Полная схема — в OpenAPI 3.1.

Встраивание карты

Карту онлайн можно встраивать бесплатно. Вставьте этот код туда, где она должна появиться:

Подходит для новостных сайтов, исследовательских проектов, блогов и учебных страниц, которым нужна актуальная карта, на которую можно ссылаться, без её разработки.

<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, south-southeast-asia, africa, americas, finland, estonia, latvia, lithuania, kaliningrad, poland, norway, romania, turkey, cyprus, israel, lebanon, south-korea, north-korea, japan, china, taiwan, philippines, vietnam, south-africa, morocco, algeria, kenya, senegal, tunisia, botswana, india, pakistan, myanmar, thailand, cambodia, malaysia, singapore, indonesia, 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, austria, russia, persian-gulf, united-states, canada, mexico, cuba, venezuela, colombia, brazil, argentina, chileОткрывает этот регион, подогнанный под размер блока.
bboxюг,запад,север,востокОткрывает любой район, в градусах, например bbox=30,-120,40,-105.
lat, lon, zoomчислаОткрывает заданные центр и масштаб вместо района.
lock1Удерживает читателей в районе: внутри него можно перемещаться и менять масштаб, но покинуть его нельзя.
stylesatellite (по умолчанию), globe, dark, light, streetsКарта под шестиугольниками: тёмная, чистая светлая для белых страниц, улицы или спутник с границами и названиями мест. Карты MapTiler.
langauto, en, no, uk, pl, tr, es, fr, de, ar, zh, he, ruЯзык текста карты: auto использует язык браузера читателя, либо укажите один код. Без параметра — английский. Страницы регионов используют свой язык.
nameson, off (по умолчанию)Названия мест на карте.
altall (по умолчанию), low, mid, high, cruiseПоказывает только самолёты в одном диапазоне высот: ниже 5000 футов, 5000–15 000 футов, 15 000–30 000 футов или выше 30 000 футов (барометрическая). За дни, сохранённые до начала записи высот, показаны все самолёты.
dateГГГГ-ММ-ДДПоказывает сохранённый день вместо последней карты, для материала об этом дне.

Последнее окно

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% и не менее 2 затронутых самолётов, p более 50% и не менее 12 затронутых самолётов; берётся из округлённого p.
polyКольцо пар [широта, долгота] в градусах.

Ячейки — шестиугольники с плоской вершиной на сетке Web Mercator с радиусом 0,34° по долготе (около 38 км от центра до угла на экваторе, 22 км на 54° с. ш.). Ячейки с менее чем 3 самолётами не включаются.

bands (сводки с 26 октября 2026 года) разбивает те же подсчёты по барометрической высоте: edges_ft равно [5000, 15000, 30000], а hexes содержит четыре списка: ниже 5000 футов, 5000–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. В сводках, сохранённых до 26 октября 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 и серверные запросы это не влияет. Фиксированного ограничения частоты нет, но очень частые запросы могут замедляться. Данные меняются раз в день, поэтому следуйте заголовкам кэша, а не опрашивайте постоянно.

Указание источника

Данные о самолётах: история globe с 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 }

О том, как делаются подсчёты, рассказывает методология.

A monkey typing on a laptop