Save up to 17% with yearly billing

See pricing

Лётно-технические характеристики ВС

Получайте крейсерскую скорость, дальность и категорию турбулентности в спутном следе по коду типа воздушного судна ICAO (например, B738, A320). Справочные характеристики берутся из ICAO Doc 8643 (Aircraft Type Designators) — международного реестра кодов типов, наименований производителей, категорий двигателей и классов турбулентности в спутном следе. Эндпоинт характеристик ВС возвращает статические справочные данные для обозначения типа, а не значения для конкретного бортового номера. Правильный порядок работы — сначала определить icao_type через Поиск воздушного судна, затем вызвать этот эндпоинт.

Ответ содержит крейсерскую скорость в KTAS (истинная воздушная скорость в узлах — скорость относительно невозмущённого воздуха), практический потолок (максимальная высота, на которой воздушное судно может выдерживать горизонтальный полёт), максимальную дальность, двигатель и категорию турбулентности в спутном следе (классификация ICAO L/M/H/J на основе MTOW, определяющая минимальные интервалы эшелонирования между воздушными судами), а также физические размеры, включая MTOW (максимальная взлётная масса в метрических тоннах) и максимальное число пассажиров. Используйте эти данные для колец дальности на картах, оценок расхода топлива и стыковок, а также подсказок по эшелонированию с учётом спутного следа в диспетчерских инструментах.

Требования

Авторизация
x-api-key в каждом запросе (прямая подписка). Подробнее →

Запрос

GEThttps://data.skylinkapi.com/v3.1/aircraft/performance/{icao_type}
ПараметрТипОбязательныйПо умолчаниюОписание
icao_typestringДа (путь)-Обозначение типа по ICAO, например B738, A359, E190

Ответ

{
  "icao_type": "B738",
  "name": "BOEING 737-800",
  "engine_type": "Jet",
  "engine_code": "L2J",
  "wake_category": "M",
  "cruise_speed_ktas": 460.0,
  "service_ceiling_ft": 35000.0,
  "max_range_nm": 2900.0,
  "wing_span_m": 34.4,
  "length_m": 39.5,
  "mtow_t": 78.2,
  "max_passengers": 189
}
ПолеТипОбязательныйМожет быть null?Описание
icao_typestringДаНикогдаОбозначение типа по ICAO, повторённое из пути
namestringДаНикогдаНазвание модели воздушного судна
engine_typestringДаНикогдаКатегория двигателя, например Jet, Turboprop
engine_codestringДаНикогдаКод ICAO количества и типа двигателей, например L2J
wake_categorystringДаНикогдаКатегория турбулентности в спутном следе по ICAO (L, M, H, J)
cruise_speed_ktasnumberДаНикогдаТипичная крейсерская скорость в узлах истинной воздушной скорости
service_ceiling_ftnumberДаНикогдаПрактический потолок в футах
max_range_nmnumberДаНикогдаМаксимальная дальность в морских милях
wing_span_mnumberДаНикогдаРазмах крыла в метрах
length_mnumberДаНикогдаДлина фюзеляжа в метрах
mtow_tnumberДаНикогдаМаксимальная взлётная масса в метрических тоннах
max_passengersintegerДаНикогдаТипичная максимальная пассажировместимость

Если код типа распознан, все поля ответа не равны null — проверять необязательные null-значения не нужно.

Клиентские типы

"""Aircraft performance models for GET /aircraft/performance/{icao_type}."""from __future__ import annotationsfrom dataclasses import dataclass@dataclassclass AircraftPerformance:    icao_type: str    name: str    engine_type: str    engine_code: str    wake_category: str    cruise_speed_ktas: float    service_ceiling_ft: float    max_range_nm: float    wing_span_m: float    length_m: float    mtow_t: float    max_passengers: int@dataclassclass PerformanceSummary:    """Compact model for range rings and briefing cards."""    icao_type: str    name: str    cruise_speed_ktas: float    max_range_nm: float    wake_category: str

Интеграция

Получите характеристики для кода типа и постройте кольцо дальности или сводку для брифинга.

Пример ниже кэширует профили характеристик на 7 дней, поскольку данные на уровне типа меняются редко. Каждый вызов использует таймауты подключения и чтения (10 с / 15 с). Вспомогательная функция возвращает компактную модель с нормализованными единицами скорости и дальности для наложений на карту.

import osimport timefrom dataclasses import dataclassimport requestsHEADERS = {    "x-api-key": os.getenv("SKYLINK_API_KEY", "YOUR_API_KEY")}BASE = "https://data.skylinkapi.com/v3.1"CACHE: dict[str, tuple[dict, float]] = {}PERF_TTL = 604_800  # 7 days@dataclassclass PerformanceSummary:    icao_type: str    name: str    cruise_speed_ktas: float    max_range_nm: float    wake_category: strdef fetch_performance(icao_type: str) -> dict:    """Fetch performance profile for an ICAO aircraft type code."""    code = icao_type.strip().upper()    key = f"perf:{code}"    cached = CACHE.get(key)    if cached and time.time() < cached[1]:        return cached[0]    try:        r = requests.get(            f"{BASE}/aircraft/performance/{code}",            headers=HEADERS,            timeout=(10, 15),        )    except requests.Timeout as exc:        raise RuntimeError(f"SkyLink timeout fetching performance {code}") from exc    r.raise_for_status()    payload = r.json()    CACHE[key] = (payload, time.time() + PERF_TTL)    return payloaddef performance_summary(icao_type: str) -> PerformanceSummary:    data = fetch_performance(icao_type)    return PerformanceSummary(        icao_type=data["icao_type"],        name=data["name"],        cruise_speed_ktas=float(data["cruise_speed_ktas"]),        max_range_nm=float(data["max_range_nm"]),        wake_category=data["wake_category"],    )if __name__ == "__main__":    import json    from dataclasses import asdict    summary = performance_summary("B738")    print(json.dumps(asdict(summary), indent=2))

Примечания по реализации

Источник кода типа. Определите icao_type через Поиск воздушного судна или обогащение данных ADS-B перед вызовом этого эндпоинта — передавайте обозначение ICAO (B738), а не полное маркетинговое название.

Не привязано к бортовому номеру. MTOW и дальность — это средние значения по парку для данного типа, а не значения для конфигурации отдельного воздушного судна.

Категория спутного следа. Используйте wake_category только для подсказок по эшелонированию в диспетчерских инструментах — это справочные данные, а не текущее указание УВД.

Кэширование. Данные можно безопасно кэшировать по icao_type на дни или недели. Сбрасывайте кэш только тогда, когда SkyLink объявляет об обновлении набора данных.

Прогноз блочного времени. Для прогноза блочного времени с помощью ML с учётом типа см. Время полёта.

Ответы с ошибками

Общие ошибки платформы (аутентификация, ограничения частоты запросов, ошибки сервера) описаны на странице Обработка ошибок. Поведение, специфичное для эндпоинта:

422 — неизвестный или некорректный код типа

{
  "detail": [
    {
      "type": "value_error",
      "loc": ["path", "icao_type"],
      "msg": "Unknown ICAO aircraft type"
    }
  ]
}

Возникает, когда обозначения типа нет в наборе данных характеристик. Проверяйте коды через поиск до вызова и обрабатывайте 422, показывая в интерфейсе резервную подпись.

GET
/aircraft/performance/{icao_type}
x-api-key<token>

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

In: header

Path Parameters

icao_type*Icao Type

Response Body

application/json

application/json

curl -X GET "https://data.skylinkapi.com/v3.1/aircraft/performance/B738"
{
  "icao_type": "B77W",
  "name": "BOEING 777-300ER",
  "engine_type": "Jet",
  "engine_code": "L2J",
  "wake_category": "H",
  "cruise_speed_ktas": 490,
  "service_ceiling_ft": 43000,
  "max_range_nm": 7370,
  "wing_span_m": 64.8,
  "length_m": 73.9,
  "mtow_t": 351.5,
  "max_passengers": 396
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string",
      "input": null,
      "ctx": {}
    }
  ]
}

См. также: Поиск воздушного судна · ADS-B · Расстояние и пеленг