PL EN DE

EOP-API-Dokumentation

Beschreibung der von gnss.day bereitgestellten Erdorientierungsdaten: Felder, Einheiten, Formate und Nutzungsbedingungen. Diese Dokumentation ist offen — das Lesen erfordert kein Konto.

Zugang

Die Daten sind kostenlos. Wir unterscheiden das Betrachten vom programmatischen Zugriff.

Daten ansehen — ohne Anmeldung.
Das gesamte Portal — Diagramme, Epochentabelle, CSV-Export aus dem Browser — funktioniert ohne Konto und ohne Einschränkungen. Dabei werden keine personenbezogenen Daten erhoben.
Programmatischer Zugriff (API) — auf Anfrage.
Für die Nutzung der API fordern Sie einen Schlüssel an unter kontakt@gdansk.ai. Schlüssel werden manuell vergeben — nennen Sie kurz den Verwendungszweck. Das Standardlimit beträgt 1000 Anfragen pro Tag; falls Sie mehr benötigen, sagen Sie es gleich.

Die API befindet sich derzeit in einer Testphase. In diesem Zeitraum wird der Zugang unentgeltlich gewährt, um Rückmeldungen zu sammeln. Der API-Zugang wird künftig kostenpflichtig — alle Schlüsselinhaber werden rechtzeitig unter der bei der Ausgabe angegebenen Adresse informiert. Das Betrachten der Daten auf der Website bleibt kostenlos.

Die Quelldaten bleiben öffentlich. Der Schlüssel betrifft nur unseren Dienst, nicht die Daten selbst. Die Originaldatei ist gemeinfrei und kann von jedem direkt bezogen werden bei USNO, ohne Konto und ohne unsere Vermittlung.

Was der Schlüssel bietet

Authentifizierung

Der Schlüssel wird im Header X-API-Key übergeben:

curl -H "X-API-Key: gd_twoj_klucz" \
     "https://gnss.day/api/v1/eop?last=1"

Der Schlüssel identifiziert Sie gegenüber dem Dienst — behandeln Sie ihn wie ein Passwort. Nicht in veröffentlichte Repositories und nicht in URLs, die in Logs landen.

CodeBedeutung
200OK
400Fehlerhafte Abfrageparameter
401Schlüssel fehlt, ungültig oder deaktiviert
404Epoche außerhalb des Bereichs oder unbekannter Endpunkt
429Tageslimit überschritten

Beispielantwort

So sieht die Antwort der API aus. Unten eine echte Antwort für die Epoche 2026-07-30.

JSON — eine einzelne Epoche

$ curl -H "X-API-Key: $KEY" \
     "https://gnss.day/api/v1/eop?date=2026-07-30"

{
  "count": 1,
  "data": [
    {
      "mjd":  61251,
      "date": "2026-07-30",
      "type": "final/rapid",
      "eop": {
        "xp_arcsec": 0.219628,
        "yp_arcsec": 0.365836,
        "ut1_utc_s": 0.0129614,
        "lod_ms":    null,
        "dX_mas":    -0.011,
        "dY_mas":    -0.028
      },
      "sigma": {
        "xp_arcsec": 9e-05,
        "yp_arcsec": 9e-05,
        "ut1_utc_s": 9.5e-06,
        "lod_ms":    null
      }
    }
  ]
}

CSV — derselbe Bereich als CSV

$ curl -H "X-API-Key: $KEY" \
     "https://gnss.day/api/v1/eop?last=2&format=csv"

mjd,date,type,xp_arcsec,yp_arcsec,ut1_utc_s,lod_ms,dX_mas,dY_mas,sig_xp,sig_yp,sig_ut1,sig_lod
61250,2026-07-29,final/rapid,0.219198,0.366419,0.0126808,-0.4121,-0.002,-0.04,9.1e-05,9e-05,1.37e-05,0.0094
61251,2026-07-30,final/rapid,0.219628,0.365836,0.0129614,,-0.011,-0.028,9e-05,9e-05,9.5e-06,
Die Felder lod_ms und sig_lod sind leer — IERS veröffentlicht die Tageslänge einen Tag später als die übrigen Parameter. Das ist für die neueste Epoche normal und kein Fehler.

Poster (PNG, 1600×4150) →

Vollständige Feld- und Einheitenreferenz →

Was die API liefert

Sechs Erdorientierungsparameter samt Unsicherheiten, getrennt nach Beobachtungen und Vorhersagen.

EigenschaftWert
Parameterxp, yp, UT1−UTC, LOD, dX, dY (+ niepewności)
Abtastungtäglich (eine Epoche pro Tag, um 00:00 UTC)
Abdeckungletzte ~10 Jahre + Vorhersagen
Epochen~4000
Aktualisierungalle 6 h (die Quelle publiziert einmal täglich)
QuelleUSNO / IERS Rapid Service–Prediction Center, finals2000A.all
FormateJSON, CSV
Die Zahlenwerte werden nicht verändert — die Verarbeitung beschränkt sich auf das Parsen des Quellformats und die Eingrenzung des Zeitraums. Eigene Berechnungen oder Korrekturen nehmen wir nicht vor.

Beobachtungen und Vorhersagen

Jeder Datensatz trägt ein Typkennzeichen. Die Unterscheidung ist wichtig — Vorhersagen haben eine um eine Größenordnung höhere Unsicherheit und ändern sich mit jeder Veröffentlichung.

Kennz.BedeutungEigenschaft
IBeobachtung (final/rapid)aus Messungen abgeleitet; stabil
PVorhersageIERS-Extrapolation; Unsicherheit wächst mit dem Horizont

Feldreferenz

Die Einheiten folgen den IERS-Konventionen. Felder können null sein, wenn die Quelle für diese Epoche keinen Wert veröffentlicht.

FeldEinheitTypBeschreibung
mjdTagintModifiziertes Julianisches Datum der Epoche (00:00 UTC)
datestringKalenderdatum YYYY-MM-DD (UTC)
flagstringI = Beobachtung, P = Vorhersage
xparcsec (″)floatPolbewegung, X-Komponente (entlang des Greenwich-Meridians)
yparcsec (″)floatPolbewegung, Y-Komponente (entlang des Meridians 90°E)
ut1_utcsfloatDifferenz UT1 − UTC (ΔUT1)
lodmsfloat / nullÜberschuss der Tageslänge über 86.400 SI-Sekunden
dXmasfloat / nullHimmelspol-Offset, X-Komponente (IAU 2000A)
dYmasfloat / nullHimmelspol-Offset, Y-Komponente (IAU 2000A)
xp_errarcsecfloatUnsicherheit (1σ) für xp
yp_errarcsecfloatUnsicherheit (1σ) für yp
ut1_errsfloatUnsicherheit (1σ) für ut1_utc
lod_errmsfloat / nullUnsicherheit (1σ) für lod
LOD fehlt oft für die neuesten Epochen. IERS veröffentlicht die Tageslänge einen Tag später als die übrigen Parameter, daher trägt der letzte beobachtete Datensatz häufig lod: null. Ebenso fehlen dX/dY bei einem Teil der Vorhersagen. Ihr Client sollte damit umgehen können.

Endpunkte

Jetzt verfügbar ohne Schlüssel

Das Portal liefert die Daten als statische Dateien. Sie sind öffentlich und schon heute nutzbar, auch programmatisch — ohne Registrierung.

RessourceBeschreibung
GET /data/eop.jsonDie vollständige Reihe in Spaltenform (parallele Arrays)
GET /data/eop_meta.jsonMetadaten: Abdeckung, Epochenzahl, Quelle, Rechtsgrundlage
Das Spaltenformat (parallele Arrays statt einer Objektliste) verringert die Antwortgröße um ~40 %. Das i-te Element jedes Arrays gehört zur selben Epoche.

Abfragen Schlüssel nötig

Die Abfrage-Endpunkte sind aktiv. Authentifizierung über den Header X-API-Key. Sie umfassen die vollständige Reihe ab 1973 — mehr als die statischen Dateien, die auf die letzten ~10 Jahre beschnitten sind.

EndpunktBeschreibung
GET /api/v1/eop?date=YYYY-MM-DDParameter für eine einzelne Epoche
GET /api/v1/eop?mjd=61251Parameter für eine als MJD angegebene Epoche
GET /api/v1/eop?start=…&end=…Ein Epochenbereich
GET /api/v1/eop?last=NLetzte N Tage (last=-N = N Tage voraus)
GET /api/v1/metaMetadaten des Datensatzes (ohne Schlüssel)
GET /api/v1/healthDienststatus (ohne Schlüssel)

Der Parameter &format=json|csv schaltet das Antwortformat um. Authentifizierung über X-API-Key: <Schlüssel>.

Beispiele

Heute lauffähig, gegen die statischen Dateien — ohne Konto, ohne Schlüssel.

Metadaten abrufen

curl -s https://gnss.day/data/eop_meta.json

Letzte beobachtete Epoche (Python)

# Spaltenformat: der i-te Index jedes Arrays ist dieselbe Epoche
import json, urllib.request

B = "https://gnss.day/data/"
d = json.load(urllib.request.urlopen(B + "eop.json"))
m = json.load(urllib.request.urlopen(B + "eop_meta.json"))

i = d["mjd"].index(m["last_obs_mjd"])
print(m["last_obs_date"],
      "xp=", d["xp"][i],
      "yp=", d["yp"][i],
      "UT1-UTC=", d["ut1"][i])

Nur Beobachtungen filtern

# flag ist eine kompakte Zeichenkette, ein Zeichen je Epoche: "IIII...PPP"
obs = [(d["mjd"][i], d["xp"][i])
       for i, f in enumerate(d["flag"]) if f == "I"]
print(len(obs), "Beobachtungen")

Antwortstruktur (Auszug)

{
  "mjd":  [61249, 61250, 61251],
  "flag": "III",
  "xp":   [0.218763, 0.219198, 0.219628],
  "yp":   [0.367005, 0.366419, 0.365836],
  "ut1":  [0.0124, 0.0126808, 0.0129614],
  "lod":  [-0.3987, -0.4121, null]   // null = in der Quelle nicht vorhanden
}

API-Abfragen (mit Schlüssel)

# eine einzelne Epoche
curl -H "X-API-Key: $KEY" \
     "https://gnss.day/api/v1/eop?date=2026-07-30"

# die letzten 30 beobachteten Tage, als CSV
curl -H "X-API-Key: $KEY" \
     "https://gnss.day/api/v1/eop?last=30&format=csv"

# ein Datumsbereich
curl -H "X-API-Key: $KEY" \
     "https://gnss.day/api/v1/eop?start=2026-01-01&end=2026-06-30"

# interpoliert auf 12:00 UTC (gebrochenes MJD)
curl -H "X-API-Key: $KEY" \
     "https://gnss.day/api/v1/eop?mjd=61250.5"

Ein Python-Client

import json, urllib.request

def eop(**q):
    """Abfrage der EOP-API. Erfordert den Schlüssel in KEY."""
    url = "https://gnss.day/api/v1/eop?" + urllib.parse.urlencode(q)
    req = urllib.request.Request(url, headers={"X-API-Key": KEY})
    with urllib.request.urlopen(req) as r:
        return json.load(r)

d = eop(last=7)
for r in d["data"]:
    print(r["date"], r["eop"]["xp_arcsec"], r["eop"]["ut1_utc_s"])

Lizenz und Nutzungsbedingungen

Die Daten

Sie stammen vom USNO / IERS Rapid Service–Prediction Center und tragen den Vermerk „Approved for public release: distribution unlimited“ — als Werk der US-Regierung (17 U.S.C. § 105) sind sie gemeinfrei. Wir fügen keine eigenen Lizenzbeschränkungen hinzu: Sie dürfen sie frei nutzen, auch kommerziell.

Eine Quellenangabe ist rechtlich nicht erforderlich, wir bitten aber darum — sie entspricht guter wissenschaftlicher Praxis und erleichtert die Überprüfung.

Haftungsausschluss

Personenbezogene Daten

Das Betrachten des Portals erfordert kein Konto und keine Erhebung personenbezogener Daten. Für einen API-Schlüssel wird lediglich eine E-Mail-Adresse benötigt — verarbeitet zur Erbringung des Dienstes (Art. 6 Abs. 1 lit. b DSGVO). Wir geben sie nicht weiter und nutzen sie nicht für Marketing. Der Schlüssel kann jederzeit widerrufen und die Kontaktdaten gelöscht werden — schreiben Sie einfach an kontakt@gdansk.ai.

Für die Nutzung gelten die Nutzungsbedingungen (auf Polnisch). Eine ausführliche Analyse der Quellenlizenzen liegt in der Projektdokumentation und ist auf Anfrage unter der Kontaktadresse erhältlich.