1270 lines
41 KiB
YAML
1270 lines
41 KiB
YAML
asyncapi: 2.6.0
|
|
info:
|
|
title: PCP RequestTask API
|
|
version: 0.0.1
|
|
description: "Сервис для приема и подтверждения заявок на съемку, а так же для формирования\
|
|
\ и \nбронирования схем покрытия заявок.\n"
|
|
servers:
|
|
production:
|
|
url: kafka://broker.example.com:9092
|
|
protocol: kafka
|
|
defaultContentType: application/json
|
|
channels:
|
|
pcp.slot.cover.task:
|
|
description: 'СПО ПЦП подписывается на заказ схемы покрытия.
|
|
|
|
Содержимое сообщения содержит заявку на съемку.
|
|
|
|
'
|
|
subscribe:
|
|
summary: Запрос на схему покрытия.
|
|
message:
|
|
$ref: '#/components/messages/SlotCoverRequest'
|
|
pcp.slot.cover.ready:
|
|
description: 'СПО ПЦП публикует сформированную схему покрытия.
|
|
|
|
Содержимое сообщения содержит схему покрытия.
|
|
|
|
'
|
|
publish:
|
|
summary: Публикация схемы покрытия слотами.
|
|
message:
|
|
$ref: '#/components/messages/SlotCoverReady'
|
|
pcp.slot.cover.book:
|
|
description: 'СПО ПЦП подписывается на топик с запросом на бронирование схемы
|
|
покрытия.
|
|
|
|
Содержимое сообщения содержит идентификаторы слотов схемы покрытия, утвержденную
|
|
потребителем.
|
|
|
|
'
|
|
subscribe:
|
|
summary: Запрос на бронирование слотов.
|
|
message:
|
|
$ref: '#/components/messages/SlotCoverBooking'
|
|
pcp.slot.cover.ack:
|
|
description: 'СПО ПЦП публикует подтверждение бронирования схемы покрытия.
|
|
|
|
Содержимое сообщения содержит идентификаторы слотов подтвержденной схемы покрытия.
|
|
|
|
'
|
|
publish:
|
|
summary: Публикация подтверждения бронирования слотов.
|
|
message:
|
|
$ref: '#/components/messages/SlotCoverCommited'
|
|
pcp.spacecraft.plan.ready:
|
|
description: СПО ПЦП публикует сформированный план работы КА.
|
|
publish:
|
|
summary: Публикация плана работы КА.
|
|
message:
|
|
$ref: '#/components/messages/SpacecraftPlanReady'
|
|
pcp.groundstation.change:
|
|
description: СПО ПЦП подписывается на уведомления об изменении параметров земных
|
|
станций (без передачи данных).
|
|
subscribe:
|
|
summary: Факт изменения параметров ЗС.
|
|
message:
|
|
$ref: '#/components/messages/GroundStationChanged'
|
|
pcp.spacecraft.nu.change:
|
|
description: СПО ПЦП подписывается на уведомления об изменении начальных условий
|
|
КА (без передачи данных).
|
|
subscribe:
|
|
summary: Факт изменения начальных условий КА.
|
|
message:
|
|
$ref: '#/components/messages/SpacecraftNuChanged'
|
|
pcp.spacecraft.bls.change:
|
|
description: СПО ПЦП подписывается на уведомления об изменении блока состояния
|
|
КА (без передачи данных).
|
|
subscribe:
|
|
summary: Факт изменения блока состояния КА.
|
|
message:
|
|
$ref: '#/components/messages/SpacecraftBlsChanged'
|
|
pcp.spacecraft.control.time:
|
|
description: СПО ПЦП подписывается на события о приходе/обновлении графика управления
|
|
КА.
|
|
subscribe:
|
|
summary: Приход графика управления КА.
|
|
message:
|
|
$ref: '#/components/messages/SpacecraftControlTime'
|
|
components:
|
|
messages:
|
|
SlotCoverRequest:
|
|
name: slotCoverRequest
|
|
title: Схема покрытия.
|
|
summary: Запрос схемы покрытия от СПО ПЦП.
|
|
contentType: application/json
|
|
headers:
|
|
$ref: '#/components/schemas/EventHeaders'
|
|
payload:
|
|
$ref: '#/components/schemas/Request'
|
|
bindings:
|
|
kafka:
|
|
valueFormat: json
|
|
SlotCoverReady:
|
|
name: slotCoverReady
|
|
title: Схема покрытия.
|
|
summary: Сформированная схема покрытия.
|
|
contentType: application/json
|
|
headers:
|
|
$ref: '#/components/schemas/EventHeaders'
|
|
payload:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/SurveySlot'
|
|
description: Список слотов (схема покрытия)
|
|
bindings:
|
|
kafka:
|
|
valueFormat: json
|
|
SlotCoverBooking:
|
|
name: slotCoverBooking
|
|
title: Схема покрытия, бронирование.
|
|
summary: Запрос на бронирование схемы покрытия.
|
|
contentType: application/json
|
|
headers:
|
|
$ref: '#/components/schemas/EventHeaders'
|
|
payload:
|
|
properties:
|
|
slots:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/SurveySlotInfo'
|
|
description: Список слотов для бронирования.
|
|
request:
|
|
$ref: '#/components/schemas/Request'
|
|
type: object
|
|
required:
|
|
- slots
|
|
- request
|
|
bindings:
|
|
kafka:
|
|
valueFormat: json
|
|
SlotCoverCommited:
|
|
name: slotCoverCommitted
|
|
title: Схема покрытия, бронирование.
|
|
summary: Подтверждение от СПО ПЦП бронирования схемы покрытия.
|
|
contentType: application/json
|
|
headers:
|
|
$ref: '#/components/schemas/EventHeaders'
|
|
payload:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/SurveySlotInfo'
|
|
description: Список забронированных слотов.
|
|
bindings:
|
|
kafka:
|
|
valueFormat: json
|
|
SpacecraftPlanReady:
|
|
name: SpacecraftPlanReady
|
|
title: План работы КА готов
|
|
summary: Публикация сформированного плана работы КА (маршруты съемки + сбросы)
|
|
для потребителей.
|
|
contentType: application/json
|
|
headers:
|
|
$ref: '#/components/schemas/EventHeaders'
|
|
payload:
|
|
$ref: '#/components/schemas/SpacecraftWorkPlan'
|
|
bindings:
|
|
kafka:
|
|
valueFormat: json
|
|
GroundStationChanged:
|
|
name: GroundStationChanged
|
|
title: Изменение параметров земной станции
|
|
summary: Уведомление о факте изменения параметров земной станции (без передачи
|
|
данных) (payload содержит только идентификатор).
|
|
contentType: application/json
|
|
headers:
|
|
$ref: '#/components/schemas/EventHeaders'
|
|
payload:
|
|
$ref: '#/components/schemas/GroundStationChangedPayload'
|
|
bindings:
|
|
kafka:
|
|
valueFormat: json
|
|
examples:
|
|
- payload:
|
|
stationId: 101
|
|
SpacecraftNuChanged:
|
|
name: SpacecraftNuChanged
|
|
title: Изменение начальных условий КА
|
|
summary: Уведомление о факте изменения начальных условий КА (без передачи данных)
|
|
(payload содержит только идентификатор).
|
|
contentType: application/json
|
|
headers:
|
|
$ref: '#/components/schemas/EventHeaders'
|
|
payload:
|
|
$ref: '#/components/schemas/SpacecraftChangedPayload'
|
|
bindings:
|
|
kafka:
|
|
valueFormat: json
|
|
examples:
|
|
- payload:
|
|
spacecraftId: 205
|
|
SpacecraftBlsChanged:
|
|
name: SpacecraftBlsChanged
|
|
title: Изменение параметров блока состояния КА
|
|
summary: Уведомление о факте изменения блока состояния КА (без передачи данных)
|
|
(payload содержит только идентификатор).
|
|
contentType: application/json
|
|
headers:
|
|
$ref: '#/components/schemas/EventHeaders'
|
|
payload:
|
|
$ref: '#/components/schemas/SpacecraftChangedPayload'
|
|
bindings:
|
|
kafka:
|
|
valueFormat: json
|
|
examples:
|
|
- payload:
|
|
spacecraftId: 205
|
|
SpacecraftControlTime:
|
|
name: SpacecraftControlTime
|
|
title: График управления КА
|
|
summary: Событие о приходе/обновлении графика управления КА (основная/корректирующая
|
|
закладки и интервал планирования).
|
|
contentType: application/json
|
|
headers:
|
|
$ref: '#/components/schemas/EventHeaders'
|
|
payload:
|
|
$ref: '#/components/schemas/SpacecraftControlTimeEvent'
|
|
bindings:
|
|
kafka:
|
|
valueFormat: json
|
|
examples:
|
|
- payload:
|
|
spacecraftId: 205
|
|
mainUploadAt: '2026-02-20T10:00:00'
|
|
correctionUploadAt: '2026-02-20T14:00:00'
|
|
planningBegin: '2026-02-20T00:00:00'
|
|
planningEnd: '2026-02-27T00:00:00'
|
|
schemas:
|
|
Request:
|
|
type: object
|
|
description: Заявка на съемку. Необходимо указать хотя бы одно требование по
|
|
аппаратуре.
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
description: Идентификатор заявки UUID.
|
|
name:
|
|
type: string
|
|
maxLength: 255
|
|
description: Наименование заявки. Не более 255 символов.
|
|
kpp:
|
|
type: array
|
|
items:
|
|
type: integer
|
|
description: Список номеров КПП для сброса. Если не указано, сброс производится
|
|
на все доступные КПП.
|
|
highPriorityTransmit:
|
|
type: boolean
|
|
default: false
|
|
description: Признак высокоприоритетной передачи.
|
|
intervalBegin:
|
|
type: string
|
|
format: date-time
|
|
description: Дата‑время начала выполнения заявки. Не может быть менее чем
|
|
сегодня.
|
|
intervalEnd:
|
|
type: string
|
|
format: date-time
|
|
description: Дата‑время конца выполнения заявки. Минимальный интервал съемки
|
|
- 7 дней.
|
|
optics:
|
|
$ref: '#/components/schemas/OpticsConstraints'
|
|
nullable: true
|
|
description: Ограничения по оптике (null – не используется).
|
|
rsa:
|
|
$ref: '#/components/schemas/RSAConstraints'
|
|
nullable: true
|
|
description: Ограничения по РСА (null – не используется).
|
|
geometry:
|
|
type: string
|
|
format: wkt
|
|
description: Геометрия заявки в формате WKT. Геометрия должна быть Polygon.
|
|
additionalProperties: false
|
|
required:
|
|
- id
|
|
- name
|
|
- intervalBegin
|
|
- intervalEnd
|
|
- geometry
|
|
anyOf:
|
|
- required:
|
|
- optics
|
|
- required:
|
|
- rsa
|
|
RSAConstraints:
|
|
type: object
|
|
description: Ограничения на съемку, РСА
|
|
properties:
|
|
resultType:
|
|
$ref: '#/components/schemas/RsaResultType'
|
|
description: Режим работы РСА (детальный(Spotlight), маршрутный(StripMap),
|
|
обзорный(ScanSar))
|
|
interferometry:
|
|
type: boolean
|
|
description: Признак интерферометрии
|
|
polarisation:
|
|
$ref: '#/components/schemas/PolarisationType'
|
|
description: Поляризация
|
|
resolution:
|
|
type: number
|
|
format: double
|
|
default: 20
|
|
description: Требуемое разрешение, м.
|
|
additionalProperties: false
|
|
required:
|
|
- resultType
|
|
- resolution
|
|
- polarisation
|
|
OpticsConstraints:
|
|
type: object
|
|
description: Ограничения на съемку, оптика.
|
|
properties:
|
|
resultType:
|
|
$ref: '#/components/schemas/OpticsResultType'
|
|
description: Тип требуемого продукта (панхром, мультиспектр, паншарпенинг).
|
|
resolution:
|
|
type: number
|
|
format: double
|
|
description: Требуемое разрешение, м.
|
|
sunAngleMin:
|
|
type: number
|
|
format: double
|
|
default: 0
|
|
minimum: 0
|
|
maximum: 90
|
|
description: Минимальный угол солнца.
|
|
sunAngleMax:
|
|
type: number
|
|
format: double
|
|
default: 90
|
|
minimum: 0
|
|
maximum: 90
|
|
description: Максимальный угол солнца.
|
|
clouds:
|
|
type: number
|
|
format: double
|
|
default: 100
|
|
minimum: 0
|
|
maximum: 100
|
|
description: Облачность. Максимально допустимое значение.
|
|
additionalProperties: false
|
|
required:
|
|
- resultType
|
|
- resolution
|
|
PolarisationType:
|
|
type: string
|
|
enum:
|
|
- HH
|
|
- VV
|
|
description: Тип поляризации.
|
|
OpticsResultType:
|
|
type: string
|
|
enum:
|
|
- PANCHROMATIC
|
|
- MULTISPECTRAL
|
|
- PANSHARPENING
|
|
description: Результат оптической съемки.
|
|
RsaResultType:
|
|
type: string
|
|
enum:
|
|
- SPOTLIGHT
|
|
- STRIPMAP
|
|
- SCANSAR
|
|
description: Режим работы РСА.
|
|
SurveySlot:
|
|
type: object
|
|
description: Слот наблюдения (часть схемы покрытия).
|
|
properties:
|
|
slotNumber:
|
|
type: integer
|
|
format: int64
|
|
default: 0
|
|
description: Номер слота.
|
|
cycle:
|
|
type: integer
|
|
format: int64
|
|
default: 0
|
|
description: Цикл замыкания.
|
|
ka:
|
|
type: integer
|
|
format: int64
|
|
default: 0
|
|
description: Идентификатор КА.
|
|
tn:
|
|
type: string
|
|
format: date-time
|
|
description: Время начала наблюдения слота.
|
|
tk:
|
|
type: string
|
|
format: date-time
|
|
description: Время конца наблюдения слота.
|
|
roll:
|
|
type: number
|
|
format: double
|
|
description: Угол визирования.
|
|
contour:
|
|
type: string
|
|
description: Геометрия слота, WKT, WGS 84.
|
|
revolution:
|
|
type: integer
|
|
format: int64
|
|
default: 0
|
|
description: Виток наблюдения.
|
|
revolutionSign:
|
|
$ref: '#/components/schemas/RevolutionSign'
|
|
description: Признак ветви (восходящая/нисходящая).
|
|
state:
|
|
type: integer
|
|
format: int16
|
|
default: 0
|
|
description: Статус бронирования (0 - нет, 1 - да).
|
|
additionalProperties: false
|
|
required:
|
|
- cycle
|
|
- ka
|
|
- tn
|
|
- tk
|
|
- roll
|
|
- contour
|
|
- revolution
|
|
- revolutionSign
|
|
- slotNumber
|
|
- state
|
|
SurveySlotInfo:
|
|
type: object
|
|
description: Краткая информация слота, необходимая для бронирования.
|
|
properties:
|
|
slotNumber:
|
|
type: integer
|
|
format: int64
|
|
default: 0
|
|
description: Номер слота.
|
|
cycle:
|
|
type: integer
|
|
format: int64
|
|
default: 0
|
|
description: Цикл замыкания.
|
|
noradId:
|
|
type: integer
|
|
format: int64
|
|
default: 0
|
|
description: Идентификатор НОРАД.
|
|
additionalProperties: false
|
|
required:
|
|
- slotNumber
|
|
- cycle
|
|
- noradId
|
|
RevolutionSign:
|
|
type: string
|
|
enum:
|
|
- ASC
|
|
- DESC
|
|
description: Признак ветви – восходящая/нисходящая.
|
|
RequestType:
|
|
type: string
|
|
enum:
|
|
- RESERVATION
|
|
- COMMON
|
|
description: Тип заявки. Бронь или обычная.
|
|
EventType:
|
|
type: string
|
|
description: Тип события. Значение обязательно и используется для маршрутизации
|
|
и диагностики.
|
|
enum:
|
|
- NEW_REQUEST
|
|
- NEW_REQUEST_COMMITED
|
|
- REQUEST_CANCEL
|
|
- REQUEST_CANCEL_COMMITED
|
|
- ORDER_SLOT_COVER
|
|
- SLOT_COVER_READY
|
|
- SLOT_COVER_BOOKING
|
|
- SLOT_COVER_BOOKED
|
|
- GROUNDSTATION_CHANGED
|
|
- SPACECRAFT_NU_CHANGED
|
|
- SPACECRAFT_BLS_CHANGED
|
|
EventHeaders:
|
|
type: object
|
|
required:
|
|
- event_id
|
|
- event_type
|
|
- produced_at
|
|
properties:
|
|
event_id:
|
|
type: string
|
|
description: Уникальный идентификатор события.
|
|
event_type:
|
|
$ref: '#/components/schemas/EventType'
|
|
produced_at:
|
|
type: string
|
|
format: date-time
|
|
description: Время формирования события.
|
|
trace_id:
|
|
type: string
|
|
nullable: true
|
|
description: Идентификатор трассировки.
|
|
schema_version:
|
|
type: string
|
|
nullable: true
|
|
description: Версия схемы сообщения.
|
|
example: v1
|
|
SpacecraftWorkPlan:
|
|
type: object
|
|
description: План работы КА
|
|
properties:
|
|
planningBegin:
|
|
type: string
|
|
format: date-time
|
|
planningEnd:
|
|
type: string
|
|
format: date-time
|
|
imagingRoutes:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/RoutePlanItem'
|
|
default: []
|
|
downlinks:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/DownlinkPlanItem'
|
|
default: []
|
|
required:
|
|
- planningBegin
|
|
- planningEnd
|
|
additionalProperties: false
|
|
RoutePlanItem:
|
|
type: object
|
|
description: Маршрут съемки в плане работы КА
|
|
properties:
|
|
activationNumber:
|
|
type: integer
|
|
format: int32
|
|
routeNumber:
|
|
type: integer
|
|
format: int32
|
|
revolution:
|
|
type: integer
|
|
format: int64
|
|
routeOnRevolutionNumber:
|
|
type: integer
|
|
format: int32
|
|
startTime:
|
|
type: string
|
|
format: date-time
|
|
durationSec:
|
|
type: integer
|
|
format: int64
|
|
payloadType:
|
|
$ref: '#/components/schemas/PayloadType'
|
|
targetWkt:
|
|
type: string
|
|
description: Координаты точки прицеливания (например WKT)
|
|
rollDeg:
|
|
type: number
|
|
format: double
|
|
pitchDeg:
|
|
type: number
|
|
format: double
|
|
yawDeg:
|
|
type: number
|
|
format: double
|
|
sunAngleBeginDeg:
|
|
type: number
|
|
format: double
|
|
sunAngleEndDeg:
|
|
type: number
|
|
format: double
|
|
slantRangeBeginMeters:
|
|
type: number
|
|
format: double
|
|
slantRangeEndMeters:
|
|
type: number
|
|
format: double
|
|
required:
|
|
- activationNumber
|
|
- routeNumber
|
|
- revolution
|
|
- routeOnRevolutionNumber
|
|
- startTime
|
|
- durationSec
|
|
- payloadType
|
|
- targetWkt
|
|
- rollDeg
|
|
- pitchDeg
|
|
- yawDeg
|
|
- sunAngleBeginDeg
|
|
- sunAngleEndDeg
|
|
- slantRangeBeginMeters
|
|
- slantRangeEndMeters
|
|
additionalProperties: false
|
|
DownlinkPlanItem:
|
|
type: object
|
|
description: Сброс в плане работы КА
|
|
properties:
|
|
activationNumber:
|
|
type: integer
|
|
format: int32
|
|
downlinkNumber:
|
|
type: integer
|
|
format: int32
|
|
revolution:
|
|
type: integer
|
|
format: int64
|
|
stationId:
|
|
type: integer
|
|
format: int64
|
|
begin:
|
|
type: string
|
|
format: date-time
|
|
end:
|
|
type: string
|
|
format: date-time
|
|
routeKeys:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/RouteKey'
|
|
default: []
|
|
required:
|
|
- activationNumber
|
|
- downlinkNumber
|
|
- revolution
|
|
- stationId
|
|
- begin
|
|
- end
|
|
additionalProperties: false
|
|
RouteKey:
|
|
type: object
|
|
description: Составной ключ маршрута (порядковый номер включения + номер витка
|
|
+ номер на витке)
|
|
properties:
|
|
activationNumber:
|
|
type: integer
|
|
format: int32
|
|
revolution:
|
|
type: integer
|
|
format: int64
|
|
routeOnRevolutionNumber:
|
|
type: integer
|
|
format: int32
|
|
required:
|
|
- activationNumber
|
|
- revolution
|
|
- routeOnRevolutionNumber
|
|
additionalProperties: false
|
|
PayloadType:
|
|
type: string
|
|
description: Данные по аппаратуре
|
|
enum:
|
|
- RADAR
|
|
- OPTICS
|
|
GroundStationCoordinates:
|
|
type: object
|
|
description: 'Координаты ЗС в WGS-84.
|
|
|
|
Можно передавать либо b/l/h, либо WKT Point(x,y,z).
|
|
|
|
'
|
|
properties:
|
|
b:
|
|
type: number
|
|
format: double
|
|
description: Широта (градусы)
|
|
l:
|
|
type: number
|
|
format: double
|
|
description: Долгота (градусы)
|
|
h:
|
|
type: number
|
|
format: double
|
|
description: Превышение/высота (метры)
|
|
wktPoint:
|
|
type: string
|
|
description: WKT Point (x
|
|
y: null
|
|
z): null
|
|
additionalProperties: false
|
|
GroundStationParams:
|
|
type: object
|
|
description: Параметры земной станции (ЗС)
|
|
properties:
|
|
stationId:
|
|
type: integer
|
|
format: int64
|
|
description: Идентификатор ЗС
|
|
coordinates:
|
|
$ref: '#/components/schemas/GroundStationCoordinates'
|
|
minAngleDeg:
|
|
type: number
|
|
format: double
|
|
description: Минимальный угол (градусы)
|
|
maxAngleDeg:
|
|
type: number
|
|
format: double
|
|
description: Максимальный угол (градусы)
|
|
retargetingTimeSec:
|
|
type: integer
|
|
format: int64
|
|
description: Время перенацеливания (секунды)
|
|
receiveIntervalSec:
|
|
type: integer
|
|
format: int64
|
|
description: Интервал между последовательными приемами (секунды)
|
|
required:
|
|
- stationId
|
|
- coordinates
|
|
- minAngleDeg
|
|
- maxAngleDeg
|
|
- retargetingTimeSec
|
|
- receiveIntervalSec
|
|
additionalProperties: false
|
|
GroundStationBanInterval:
|
|
type: object
|
|
description: Интервал запрета на работу с ЗС
|
|
properties:
|
|
stationId:
|
|
type: integer
|
|
format: int64
|
|
description: Идентификатор ЗС
|
|
begin:
|
|
type: string
|
|
format: date-time
|
|
description: Время начала интервала запрета
|
|
end:
|
|
type: string
|
|
format: date-time
|
|
description: Время конца интервала запрета
|
|
required:
|
|
- stationId
|
|
- begin
|
|
- end
|
|
additionalProperties: false
|
|
RadarStateConstraints:
|
|
type: object
|
|
description: Ограничения для локации (РСА) на уровне блока состояния
|
|
properties:
|
|
scanSarRouteMinDurationSec:
|
|
type: integer
|
|
format: int64
|
|
scanSarRouteMaxDurationSec:
|
|
type: integer
|
|
format: int64
|
|
stripMapRouteMinDurationSec:
|
|
type: integer
|
|
format: int64
|
|
stripMapRouteMaxDurationSec:
|
|
type: integer
|
|
format: int64
|
|
scanSarMaxModesPerOrbit:
|
|
type: integer
|
|
format: int32
|
|
scanSarMaxModesPerDay:
|
|
type: integer
|
|
format: int32
|
|
stripMapMaxModesPerOrbit:
|
|
type: integer
|
|
format: int32
|
|
stripMapMaxModesPerDay:
|
|
type: integer
|
|
format: int32
|
|
spotLightMaxModesPerOrbit:
|
|
type: integer
|
|
format: int32
|
|
spotLightMaxModesPerDay:
|
|
type: integer
|
|
format: int32
|
|
required:
|
|
- scanSarRouteMinDurationSec
|
|
- scanSarRouteMaxDurationSec
|
|
- stripMapRouteMinDurationSec
|
|
- stripMapRouteMaxDurationSec
|
|
- scanSarMaxModesPerOrbit
|
|
- scanSarMaxModesPerDay
|
|
- stripMapMaxModesPerOrbit
|
|
- stripMapMaxModesPerDay
|
|
- spotLightMaxModesPerOrbit
|
|
- spotLightMaxModesPerDay
|
|
additionalProperties: false
|
|
OpticsStateConstraints:
|
|
type: object
|
|
description: Ограничения для оптики на уровне блока состояния
|
|
properties:
|
|
pssCaptureAngleDeg:
|
|
type: number
|
|
format: double
|
|
mssCaptureAngleDeg:
|
|
type: number
|
|
format: double
|
|
mssMaxDurationPerOrbitSec:
|
|
type: integer
|
|
format: int64
|
|
mssMaxDurationPerDaySec:
|
|
type: integer
|
|
format: int64
|
|
pssMaxDurationPerOrbitSec:
|
|
type: integer
|
|
format: int64
|
|
pssMaxDurationPerDaySec:
|
|
type: integer
|
|
format: int64
|
|
jointMaxDurationPerOrbitSec:
|
|
type: integer
|
|
format: int64
|
|
jointMaxDurationPerDaySec:
|
|
type: integer
|
|
format: int64
|
|
required:
|
|
- pssCaptureAngleDeg
|
|
- mssCaptureAngleDeg
|
|
- mssMaxDurationPerOrbitSec
|
|
- mssMaxDurationPerDaySec
|
|
- pssMaxDurationPerOrbitSec
|
|
- pssMaxDurationPerDaySec
|
|
- jointMaxDurationPerOrbitSec
|
|
- jointMaxDurationPerDaySec
|
|
additionalProperties: false
|
|
SpacecraftStateBlock:
|
|
type: object
|
|
description: Блок состояния КА
|
|
properties:
|
|
spacecraftId:
|
|
type: integer
|
|
format: int64
|
|
description: Идентификатор КА
|
|
stationIds:
|
|
type: array
|
|
description: Перечень станций (идентификаторы ЗС), с которыми работает аппарат
|
|
items:
|
|
type: integer
|
|
format: int64
|
|
default: []
|
|
rollMinDeg:
|
|
type: number
|
|
format: double
|
|
rollMaxDeg:
|
|
type: number
|
|
format: double
|
|
pitchMinDeg:
|
|
type: number
|
|
format: double
|
|
pitchMaxDeg:
|
|
type: number
|
|
format: double
|
|
yawMinDeg:
|
|
type: number
|
|
format: double
|
|
yawMaxDeg:
|
|
type: number
|
|
format: double
|
|
imagingMaxDurationPerDaySec:
|
|
type: integer
|
|
format: int64
|
|
imagingMaxDurationPerOrbitSec:
|
|
type: integer
|
|
format: int64
|
|
downlinkMaxDurationPerDaySec:
|
|
type: integer
|
|
format: int64
|
|
downlinkMaxDurationPerOrbitSec:
|
|
type: integer
|
|
format: int64
|
|
imagingModesPerOrbit:
|
|
type: integer
|
|
format: int32
|
|
imagingModesPerDay:
|
|
type: integer
|
|
format: int32
|
|
downlinkModesPerOrbit:
|
|
type: integer
|
|
format: int32
|
|
downlinkModesPerDay:
|
|
type: integer
|
|
format: int32
|
|
imagingToImagingIntervalSec:
|
|
type: integer
|
|
format: int64
|
|
downlinkToDownlinkIntervalSec:
|
|
type: integer
|
|
format: int64
|
|
imagingToDownlinkIntervalSec:
|
|
type: integer
|
|
format: int64
|
|
downlinkToImagingIntervalSec:
|
|
type: integer
|
|
format: int64
|
|
minInterRouteIntervalSec:
|
|
type: integer
|
|
format: int64
|
|
radarConstraints:
|
|
$ref: '#/components/schemas/RadarStateConstraints'
|
|
opticsConstraints:
|
|
$ref: '#/components/schemas/OpticsStateConstraints'
|
|
required:
|
|
- spacecraftId
|
|
- rollMinDeg
|
|
- rollMaxDeg
|
|
- pitchMinDeg
|
|
- pitchMaxDeg
|
|
- yawMinDeg
|
|
- yawMaxDeg
|
|
- imagingMaxDurationPerDaySec
|
|
- imagingMaxDurationPerOrbitSec
|
|
- downlinkMaxDurationPerDaySec
|
|
- downlinkMaxDurationPerOrbitSec
|
|
- imagingModesPerOrbit
|
|
- imagingModesPerDay
|
|
- downlinkModesPerOrbit
|
|
- downlinkModesPerDay
|
|
- imagingToImagingIntervalSec
|
|
- downlinkToDownlinkIntervalSec
|
|
- imagingToDownlinkIntervalSec
|
|
- downlinkToImagingIntervalSec
|
|
- minInterRouteIntervalSec
|
|
- radarConstraints
|
|
- opticsConstraints
|
|
additionalProperties: false
|
|
PdcmEntry:
|
|
type: object
|
|
description: Запись ПДЦМ (позиция/скорость) на момент времени
|
|
properties:
|
|
time:
|
|
type: string
|
|
format: date-time
|
|
revolution:
|
|
type: integer
|
|
format: int64
|
|
vx:
|
|
type: number
|
|
format: double
|
|
vy:
|
|
type: number
|
|
format: double
|
|
vz:
|
|
type: number
|
|
format: double
|
|
x:
|
|
type: number
|
|
format: double
|
|
y:
|
|
type: number
|
|
format: double
|
|
z:
|
|
type: number
|
|
format: double
|
|
required:
|
|
- time
|
|
- revolution
|
|
- vx
|
|
- vy
|
|
- vz
|
|
- x
|
|
- y
|
|
- z
|
|
additionalProperties: false
|
|
PdcmInterval:
|
|
type: object
|
|
description: ПДЦМ на интервал (оперативный или программной орбиты)
|
|
properties:
|
|
spacecraftId:
|
|
type: integer
|
|
format: int64
|
|
begin:
|
|
type: string
|
|
format: date-time
|
|
end:
|
|
type: string
|
|
format: date-time
|
|
entries:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/PdcmEntry'
|
|
required:
|
|
- spacecraftId
|
|
- begin
|
|
- end
|
|
- entries
|
|
additionalProperties: false
|
|
UploadSchedule:
|
|
type: object
|
|
description: График закладки (основная/корректирующая + интервал планирования)
|
|
properties:
|
|
spacecraftId:
|
|
type: integer
|
|
format: int64
|
|
mainUploadAt:
|
|
type: string
|
|
format: date-time
|
|
correctiveUploadAt:
|
|
type: string
|
|
format: date-time
|
|
planningBegin:
|
|
type: string
|
|
format: date-time
|
|
planningEnd:
|
|
type: string
|
|
format: date-time
|
|
required:
|
|
- spacecraftId
|
|
- mainUploadAt
|
|
- correctiveUploadAt
|
|
- planningBegin
|
|
- planningEnd
|
|
additionalProperties: false
|
|
SpacecraftInitialConditions:
|
|
type: object
|
|
description: Начальные условия КА для расчётов (состояние в момент epoch).
|
|
properties:
|
|
spacecraftId:
|
|
type: integer
|
|
format: int64
|
|
description: Идентификатор КА.
|
|
epoch:
|
|
type: string
|
|
format: date-time
|
|
description: Момент времени, для которого заданы начальные условия (UTC).
|
|
frame:
|
|
type: string
|
|
description: Система координат/фрейм (например, ECI).
|
|
default: ECI
|
|
positionMeters:
|
|
type: array
|
|
description: Вектор положения [x,y,z] в метрах в указанной системе координат.
|
|
items:
|
|
type: number
|
|
format: double
|
|
minItems: 3
|
|
maxItems: 3
|
|
velocityMetersPerSec:
|
|
type: array
|
|
description: Вектор скорости [vx,vy,vz] в м/с в указанной системе координат.
|
|
items:
|
|
type: number
|
|
format: double
|
|
minItems: 3
|
|
maxItems: 3
|
|
source:
|
|
type: string
|
|
nullable: true
|
|
description: Источник/поставщик расчёта начальных условий (опционально).
|
|
version:
|
|
type: string
|
|
nullable: true
|
|
description: Версия/ревизия набора начальных условий (опционально).
|
|
required:
|
|
- spacecraftId
|
|
- epoch
|
|
- positionMeters
|
|
- velocityMetersPerSec
|
|
additionalProperties: false
|
|
ChangeType:
|
|
type: string
|
|
enum:
|
|
- CREATED
|
|
- UPDATED
|
|
- DELETED
|
|
description: Тип изменения
|
|
EntityType:
|
|
type: string
|
|
description: Тип сущности, которая изменилась
|
|
enum:
|
|
- GROUND_STATION
|
|
- GROUND_STATION_BAN_INTERVALS
|
|
- SPACECRAFT_STATE_BLOCK
|
|
- SPACECRAFT_NU
|
|
- UPLOAD_SCHEDULE
|
|
- SPACECRAFT_WORKPLAN
|
|
- CONTROL_TIME
|
|
ChangeEvent:
|
|
type: object
|
|
description: Уведомление о факте изменения данных у поставщика. Сами данные
|
|
передаются/запрашиваются отдельно.
|
|
required:
|
|
- eventId
|
|
- occurredAt
|
|
- entityType
|
|
- entityIds
|
|
- changeType
|
|
properties:
|
|
eventId:
|
|
type: string
|
|
format: uuid
|
|
description: Уникальный идентификатор события
|
|
occurredAt:
|
|
type: string
|
|
format: date-time
|
|
description: Время изменения у поставщика (UTC/ISO 8601).
|
|
entityType:
|
|
$ref: '#/components/schemas/EntityType'
|
|
entityIds:
|
|
type: array
|
|
minItems: 1
|
|
items:
|
|
type: integer
|
|
format: int64
|
|
description: Идентификаторы сущностей, затронутых изменением
|
|
changeType:
|
|
$ref: '#/components/schemas/ChangeType'
|
|
effectiveFrom:
|
|
type: string
|
|
format: date-time
|
|
nullable: true
|
|
description: (Опционально) начало интервала влияния
|
|
effectiveTo:
|
|
type: string
|
|
format: date-time
|
|
nullable: true
|
|
description: (Опционально) конец интервала влияния
|
|
version:
|
|
type: string
|
|
nullable: true
|
|
description: (Опционально) версия/ревизия данных у поставщика
|
|
reason:
|
|
type: string
|
|
nullable: true
|
|
description: (Опционально) пояснение причины изменения
|
|
correlationId:
|
|
type: string
|
|
nullable: true
|
|
description: (Опционально) идентификатор корреляции
|
|
source:
|
|
type: string
|
|
nullable: true
|
|
description: (Опционально) идентификатор поставщика/источника
|
|
additionalProperties: false
|
|
SpacecraftControlTimeEvent:
|
|
type: object
|
|
description: Сообщение о приходе (или обновлении) графика управления КА. Все
|
|
времена — LocalDateTime (без часового пояса).
|
|
required:
|
|
- spacecraftId
|
|
- mainUploadAt
|
|
- correctionUploadAt
|
|
- planningBegin
|
|
- planningEnd
|
|
properties:
|
|
spacecraftId:
|
|
type: integer
|
|
format: int64
|
|
description: Идентификатор КА.
|
|
mainUploadAt:
|
|
type: string
|
|
format: date-time
|
|
description: Дата-время основной закладки (LocalDateTime, без offset).
|
|
correctionUploadAt:
|
|
type: string
|
|
format: date-time
|
|
description: Дата-время корректирующей закладки (LocalDateTime, без offset).
|
|
planningBegin:
|
|
type: string
|
|
format: date-time
|
|
description: Начало интервала планирования (LocalDateTime, без offset).
|
|
planningEnd:
|
|
type: string
|
|
format: date-time
|
|
description: Конец интервала планирования (LocalDateTime, без offset).
|
|
additionalProperties: false
|
|
GroundStationChangeEvent:
|
|
type: object
|
|
description: Уведомление о факте изменения данных земной станции (без передачи
|
|
данных).
|
|
required:
|
|
- eventId
|
|
- occurredAt
|
|
- changeType
|
|
- stationId
|
|
properties:
|
|
eventId:
|
|
type: string
|
|
format: uuid
|
|
description: Уникальный идентификатор события
|
|
occurredAt:
|
|
type: string
|
|
format: date-time
|
|
description: Время изменения у поставщика (UTC/ISO 8601).
|
|
changeType:
|
|
$ref: '#/components/schemas/ChangeType'
|
|
stationId:
|
|
type: integer
|
|
format: int64
|
|
description: Идентификатор земной станции.
|
|
version:
|
|
type: string
|
|
nullable: true
|
|
description: (Опционально) версия/ревизия данных у поставщика
|
|
reason:
|
|
type: string
|
|
nullable: true
|
|
description: (Опционально) пояснение причины изменения
|
|
correlationId:
|
|
type: string
|
|
nullable: true
|
|
description: (Опционально) идентификатор корреляции
|
|
source:
|
|
type: string
|
|
nullable: true
|
|
description: (Опционально) идентификатор поставщика/источника
|
|
additionalProperties: false
|
|
SpacecraftChangeEvent:
|
|
type: object
|
|
description: Уведомление о факте изменения данных КА (без передачи данных).
|
|
required:
|
|
- eventId
|
|
- occurredAt
|
|
- changeType
|
|
- spacecraftId
|
|
properties:
|
|
eventId:
|
|
type: string
|
|
format: uuid
|
|
description: Уникальный идентификатор события
|
|
occurredAt:
|
|
type: string
|
|
format: date-time
|
|
description: Время изменения у поставщика (UTC/ISO 8601).
|
|
changeType:
|
|
$ref: '#/components/schemas/ChangeType'
|
|
spacecraftId:
|
|
type: integer
|
|
format: int64
|
|
description: Идентификатор космического аппарата.
|
|
version:
|
|
type: string
|
|
nullable: true
|
|
description: (Опционально) версия/ревизия данных у поставщика
|
|
reason:
|
|
type: string
|
|
nullable: true
|
|
description: (Опционально) пояснение причины изменения
|
|
correlationId:
|
|
type: string
|
|
nullable: true
|
|
description: (Опционально) идентификатор корреляции
|
|
source:
|
|
type: string
|
|
nullable: true
|
|
description: (Опционально) идентификатор поставщика/источника
|
|
additionalProperties: false
|
|
GroundStationChangedPayload:
|
|
type: object
|
|
description: Факт изменения параметров земной станции. Payload содержит только
|
|
идентификатор станции.
|
|
required:
|
|
- stationId
|
|
properties:
|
|
stationId:
|
|
type: integer
|
|
format: int64
|
|
description: Идентификатор земной станции.
|
|
additionalProperties: false
|
|
SpacecraftChangedPayload:
|
|
type: object
|
|
description: Факт изменения параметров КА/НУ/БЛС. Payload содержит только идентификатор
|
|
аппарата.
|
|
required:
|
|
- spacecraftId
|
|
properties:
|
|
spacecraftId:
|
|
type: integer
|
|
format: int64
|
|
description: Идентификатор космического аппарата.
|
|
additionalProperties: false
|