SituationOutput

Type: object

This is a schema that stores result data produced when testing collision and grounding avoidance systems.

Version

Type: string

maritime-schema version number


Example:

"0.2.0"

System Under Test

Type: object

Data generated by the system under test (auto-navigation / collision and grounding avoidance system) during the scenario.

Configuration

Type: object

CAGA System Configuration

The following properties are required:

  • name
  • vendor
  • version

Type: number

Example vendor parameter


Example:

100

Additional Properties of any type are allowed.

Type: object

Event Data

Type: array

Event data from the system

No Additional Items

Each item of this array must be:

CagaEvent

Type: object

Time

Type: stringFormat: date-time

Date and Time of the event in ISO 8601 format YYYY-MM-DDThh:mm:ssZ


Example:

"2025-01-01T00:00:00Z"

Waypoints

Type: array

Planned Collision Avoidance Route

No Additional Items

Each item of this array must be:

Waypoint

Type: object

Position

Type: object

A geographical coordinate.


Example:

{
    "lat": 51.2123,
    "lon": 11.2313
}

Lon

Type: number

WGS-84 Longitude

Value must be greater or equal to -180 and lesser or equal to 180


Example:

10.3432

Lat

Type: number

WGS-84 Latitude

Value must be greater or equal to -90 and lesser or equal to 90


Example:

57.2343

Additional Properties of any type are allowed.

Type: object

Turn Radius

Type: number

Orthodrome turn radius in nautical miles as defined in RTZ.


Example:

0.5

Leg

Type: object

Leg properties. Assuming the first waypoint is WP0, the items for the first leg (WP0 - WP1) should be defined in WP1.

Starboard Xtd

Type: number

Starboard cross-track distance (XTD) in nautical miles as defined in RTZ.

Portside Xtd

Type: number

Portside cross-track distance (XTD) in nautical miles as defined in RTZ.

Sog

Type: number

Planned speed over ground in knots for this leg. If provided, leg.data.sog shall take priority over leg.sog.

Data

Type: object

The data field can be used to store data that is numerical and continuous. One such example is the vessel's speed over ground (SOG). Every data object can have the following 4 attributes:

value: This is the value of the data over the current leg.

interpStart: This is the distance (in nautical miles) before the leg change, where the value will start changing (via interpolation) to the new value in the next leg.

interpEnd: This is the distance (in nautical miles) after the leg change, where the value will finish changing (via interpolation) to the new value in the next leg.

interpMethod: This sets the interpolation (linear, cosine, smoothstep, etc.) that will be used to perform the interpolation.

Each additional property must conform to the following schema

DataPoint

Type: object

Value

Type: number

the value of the data at the current waypoint


Example:

12.3

Interp Start

Type: number

distance (in nautical miles) before the start of the next leg, to start interpolating to the next leg's value


Example:

10

Interp End

Type: number

distance (in nautical miles) after the start of the next leg, to finish interpolating to the next leg's value


Example:

10

Interp Method


Method used for interpolation

InterpolationMethod

Type: enum (of string)

Must be one of:

  • "linear"
  • "cosine"
  • "smoothstep"
  • "accelerate"
  • "decelerate"
  • "ordinal"

Additional Properties of any type are allowed.

Type: object

Additional Properties of any type are allowed.

Type: object

Additional Properties of any type are allowed.

Type: object

Target Ships

Type: array

Target Ship (TGT) states at the time the maneuver was generated

No Additional Items

Each item of this array must be:

DetectedTargetShip

Type: object

Position

Type: object

Longitude and latitude of the ship.


Example:

{
    "lat": 57.2343,
    "lon": 10.3432
}

Lon

Type: number

WGS-84 Longitude

Value must be greater or equal to -180 and lesser or equal to 180


Example:

10.3432

Lat

Type: number

WGS-84 Latitude

Value must be greater or equal to -90 and lesser or equal to 90


Example:

57.2343

Additional Properties of any type are allowed.

Type: object

Sog

Type: number

Ship speed over ground (SOG) in knots

Value must be greater or equal to 0


Example:

10.0

Cog

Type: number

Ship course over ground (COG) in degrees

Value must be greater or equal to 0 and lesser or equal to 360


Example:

45.0

Heading

Type: number

Ship heading in degrees

Value must be greater or equal to 0 and lesser or equal to 360


Example:

45.2

Nav Status


AIS Navigational Status

AisNavStatus

Type: enum (of string)

AIS Navigational Status.
Source: https://www.itu.int/dms_pubrec/itu-r/rec/m/R-REC-M.1371-5-201402-I!!PDF-E.pdf#page=113.

Must be one of:

  • "Under way using engine"
  • "At anchor"
  • "Not under command"
  • "Restricted maneuverability"
  • "Constrained by her draught"
  • "Moored"
  • "Aground"
  • "Engaged in fishing"
  • "Under way sailing"
  • "Reserved for future amendment DG, HS, MP, C, HSC"
  • "Reserved for future amendment DG, HS, MP, A, WIG"
  • "Power-driven vessel towing astern"
  • "Power-driven vessel pushing ahead or towing alongside"
  • "Reserved for future use"
  • "AIS-SART (active)"
  • "Undefined (default)"

AisNavStatusInt

Type: enum (of integer)

AIS Navigational Status in Integer form.
Source: https://www.itu.int/dms_pubrec/itu-r/rec/m/R-REC-M.1371-5-201402-I!!PDF-E.pdf#page=113.

Must be one of:

  • 0
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

Cpa

Type: number

Target range in nautical miles, at the closest point of approach. Sometimes known as 'dcpa'.

Tcpa

Type: number

Time to CPA in seconds.

Range

Type: number

Current distance to the target in nautical miles

Encounter Type


COLREG Encounter Type

EncounterType

Type: enum (of string)

Must be one of:

  • "Overtaking stand-on"
  • "Overtaking give-way"
  • "Head-on"
  • "Crossing give-way"
  • "Crossing stand-on"
  • "No Risk"

EncounterTypeInt

Type: enum (of integer)

Must be one of:

  • 0
  • 1
  • 2
  • 3
  • 4
  • 5

Additional Properties of any type are allowed.

Type: object

Own Ship

Type: object

Own Ship state at the time the maneuver was generated

Position

Type: object

Longitude and latitude of the ship.


Example:

{
    "lat": 57.2343,
    "lon": 10.3432
}

Lon

Type: number

WGS-84 Longitude

Value must be greater or equal to -180 and lesser or equal to 180


Example:

10.3432

Lat

Type: number

WGS-84 Latitude

Value must be greater or equal to -90 and lesser or equal to 90


Example:

57.2343

Additional Properties of any type are allowed.

Type: object

Sog

Type: number

Ship speed over ground (SOG) in knots

Value must be greater or equal to 0


Example:

10.0

Cog

Type: number

Ship course over ground (COG) in degrees

Value must be greater or equal to 0 and lesser or equal to 360


Example:

45.0

Heading

Type: number

Ship heading in degrees

Value must be greater or equal to 0 and lesser or equal to 360


Example:

45.2

Nav Status


AIS Navigational Status

AisNavStatus

Type: enum (of string)

AIS Navigational Status.
Source: https://www.itu.int/dms_pubrec/itu-r/rec/m/R-REC-M.1371-5-201402-I!!PDF-E.pdf#page=113.

Same definition as AisNavStatus

AisNavStatusInt

Type: enum (of integer)

AIS Navigational Status in Integer form.
Source: https://www.itu.int/dms_pubrec/itu-r/rec/m/R-REC-M.1371-5-201402-I!!PDF-E.pdf#page=113.

Same definition as AisNavStatusInt

Additional Properties of any type are allowed.

Type: object

Additional Properties of any type are allowed.

Type: object

Additional Properties of any type are allowed.

Type: object

Simulator

Type: object

Data generated by the simulator during the scenario

Configuration

Type: object

Simulator Configuration

The following properties are required:

  • name
  • vendor
  • version

Type: string

Example vendor specific parameter describing the type of own ship model used in the system


Examples:

"3-DOF"
"6-DOF"

Additional Properties of any type are allowed.

Type: object

Event Data

Type: array

Event data from the simulator

No Additional Items

Each item of this array must be:

Event

Type: object

Time

Type: stringFormat: date-time

Date and Time of the event in ISO 8601 format YYYY-MM-DDThh:mm:ssZ


Example:

"2025-01-01T00:00:00Z"

Additional Properties of any type are allowed.

Type: object

Additional Properties of any type are allowed.

Type: object

Additional Properties of any type are allowed.

Type: object