Die Karte einbetten

Zuletzt aktualisiert

Die öffentliche API liefert die Sechsecke, die die Karte zeichnet, für das letzte Update oder einen gespeicherten Tag, ohne rohe Flugzeugpositionen. Das vollständige Schema steht in OpenAPI 3.1.

Quelle: GPSInterference.com, https://gpsinterference.com/de/docs. Weiterverwendung frei mit dieser Quellenangabe und einem Link.

Die Karte einbetten

Die Live-Karte darf frei eingebettet werden. Passt für Nachrichtenseiten, Forschungsprojekte, Blogs und Lehrseiten, die eine lebendige, zitierbare Karte wollen, ohne selbst eine zu bauen.

Füge das dort ein, wo sie erscheinen soll:

<iframe src="https://gpsinterference.com/embed" width="640" height="400"
        style="border:0;width:100%;max-width:960px" loading="lazy"
        title="Live-Karte der GPS-Störungen"></iframe>
<p>Live-Karte: <a href="https://gpsinterference.com/de/">GPS-Störungen</a></p>

Nutze den Baukasten unten und kopiere den Code, oder füge die Optionen von Hand hinzu.

Optionen

Füge diese an https://gpsinterference.com/embed an, verbunden mit &:

OptionWerteWas sie bewirkt
regionbaltic-sea, eastern-europe, black-sea, eastern-mediterranean, middle-east, east-asia, south-southeast-asia, western-europe, balkans, oceania, 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, france, spain, portugal, italy, ireland, netherlands, belgium, switzerland, serbia, croatia, bosnia-and-herzegovina, albania, slovenia, north-macedonia, australia, new-zealand, hungary, czechia, slovakia, paraguay, uruguay, peru, oman, nepal, bangladesh, bolivia, cameroonÖffnet auf dieser Region, an die Größe des Rahmens angepasst.
bboxsouth,west,north,eastÖffnet auf einem beliebigen Gebiet, in Grad, zum Beispiel bbox=30,-120,40,-105.
lat, lon, zoomZahlenÖffnet auf einem Mittelpunkt und Zoom statt auf einem Gebiet.
lock1Hält Leser im Gebiet: Sie können darin schwenken und zoomen, aber nicht davon weg.
stylesatellite (Standard), globe, dark, light, streetsDie Karte, auf der die Sechsecke liegen: dunkel, eine klare helle Karte für weiße Seiten, Straßen oder Satellit mit Grenzen und Ortsnamen. Karten von MapTiler.
langauto, en, no, uk, pl, tr, es, fr, de, ar, zh, he, ru, jaDie Sprache des Kartentexts: auto nutzt die Browsersprache des Lesers, oder gib einen Code an. Ohne Angabe Englisch. Die Regionsseiten verwenden ihre eigene Sprache.
nameson, off (Standard)Ortsnamen auf der Karte.
altall (Standard), low, mid, high, cruiseZeigt nur Flugzeuge in einem Höhenband: unter 5.000 ft, 5.000–15.000 ft, 15.000–30.000 ft oder über 30.000 ft (barometrisch). Vor der Höhenerfassung gespeicherte Tage zeigen alle Flugzeuge.
dateYYYY-MM-DDZeigt einen gespeicherten Tag statt der aktuellen Karte, für eine Geschichte über diesen Tag.

Aktuelles Fenster

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

GET https://api.gpsinterference.com/interference.json liefert dasselbe Dokument, das die Karte nutzt. Es enthält einen UTC-Tag mit Flügen, history_date, und wird einmal täglich gegen 05:00 UTC neu erstellt.

Ein UTC-Tag

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

Die Karte, wie sie bei der letzten Aktualisierung dieses UTC-Tages stand (keine Zählung nur der Flüge dieses Datums). Sie hat dieselben Felder wie die neueste Zusammenfassung, dazu archive_date und complete. complete ist falsch, solange der Tag noch heute ist und ersetzt werden kann; ein abgeschlossener Tag ändert sich nie. Ein Datum ohne gespeicherte Karte liefert 404 und {"error":"no archive"}.

GET https://api.gpsinterference.com/v1/interference/days listet jeden gespeicherten Tag: date, updated und hexes (eine Anzahl), ohne Polygone.

Tagesreihe

GET https://api.gpsinterference.com/v1/interference/series/SLUG ist die Tagesreihe einer Region, eines Landes oder der Welt: eine Zeile je gespeichertem Tag, älteste zuerst, mit den Zahlen der Sechsecke und Flugzeuge und pct, dem Anteil der betroffenen Gebiete (rote und gelbe Sechsecke an allen Sechsecken). Der Slug ist die Seitenadresse, wie in /region/baltic-sea, oder world. Jede Regionsseite zeichnet sie unter Im Zeitverlauf.

Gesamter Datensatz

Für den Datensatz als Ganzes, etwa alle gespeicherten Tage auf einmal, schreib an contact@libregps.com, statt ihn Tag für Tag abzurufen.

Sechseck-Felder

FeldBedeutung
hZellen-ID, column_row im Web-Mercator-Sechsecknetz.
gVerschiedene Flugzeuge in der Zelle, deren NACp über 7 blieb.
bVerschiedene Flugzeuge, die in der Zelle mindestens einmal NACp 7 oder niedriger meldeten.
pAnteil betroffen, in Prozent, auf eine Nachkommastelle: 100 × b ÷ (g + b). Die Farbe richtet sich danach.
cg unter 3 %, y von 3 % bis 10 %, r über 10 %, p über 50 % bei mindestens 12 betroffenen Flugzeugen, aus dem gerundeten p.
polyRing aus [latitude, longitude]-Paaren, in Grad.

Die Zellen sind flache Sechsecke im Web-Mercator-Netz mit einem Längengradradius von 0,34° (etwa 38 km von der Mitte zur Ecke am Äquator, 22 km bei 54°N). Zellen mit weniger als 3 Flugzeugen werden weggelassen.

bands (Zusammenfassungen ab dem 26. Oktober 2026) teilt dieselben Zahlen nach barometrischer Höhe: edges_ft ist [5000, 15000, 30000] und hexes enthält vier Listen, für unter 5.000 ft, 5.000–15.000 ft, 15.000–30.000 ft und über 30.000 ft. Jeder Eintrag ist { h, g, b }, wobei Polygon und Anteil vom Sechseck mit demselben h in der Hauptliste stammen (p = 100 × b ÷ (g + b), dieselben Schwellen für c). Ein Band lässt Zellen mit weniger als 3 Flugzeugen in diesem Band weg. Ein Flugzeug, das in einer Zelle das Band wechselt, wird in jedem gezählt, die vier Bänder ergeben also nicht die Hauptzahlen; Flugzeuge am Boden oder ohne Höhe sind nur in den Hauptzahlen.

Felder der obersten Ebene: history_date ist der UTC-Tag der Flüge; updated ist, wann die Zusammenfassung geschrieben wurde (UTC); grid ist mercator-r0.34; window_minutes ist 1440, ein Tag; sources ist adsb.lol-globe-history plus die adsb.lol-Version, aus der sie gebaut wurde, etwa adsb.lol-prod-0. Vor dem 26. Oktober 2026 gespeicherten Zusammenfassungen kann history_date fehlen, und sie tragen polled_points, grid_points und failed_points aus der alten Live-Erfassung.

Caching, CORS und Grenzen

Die neueste Zusammenfassung, der gespeicherte heutige Tag und der Datumsindex werden mit cache-control: public, max-age=60 gesendet, ein abgeschlossener Tag mit max-age=86400.

Browser-CORS ist nur für https://gpsinterference.com und https://www.gpsinterference.com erlaubt, andere Websites können das JSON also nicht aus den Browsern ihrer Besucher lesen (curl und serverseitige Anfragen sind nicht betroffen). Es gibt kein festes Anfragelimit, aber sehr häufige Anfragen können gedrosselt werden. Die Daten ändern sich einmal täglich, richte dich also nach den Cache-Headern, statt ständig abzufragen.

Quellenangabe

Die Flugzeugdaten stammen aus dem Globe-Verlauf von adsb.lol, geteilt unter der Open Database License (ODbL). Zitiere https://gpsinterference.com. Gemeldete geringe Genauigkeit ist kein bestätigtes Jamming und benennt keine Quelle. Basiskarten-Kacheln sind getrennt und nicht Teil dieser API.

Jede JSON-Antwort beginnt mit einem Feld attribution, und jede Antwort trägt einen Header X-Attribution. Wer diese Zahlen irgendwo verwendet, auch in der Antwort eines KI-Assistenten, nennt GPSInterference.com und verlinkt https://gpsinterference.com. Source: GPSInterference.com (https://gpsinterference.com/) genügt.

Tägliche Aufzeichnungen

Jeder gespeicherte Tag hat eine eigene Seite mit der Überschrift, die die Karte zeigte, einer Regionstabelle, in der jedes Sechseck einmal zählt, der Serie der Welt und einem Zitat: alle gespeicherten Tage, zuletzt der 8. November 2026.

Die Daten zitieren

Zitiere den gespeicherten Tag, den du verwendet hast. Die neueste Karte ändert sich täglich, ein gespeicherter Tag nicht.

APA

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

Ein gespeicherter Tag:

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}
}

Beispiele

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

In JavaScript, auf dieser Seite oder einem Server:

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 }

Die Methodik erklärt, wie die Zahlen entstehen.

A monkey typing on a laptop