Лётно-технические характеристики ВС
Получайте крейсерскую скорость, дальность и категорию турбулентности в спутном следе по коду типа воздушного судна ICAO (например, B738, A320). Справочные характеристики берутся из ICAO Doc 8643 (Aircraft Type Designators) — международного реестра кодов типов, наименований производителей, категорий двигателей и классов турбулентности в спутном следе. Эндпоинт характеристик ВС возвращает статические справочные данные для обозначения типа, а не значения для конкретного бортового номера. Правильный порядок работы — сначала определить icao_type через Поиск воздушного судна, затем вызвать этот эндпоинт.
Ответ содержит крейсерскую скорость в KTAS (истинная воздушная скорость в узлах — скорость относительно невозмущённого воздуха), практический потолок (максимальная высота, на которой воздушное судно может выдерживать горизонтальный полёт), максимальную дальность, двигатель и категорию турбулентности в спутном следе (классификация ICAO L/M/H/J на основе MTOW, определяющая минимальные интервалы эшелонирования между воздушными судами), а также физические размеры, включая MTOW (максимальная взлётная масса в метрических тоннах) и максимальное число пассажиров. Используйте эти данные для колец дальности на картах, оценок расхода топлива и стыковок, а также подсказок по эшелонированию с учётом спутного следа в диспетчерских инструментах.
Требования
x-api-key в каждом запросе (прямая подписка). Подробнее →Запрос
https://data.skylinkapi.com/v3.1/aircraft/performance/{icao_type}| Параметр | Тип | Обязательный | По умолчанию | Описание |
|---|---|---|---|---|
icao_type | string | Да (путь) | - | Обозначение типа по 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_type | string | Да | Никогда | Обозначение типа по ICAO, повторённое из пути |
name | string | Да | Никогда | Название модели воздушного судна |
engine_type | string | Да | Никогда | Категория двигателя, например Jet, Turboprop |
engine_code | string | Да | Никогда | Код ICAO количества и типа двигателей, например L2J |
wake_category | string | Да | Никогда | Категория турбулентности в спутном следе по ICAO (L, M, H, J) |
cruise_speed_ktas | number | Да | Никогда | Типичная крейсерская скорость в узлах истинной воздушной скорости |
service_ceiling_ft | number | Да | Никогда | Практический потолок в футах |
max_range_nm | number | Да | Никогда | Максимальная дальность в морских милях |
wing_span_m | number | Да | Никогда | Размах крыла в метрах |
length_m | number | Да | Никогда | Длина фюзеляжа в метрах |
mtow_t | number | Да | Никогда | Максимальная взлётная масса в метрических тоннах |
max_passengers | integer | Да | Никогда | Типичная максимальная пассажировместимость |
Если код типа распознан, все поля ответа не равны 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, показывая в интерфейсе резервную подпись.
Your SkyLink licence key, for keys bought direct from skylinkapi.com.
In: header
Path Parameters
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 · Расстояние и пеленг
Поиск воздушных судов
Поиск ВС по бортовому номеру или hex-адресу ICAO24: тип, оператор, серийный номер и фото от сообщества из реестра более 600 000 записей.
Отслеживание воздушных судов по ADS-B
Позиции ВС по ADS-B в реальном времени: географические фильтры, статистика парка и состояние приёма данных для интеграций онлайн-отслеживания.