Save up to 17% with yearly billing

See pricing

ML-Schätzung der Flugzeit

Flugzeit von Gate zu Gate zwischen zwei beliebigen Flughäfen, vorhergesagt von einem GradientBoosting-Modell, das auf historischen Betriebsdaten trainiert wurde (R² ≈ 0,98). Die Blockzeit ist die planmäßige Dauer von Gate zu Gate — gleichbedeutend mit Gate-to-Gate — einschließlich des Rollens an beiden Enden.

Verwenden Sie diesen Endpoint, wenn Sie Blockzeitschätzungen für die Flugplanung, Umsteigepuffer oder Dashboards zum Verspätungsrisiko benötigen, ohne eigene statistische Routentabellen pflegen zu müssen.

Geben Sie Start- und Zielflughafen als ICAO- oder IATA-Code an. Übergeben Sie optional einen ICAO-Flugzeugtypcode (B738, A320, B77W) für eine genauere Schätzung; fehlt er, verwendet das Modell typische Reiseflugparameter von Jets für das Städtepaar. Die API liefert einen Punktschätzwert, Min-/Max-Grenzen und eine lesbare Angabe der Dauer.

Wichtig: Wind und aktuelles Wetter auf der Strecke (En-Route) fließen nicht in das Modell ein — das Ergebnis ist ein statistischer Durchschnitt für die Route und die Flugzeugkategorie, keine Vorhersage für eine bestimmte Abflugzeit.

Anfrage

Voraussetzungen

Auth
x-api-key bei jeder Anfrage (Direktabonnement). Mehr erfahren →
GEThttps://data.skylinkapi.com/v3.1/ml/flight-time
ParameterTypErforderlichStandardBeschreibung
fromstringJa-ICAO- oder IATA-Code des Startflughafens (3–4 Zeichen), z. B. KSFO, SFO
tostringJa-ICAO- oder IATA-Code des Zielflughafens, z. B. KJFK, JFK
aircraftstringNeinModellstandardICAO-Flugzeugtypcode, z. B. B738, A320, C172

Antwort

{
  "origin": "KSFO",
  "destination": "KJFK",
  "aircraft_type": "B738",
  "distance_nm": 2241.75,
  "estimated_minutes": 294,
  "estimated_hours_display": "4h 54m",
  "min_minutes": 259,
  "max_minutes": 329,
  "model_version": "2.0.0-wind"
}

Vorhersageobjekt

FeldTypErforderlichNull?Beschreibung
originstringJaNieAufgelöster ICAO-Code des Startflughafens
destinationstringJaNieAufgelöster ICAO-Code des Zielflughafens
aircraft_typestring | nullNeinJaFür die Vorhersage verwendeter Flugzeugtyp oder null, wenn weggelassen
distance_nmnumberJaNieGroßkreisentfernung in nautischen Meilen
estimated_minutesintegerJaNieSchätzung von Gate zu Gate in Minuten (einschließlich durchschnittlicher Rollzeit an beiden Enden)
estimated_hours_displaystringJaNieLesbare Dauer, z. B. "4h 54m"
min_minutesintegerJaNieUntergrenze des Schätzbereichs
max_minutesintegerJaNieObergrenze des Schätzbereichs
model_versionstringJaNieVersionsstring des Modellartefakts

Wichtig: Verwenden Sie estimated_minutes für Berechnungen und estimated_hours_display für Beschriftungen, die Passagiere sehen. Zeigen Sie min_minutes–max_minutes als Bereich an, wenn Sie Unsicherheitsbänder benötigen (Umsteigeplanung, SLA-Puffer).

Client-Typen

"""ML flight time response models for /ml/flight-time."""from __future__ import annotationsfrom dataclasses import dataclass@dataclassclass FlightTimeRequest:    """Query input for GET /ml/flight-time."""    from_airport: str    to_airport: str    aircraft: str | None = None@dataclassclass FlightTimePrediction:    origin: str    destination: str    aircraft_type: str | None    distance_nm: float    estimated_minutes: int    estimated_hours_display: str    min_minutes: int    max_minutes: int    model_version: str

Integration

Routenplaner speichern ML-Flugzeitergebnisse in der Regel pro Städtepaar im Cache, da sich das zugrunde liegende Modell selten ändert. Das folgende Beispiel ruft eine Vorhersage ab, bildet sie auf ein kompaktes View-Model ab (block_minutes, display, range) und verwendet explizite Connect-/Read-Timeouts, damit ein langsamer Inferenzaufruf Ihren Worker nicht blockieren kann.

import osfrom dataclasses import dataclassimport requestsBASE = "https://data.skylinkapi.com/v3.1"HEADERS = {    "x-api-key": os.getenv("SKYLINK_API_KEY", "YOUR_API_KEY")}@dataclassclass FlightTimeEstimate:    origin: str    destination: str    block_minutes: int    display: str    min_minutes: int    max_minutes: int    distance_nm: floatdef fetch_flight_time(*, origin: str, destination: str, aircraft: str | None = None) -> dict:    """Fetch ML gate-to-gate flight time between two airports."""    params: dict[str, str] = {"from": origin.upper(), "to": destination.upper()}    if aircraft:        params["aircraft"] = aircraft.upper()    r = requests.get(f"{BASE}/ml/flight-time", headers=HEADERS, params=params, timeout=(10, 20))    r.raise_for_status()    return r.json()def flight_time_estimate(origin: str, destination: str, aircraft: str | None = None) -> FlightTimeEstimate:    data = fetch_flight_time(origin=origin, destination=destination, aircraft=aircraft)    return FlightTimeEstimate(        origin=data["origin"],        destination=data["destination"],        block_minutes=int(data["estimated_minutes"]),        display=data["estimated_hours_display"],        min_minutes=int(data["min_minutes"]),        max_minutes=int(data["max_minutes"]),        distance_nm=float(data["distance_nm"]),    )if __name__ == "__main__":    import json    from dataclasses import asdict    estimate = flight_time_estimate("KJFK", "KLAX", aircraft="B738")    print(json.dumps(asdict(estimate), indent=2))

Hinweise zur Implementierung

Flugzeugtyp. Schmalrumpfcodes (B738, A320) gegenüber Großraumcodes (B77W, A359) verändern die Blockzeit auf Langstrecken erheblich — übergeben Sie aircraft, wenn Ihre Flugplanzeile das Fluggerät bereits kennt.

Grenzen vs. Punktschätzwert. min_minutes und max_minutes umschließen die typische betriebliche Streuung. Behandeln Sie sie nicht als harte betriebliche Grenzwerte.

Wichtig: Ist das ML-Modell vorübergehend nicht verfügbar, greift SkyLink möglicherweise auf eine Berechnung aus Entfernung und Geschwindigkeit zurück. Prüfen Sie model_version, wenn Sie Vorhersagen für ESG- oder Flugplanungs-Workflows auditieren.

Fehlerantworten

Plattformweite Fehler (Authentifizierung, Rate Limits, Validierungsstrukturen) finden Sie unter Fehlerbehandlung. Endpoint-spezifisches Verhalten:

422 — ungültiger Flughafencode

Wird zurückgegeben, wenn from oder to keinem bekannten Flughafen zugeordnet werden kann oder die Query-Parameter die Validierung nicht bestehen.

GET
/ml/flight-time
x-api-key<token>

Your SkyLink licence key, for keys bought direct from skylinkapi.com.

In: header

Query Parameters

from*From

Origin airport ICAO or IATA code

Length3 <= length <= 4
to*To

Destination airport ICAO or IATA code

Length3 <= length <= 4
aircraft?Aircraft

Aircraft type code (e.g. B738, A320, C172)

Lengthlength <= 4

Response Body

application/json

application/json

curl -X GET "https://data.skylinkapi.com/v3.1/ml/flight-time?from=stri&to=stri"
{
  "origin": "string",
  "destination": "string",
  "aircraft_type": "string",
  "distance_nm": 0,
  "estimated_minutes": 0,
  "estimated_hours_display": "string",
  "min_minutes": 0,
  "max_minutes": 0,
  "model_version": "string"
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string",
      "input": null,
      "ctx": {}
    }
  ]
}