# Entfernung & Kurs

Großkreisentfernung und Anfangskurs zwischen Flughäfen oder Koordinaten – in nautischen Meilen, Kilometern und Meilen, inklusive Mittelpunkt.



Berechnen Sie die &#x2A;*[Großkreisentfernung](https://en.wikipedia.org/wiki/Great-circle_distance)** (kürzester Weg zwischen zwei Punkten auf einer Kugel — keine gerade Linie auf einer flachen Karte), den anfänglichen **Kurs** (Kompassrichtung vom Start- zum Zielpunkt in Grad rechtweisend), die Himmelsrichtung nach der achtteiligen Windrose und den geografischen Mittelpunkt zwischen zwei Punkten. Jede Seite kann ein Flughafencode oder ein Paar roher [WGS-84](https://en.wikipedia.org/wiki/World_Geodetic_System)-Koordinaten sein — auch gemischt.

Geeignet für Routenvorschaukarten, Treibstoffrechner und Reichweitenring-Overlays, ohne dass Sie eine eigene Haversine-Implementierung pflegen müssen.

## Anfrage [#request]

<DocRequirements>
  <DocRequirementAuth />
</DocRequirements>

<DocApiPath method="GET" path="/distance" />

| Parameter   | Typ    | Erforderlich | Standard | Beschreibung                                  |
| ----------- | ------ | ------------ | -------- | --------------------------------------------- |
| `from_icao` | string | Bedingt      | -        | ICAO- oder IATA-Code des Startflughafens      |
| `to_icao`   | string | Bedingt      | -        | ICAO- oder IATA-Code des Zielflughafens       |
| `from_lat`  | number | Bedingt      | -        | Breitengrad des Startpunkts (`-90` bis `90`)  |
| `from_lon`  | number | Bedingt      | -        | Längengrad des Startpunkts (`-180` bis `180`) |
| `to_lat`    | number | Bedingt      | -        | Breitengrad des Zielpunkts (`-90` bis `90`)   |
| `to_lon`    | number | Bedingt      | -        | Längengrad des Zielpunkts (`-180` bis `180`)  |
| `unit`      | string | Nein         | `nm`     | Bevorzugte Anzeigeeinheit (`nm`, `km`, `mi`)  |

Geben Sie jede Seite entweder als Code oder als Koordinatenpaar an:

| Modus                   | Beispiel                                                   |
| ----------------------- | ---------------------------------------------------------- |
| Flughafen → Flughafen   | `from_icao=KJFK&to_icao=EGLL`                              |
| Koordinate → Flughafen  | `from_lat=40.6413&from_lon=-73.7781&to_icao=EGLL`          |
| Koordinate → Koordinate | `from_lat=40.64&from_lon=-73.78&to_lat=51.47&to_lon=-0.46` |

## Antwort [#response]

```json
{
  "from": "KJFK",
  "to": "EGLL",
  "distance_nm": 2991.61,
  "distance_km": 5539.91,
  "distance_mi": 3442.19,
  "bearing_deg": 51.35,
  "cardinal": "NE",
  "midpoint_lat": 52.216,
  "midpoint_lon": -41.306
}
```

| Feld           | Typ    | Erforderlich | Beschreibung                                                                          |
| -------------- | ------ | ------------ | ------------------------------------------------------------------------------------- |
| `from`         | string | **Ja**       | Aufgelöste Kennung des Startpunkts                                                    |
| `to`           | string | **Ja**       | Aufgelöste Kennung des Zielpunkts                                                     |
| `distance_nm`  | number | **Ja**       | Entfernung in **nautischen Meilen** (1 NM ≈ 1,852 km — Standardeinheit der Luftfahrt) |
| `distance_km`  | number | **Ja**       | Entfernung in Kilometern                                                              |
| `distance_mi`  | number | **Ja**       | Entfernung in Landmeilen                                                              |
| `bearing_deg`  | number | **Ja**       | Rechtweisender Anfangskurs (0–360)                                                    |
| `cardinal`     | string | **Ja**       | Richtung nach der achtteiligen Windrose (`N`, `NE`, `E`, …), abgeleitet aus dem Kurs  |
| `midpoint_lat` | number | **Ja**       | Breitengrad des geografischen Mittelpunkts                                            |
| `midpoint_lon` | number | **Ja**       | Längengrad des geografischen Mittelpunkts                                             |

**Alle drei Entfernungseinheiten werden immer zurückgegeben**, unabhängig vom Parameter `unit`. Verwenden Sie `unit` nur als Anzeigepräferenz.

## Client-Typen [#client-types]

<DocClientTypes id="v31/distance/distance-types" />

## Integration [#integration]

Berechnen Sie die Routengeometrie für eine Vorschaukarte mit expliziter Timeout-Behandlung.

<DocExample id="v31/distance/distance-fetch" />

### Hinweise zur Implementierung [#implementation-notes]

**Eingabevalidierung.** Prüfen Sie die Grenzen von Breiten- und Längengrad clientseitig, um vermeidbare 422-Antworten zu verhindern.

**Himmelsrichtung.** `cardinal` gibt nur den Anfangskurs wieder — weder Wind noch die Streckenführung über veröffentlichte Luftstraßen.

**Routenauflösung.** Für Paare aus Rufzeichen → Start-/Zielflughafen verwenden Sie [Routen](/docs/v31/routes). Für die per ML vorhergesagte Blockzeit siehe [Flugzeit](/docs/v31/flight-time).

## Fehlerantworten [#error-responses]

Gemeinsame Plattformfehler finden Sie unter [Fehlerbehandlung](/docs/errors). Endpoint-spezifisch:

### 422 - ungültige Punktdefinition [#422---invalid-point-definition]

```json
{
  "detail": [
    {
      "type": "value_error",
      "loc": ["query", "from_lat"],
      "msg": "from_lat must be between -90 and 90"
    }
  ]
}
```

<APIPage document="&#x22;https://api.skylinkapi.com/v3.1/openapi.json&#x22;" operations="[{&#x22;path&#x22;:&#x22;/distance&#x22;,&#x22;method&#x22;:&#x22;get&#x22;}]" />

***

Siehe auch: [Flughäfen](/docs/v31/airports) · [Routen](/docs/v31/routes) · [Flug-Briefing](/docs/v31/flight-briefing)
