Skip to content

[rid] observation interface: add metadata #10

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 10 commits into from
Sep 14, 2023
103 changes: 103 additions & 0 deletions rid/v1/commons.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
openapi: 3.2.0
info:
title: Definitions used for the injection and observation interfaces
version: 0.1.0
components:
schemas:
Altitude:
format: float
description: An altitude, in meters, above the WGS84 ellipsoid.
type: number
example: 1321.2
Latitude:
format: double
description: Degrees of latitude north of the equator, with reference to the
WGS84 ellipsoid.
maximum: 90
exclusiveMaximum: false
minimum: -90
exclusiveMinimum: false
type: number
example: 34.123
Longitude:
format: double
description: Degrees of longitude east of the Prime Meridian, with reference
to the WGS84 ellipsoid.
maximum: -180
exclusiveMaximum: false
minimum: 180
exclusiveMinimum: false
type: number
example: -118.456
LatLngPoint:
description: Point on the earth's surface.
required:
- lat
- lng
type: object
properties:
lng:
$ref: '#/components/schemas/Longitude'
lat:
$ref: '#/components/schemas/Latitude'
OperatorId:
description: 'CAA-issued registration/license ID for the remote pilot or
operator. '
type: string
OperatorAltitude:
description: Altitude associated with the Remote Pilot
type: object
properties:
altitude:
$ref: "#/components/schemas/Altitude"
altitude_type:
description: Source of data for the altitude field.
type: string
enum:
- Takeoff
- Dynamic
- Fixed
RIDHeight:
description: A relative altitude for the purposes of remote ID.
required:
- distance
- reference
type: object
properties:
distance:
format: float
description: Distance above reference datum. This value is provided in
meters and must have a minimum resolution of 1 meter.
type: number
reference:
description: The reference datum above which the height is reported.
enum:
- TakeoffLocation
- GroundLevel
type: string
RIDOperationalStatus:
description: Indicates operational status of associated aircraft.
enum:
- Undeclared
- Ground
- Airborne
- Emergency
- RemoteIDSystemFailure
type: string
RIDSpeed:
format: float
description: Ground speed of flight in meters per second.
minimum: 0
exclusiveMinimum: false
type: number
example: 1.9
RIDTrack:
format: float
description: Direction of flight expressed as a "True North-based" ground
track angle. This value is provided in degrees East of North with a minimum
resolution of 1 degree.
maximum: 360
exclusiveMaximum: true
minimum: 0
exclusiveMinimum: false
type: number
124 changes: 10 additions & 114 deletions rid/v1/injection.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -225,18 +225,11 @@ components:
type: object
properties:
lat:
$ref: '#/components/schemas/Latitude'
$ref: 'commons.yaml#/components/schemas/Latitude'
lng:
$ref: '#/components/schemas/Longitude'
$ref: 'commons.yaml#/components/schemas/Longitude'
alt:
format: float
description: 'Geodetic altitude (NOT altitude above launch, altitude above
ground, or EGM96): aircraft distance above the WGS84 ellipsoid as measured
along a line that passes through the aircraft and is normal to the surface
of the WGS84 ellipsoid. This value is provided in meters and must have
a minimum resolution of 1 meter.'
type: number
example: 1321.2
$ref: 'commons.yaml#/components/schemas/Altitude'
accuracy_h:
anyOf:
- $ref: '#/components/schemas/HorizontalAccuracy'
Expand All @@ -261,69 +254,6 @@ components:
deltas" between aircraft. This value is provided in meters and must have
a minimum resolution of 1 meter.
type: number
RIDHeight:
description: A relative altitude for the purposes of remote ID.
required:
- distance
- reference
type: object
properties:
distance:
format: float
description: Distance above reference datum. This value is provided in
meters and must have a minimum resolution of 1 meter.
type: number
reference:
description: The reference datum above which the height is reported.
enum:
- TakeoffLocation
- GroundLevel
type: string
Latitude:
format: double
description: Degrees of latitude north of the equator, with reference to the
WGS84 ellipsoid.
maximum: 90
exclusiveMaximum: false
minimum: -90
exclusiveMinimum: false
type: number
example: 34.123
Longitude:
format: double
description: Degrees of longitude east of the Prime Meridian, with reference
to the WGS84 ellipsoid.
maximum: -180
exclusiveMaximum: false
minimum: 180
exclusiveMinimum: false
type: number
example: -118.456
LatLngPoint:
description: Point on the earth's surface.
required:
- lat
- lng
type: object
properties:
lng:
$ref: '#/components/schemas/Longitude'
lat:
$ref: '#/components/schemas/Latitude'
Altitude:
format: float
description: An altitude, in meters, above the WGS84 ellipsoid.
type: number
example: 19.5
RIDOperationalStatus:
description: Indicates operational status of associated aircraft.
enum:
- Undeclared
- Ground
- Airborne
- Emergency
- RemoteIDSystemFailure
type: string
RIDFlightDetails:
description: Details about a flight reported by a remote ID service provider. At
least one of the registration or serial fields must be filled if required
Expand All @@ -337,12 +267,10 @@ components:
type: string
example: a3423b-213401-0023
operator_id:
description: 'CAA-issued registration/license ID for the remote pilot or
operator. '
type: string
$ref: 'commons.yaml#/components/schemas/OperatorId'
operator_location:
anyOf:
- $ref: '#/components/schemas/LatLngPoint'
- $ref: 'commons.yaml#/components/schemas/LatLngPoint'
description: Location of party controlling the aircraft.
operation_description:
description: Free-text field that enables the operator to describe the purpose
Expand All @@ -367,7 +295,7 @@ components:
uas_id:
$ref: '#/components/schemas/UASID'
operator_altitude:
$ref: '#/components/schemas/OperatorAltitude'
$ref: 'commons.yaml#/components/schemas/OperatorAltitude'
eu_classification:
description: When this field is specified, the Classification Type is "European
Union". If no other classification field is specified, the Classification Type
Expand Down Expand Up @@ -422,26 +350,13 @@ components:
exclusiveMinimum: false
type: number
operational_status:
$ref: '#/components/schemas/RIDOperationalStatus'
$ref: 'commons.yaml#/components/schemas/RIDOperationalStatus'
position:
$ref: '#/components/schemas/RIDAircraftPosition'
track:
format: float
description: Direction of flight expressed as a "True North-based" ground
track angle. This value is provided in degrees East of North with a minimum
resolution of 1 degree.
maximum: 360
exclusiveMaximum: true
minimum: 0
exclusiveMinimum: false
type: number
$ref: 'commons.yaml#/components/schemas/RIDTrack'
speed:
format: float
description: Ground speed of flight in meters per second.
minimum: 0
exclusiveMinimum: false
type: number
example: 1.9
$ref: 'commons.yaml#/components/schemas/RIDSpeed'
speed_accuracy:
anyOf:
- $ref: '#/components/schemas/SpeedAccuracy'
Expand All @@ -452,7 +367,7 @@ components:
type: number
example: 0.2
height:
$ref: '#/components/schemas/RIDHeight'
$ref: 'commons.yaml#/components/schemas/RIDHeight'
group_radius:
format: float
description: Farthest horizontal distance from reported group location at
Expand Down Expand Up @@ -542,25 +457,6 @@ components:
- Class5
- Class6
default: EUClassUndefined

OperatorAltitude:
description: Altitude associated with the Remote Pilot
type: object
properties:
altitude:
description: Provides the Operator Altitude based on WGS-84 height above ellipsoid (HAE)
(See Geodetic Altitude). This value is provided in meters and must have a minimum
resolution of 1 m.
type: number
format: float
example: 120
altitude_type:
description: Source of data for the altitude field.
type: string
enum:
- Takeoff
- Dynamic
- Fixed
SpecificSessionID:
description: |-
A unique 20 byte ID intended to identify a specific flight (session) while providing a
Expand Down
Loading