SituationOutput

v0.0.7

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.0.7"

Creation Time

Type: stringFormat: date-time

Date and Time that this file was created, in ISO 8601 format YYYY-MM-DDThh:mm:ssZ. This should be the simulation end time.


Example:

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

Traffic Situation

Type: object

The traffic situation that was simulated (input file). This should remain unmodified.

Version

Type: string

maritime-schema version number


Example:

"0.0.7"

Title

Type: string

The title of the traffic situation


Example:

"overtaking_18"

Description

Type: string

A description of the traffic situation


Example:

"Crossing situation with 3 target vessels in the Oslo fjord"

Start Time

Type: stringFormat: date-time

Starting time of the situation in ISO 8601 format YYYY-MM-DDThh:mm:ssZ


Example:

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

Own Ship

Type: object

Own Ship (OS) data


Example:

{
    "initial": {
        "cog": 284.2,
        "heading": 283.1,
        "navStatus": "Under way using engine",
        "position": {
            "lat": 10.3432,
            "lon": 57.2343
        },
        "sog": 12.3
    },
    "waypoints": [
        {
            "leg": null,
            "position": {
                "lat": 10.3432,
                "lon": 57.2343
            },
            "turnRadius": 1.0
        }
    ]
}

Initial

Type: object

Initial pose of the ship. If waypoints are provided, then these should correspond to the pose of the ship at the starting waypoint


Example:

{
    "cog": 284.2,
    "heading": 283.1,
    "navStatus": "Under way using engine",
    "position": {
        "lat": 10.3432,
        "lon": 57.2343
    },
    "sog": 12.3
}

Position

Type: object

longitude and latitude of the ship.


Example:

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

Lon

Type: number

WGS-84 Longitude

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


Example:

51.2131

Lat

Type: number

WGS-84 Latitude

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


Example:

51.2131

Additional Properties of any type are allowed.

Type: object

Sog

Type: number

ship (SOG) ground in knots

Value must be greater or equal to 0.0


Example:

10.0

Cog

Type: number

ship course over ground (COG) in degrees

Value must be greater or equal to 0.0 and lesser or equal to 360.0


Example:

45.0

Heading

Type: number

ship heading in degrees

Value must be greater or equal to 0.0 and lesser or equal to 360.0


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

Waypoints

Type: array

An array of Waypoint objects. Each waypoint object must have a position property. If no turn radius is provided, it will be assumed to be 0. Additional data can be added to each waypoint leg.

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.0 and lesser or equal to 180.0


Example:

51.2131

Lat

Type: number

WGS-84 Latitude

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


Example:

51.2131

Additional Properties of any type are allowed.

Type: object

Turn Radius

Type: number

Orthodrome turn radius in nautical miles as defined in RTZ.


Example:

200

Leg

Type: object

Current Leg information.

Starboard Xtd

Type: number

Starboard XTD in NM as defined in RTZ.

Portside Xtd

Type: number

Starboard XTD in NM 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, which is numerical and continuous. One such example is the vessels speed over ground (SOG). Every data object, can have the 4 following attributes:

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

interpStart: This is the distance (in NM) 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 NM) 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 before start of the next leg (NM), to start interpolating to the next leg's value


Example:

10

Interp End

Type: number

distance after the start of the next leg (NM), 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"

Example:

{
    "leg": null,
    "position": {
        "lat": 10.3432,
        "lon": 57.2343
    },
    "turnRadius": 1.0
}

Static

Type: object

Static ship information which does not change during a scenario.


Example:

{
    "dimensions": {
        "a": 50.0,
        "b": 50.0,
        "c": 10.0,
        "d": 10.0,
        "draught": null,
        "height": null,
        "length": 100.0,
        "width": 20.0
    },
    "id": 1,
    "imo": 1000001,
    "initDelay": null,
    "mmsi": 123456789,
    "name": "RMS Titanic",
    "pathType": null,
    "positionFixingDevice": null,
    "shipType": "Fishing",
    "sogMax": 20.0,
    "sogMin": null,
    "stationType": null
}

Id

Type: integer

Ship Identifier

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


Example:

1

Mmsi

Type: integer

Maritime Mobile Service Identity (MMSI)

Value must be greater or equal to 100000000 and lesser or equal to 999999999


Example:

123456789

Imo

Type: integer

IMO Number

Value must be greater or equal to 1000000 and lesser or equal to 9999999


Example:

1234567

Name

Type: string

Ship name


Example:

"RMS Titanic"

Dimensions

Type: object

Key ship dimensions

Length

Type: number

Width of the ship in meters

Value must be strictly greater than 0.0


Example:

130.0

Width

Type: number

Width of the ship in meters

Value must be strictly greater than 0.0


Example:

30.0

Height

Type: number

Height of the ship in meters

Value must be strictly greater than 0.0


Example:

15.0

Draught

Type: number

Draught of the ship in meters

Value must be strictly greater than 0.0


Example:

15.0

A

Type: number

Distance in meters from CCRP to Bow

Value must be strictly greater than 0.0


Example:

80

B

Type: number

Distance in meters from CCRP to Stern

Value must be strictly greater than 0.0


Example:

20

C

Type: number

Distance in meters from CCRP to Port

Value must be strictly greater than 0.0


Example:

20

D

Type: number

Distance in meters from CCRP to Starboard

Value must be strictly greater than 0.0


Example:

20

Ship Type


General ship type, based on AIS

AisShipType

Type: enum (of string)

AIS Ship Type (not including cargo type).
Source: https://www.itu.int/dms_pubrec/itu-r/rec/m/R-REC-M.1371-5-201402-I!!PDF-E.pdf#page=116.

Must be one of:

  • "Not available"
  • "Wing in ground"
  • "Fishing"
  • "Towing"
  • "Towing large"
  • "Dredging or underwater operations"
  • "Diving operations"
  • "Military operations"
  • "Sailing"
  • "Pleasure craft"
  • "High speed craft"
  • "Pilot vessel"
  • "Search and rescue vessel"
  • "Tug"
  • "Port tender"
  • "Anti-pollution equipment"
  • "Law enforcement"
  • "Medical transport"
  • "Noncombatant"
  • "Passenger"
  • "Cargo"
  • "Tanker"
  • "Other"

AisShipAndCargoType

Type: enum (of string)

Ship Type.
Source: https://www.itu.int/dms_pubrec/itu-r/rec/m/R-REC-M.1371-5-201402-I!!PDF-E.pdf#page=116.

Must be one of:

  • "Not available"
  • "Wing in ground"
  • "Wing in ground hazardous category A"
  • "Wing in ground hazardous category B"
  • "Wing in ground hazardous category C"
  • "Wing in ground hazardous category D"
  • "Fishing"
  • "Towing"
  • "Towing large"
  • "Dredging or underwater operations"
  • "Diving operations"
  • "Military operations"
  • "Sailing"
  • "Pleasure craft"
  • "High speed craft"
  • "High speed craft hazardous category A"
  • "High speed craft hazardous category B"
  • "High speed craft hazardous category C"
  • "High speed craft hazardous category D"
  • "High speed craft no information"
  • "Pilot vessel"
  • "Search and rescue vessel"
  • "Tug"
  • "Port tender"
  • "Anti-pollution equipment"
  • "Law enforcement"
  • "Medical transport"
  • "Noncombatant"
  • "Passenger"
  • "Passenger hazardous category A"
  • "Passenger hazardous category B"
  • "Passenger hazardous category C"
  • "Passenger hazardous category D"
  • "Passenger no information"
  • "Cargo"
  • "Cargo hazardous category A"
  • "Cargo hazardous category B"
  • "Cargo hazardous category C"
  • "Cargo hazardous category D"
  • "Cargo no information"
  • "Tanker"
  • "Tanker hazardous category A"
  • "Tanker hazardous category B"
  • "Tanker hazardous category C"
  • "Tanker hazardous category D"
  • "Tanker no information"
  • "Other"
  • "Other hazardous category A"
  • "Other hazardous category B"
  • "Other hazardous category C"
  • "Other hazardous category D"
  • "Other no information"

AisShipAndCargoTypeInt

Type: enum (of integer)

AIS Ship Type in Integer format.
Source: https://www.itu.int/dms_pubrec/itu-r/rec/m/R-REC-M.1371-5-201402-I!!PDF-E.pdf#page=116.

Must be one of:

  • 0
  • 20
  • 21
  • 22
  • 23
  • 24
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 40
  • 41
  • 42
  • 43
  • 44
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 99

Station Type


AIS station type

AisStationType

Type: enum (of string)

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

Must be one of:

  • "All mobiles"
  • "Class A mobile"
  • "Class B mobile"
  • "SAR airborne"
  • "Class B SO mobile"
  • "Class B CS shipborne"
  • "Inland waterways"
  • "Regional use 7"
  • "Regional use 8"
  • "Regional use 9"
  • "Base station coverage"
  • "Future use 11"
  • "Future use 12"
  • "Future use 13"
  • "Future use 14"
  • "Future use 15"

AisStationTypeInt

Type: enum (of integer)

AIS Station Type 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=138.

Must be one of:

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

Position Fixing Device


AIS position fixing device

AisPositionFixingDevice

Type: enum (of string)

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

Must be one of:

  • "Undefined"
  • "GPS"
  • "GLONASS"
  • "Combined GPS/GLONASS"
  • "LORAN-C"
  • "CHAYKA"
  • "Integrated Navigation System"
  • "Surveyed"
  • "Galileo"
  • "Not used"
  • "Not used"
  • "Not used"
  • "Not used"
  • "Not used"
  • "Not used"
  • "Internal GNSS"

AisPositionFixingDeviceInt

Type: enum (of integer)

AIS Position fixing device 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

Path Type

Type: enum (of string) Default: "rtz"

Specifies the control-point model (e.g., Bezier, RTZ) used to define the path for the ship to follow.

Must be one of:

  • "rtz"
  • "bezier"
  • "linear"

Init Delay

Type: number

Delay in seconds, before the ship is initialized

Value must be greater or equal to 0.0


Example:

15.0

Sog Min

Type: number

Minimum ship speed over ground in knots

Value must be greater or equal to 0.0


Example:

5.0

Sog Max

Type: number

Maximum ship speed over ground in knots

Value must be greater or equal to 0.0


Example:

15.0

Additional Properties of any type are allowed.

Type: object

Target Ships

Type: array

Target Ship (TGT) data

No Additional Items

Each item of this array must be:

TargetShip

Type: object

Initial

Type: object

Initial pose of the ship. If waypoints are provided, then these should correspond to the pose of the ship at the starting waypoint


Example:

{
    "cog": 284.2,
    "heading": 283.1,
    "navStatus": "Under way using engine",
    "position": {
        "lat": 10.3432,
        "lon": 57.2343
    },
    "sog": 12.3
}

Position

Type: object

longitude and latitude of the ship.


Example:

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

Lon

Type: number

WGS-84 Longitude

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


Example:

51.2131

Lat

Type: number

WGS-84 Latitude

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


Example:

51.2131

Additional Properties of any type are allowed.

Type: object

Sog

Type: number

ship (SOG) ground in knots

Value must be greater or equal to 0.0


Example:

10.0

Cog

Type: number

ship course over ground (COG) in degrees

Value must be greater or equal to 0.0 and lesser or equal to 360.0


Example:

45.0

Heading

Type: number

ship heading in degrees

Value must be greater or equal to 0.0 and lesser or equal to 360.0


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

Waypoints

Type: array

An array of Waypoint objects. Each waypoint object must have a position property. If no turn radius is provided, it will be assumed to be 0. Additional data can be added to each waypoint leg.

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.0 and lesser or equal to 180.0


Example:

51.2131

Lat

Type: number

WGS-84 Latitude

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


Example:

51.2131

Additional Properties of any type are allowed.

Type: object

Turn Radius

Type: number

Orthodrome turn radius in nautical miles as defined in RTZ.


Example:

200

Leg

Type: object

Current Leg information.

Starboard Xtd

Type: number

Starboard XTD in NM as defined in RTZ.

Portside Xtd

Type: number

Starboard XTD in NM 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, which is numerical and continuous. One such example is the vessels speed over ground (SOG). Every data object, can have the 4 following attributes:

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

interpStart: This is the distance (in NM) 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 NM) 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 before start of the next leg (NM), to start interpolating to the next leg's value


Example:

10

Interp End

Type: number

distance after the start of the next leg (NM), 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"

Example:

{
    "leg": null,
    "position": {
        "lat": 10.3432,
        "lon": 57.2343
    },
    "turnRadius": 1.0
}

Static

Type: object

Static ship information which does not change during a scenario.


Example:

{
    "dimensions": {
        "a": 50.0,
        "b": 50.0,
        "c": 10.0,
        "d": 10.0,
        "draught": null,
        "height": null,
        "length": 100.0,
        "width": 20.0
    },
    "id": 1,
    "imo": 1000001,
    "initDelay": null,
    "mmsi": 123456789,
    "name": "RMS Titanic",
    "pathType": null,
    "positionFixingDevice": null,
    "shipType": "Fishing",
    "sogMax": 20.0,
    "sogMin": null,
    "stationType": null
}

Id

Type: integer

Ship Identifier

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


Example:

1

Mmsi

Type: integer

Maritime Mobile Service Identity (MMSI)

Value must be greater or equal to 100000000 and lesser or equal to 999999999


Example:

123456789

Imo

Type: integer

IMO Number

Value must be greater or equal to 1000000 and lesser or equal to 9999999


Example:

1234567

Name

Type: string

Ship name


Example:

"RMS Titanic"

Dimensions

Type: object

Key ship dimensions

Length

Type: number

Width of the ship in meters

Value must be strictly greater than 0.0


Example:

130.0

Width

Type: number

Width of the ship in meters

Value must be strictly greater than 0.0


Example:

30.0

Height

Type: number

Height of the ship in meters

Value must be strictly greater than 0.0


Example:

15.0

Draught

Type: number

Draught of the ship in meters

Value must be strictly greater than 0.0


Example:

15.0

A

Type: number

Distance in meters from CCRP to Bow

Value must be strictly greater than 0.0


Example:

80

B

Type: number

Distance in meters from CCRP to Stern

Value must be strictly greater than 0.0


Example:

20

C

Type: number

Distance in meters from CCRP to Port

Value must be strictly greater than 0.0


Example:

20

D

Type: number

Distance in meters from CCRP to Starboard

Value must be strictly greater than 0.0


Example:

20

Ship Type


General ship type, based on AIS

AisShipType

Type: enum (of string)

AIS Ship Type (not including cargo type).
Source: https://www.itu.int/dms_pubrec/itu-r/rec/m/R-REC-M.1371-5-201402-I!!PDF-E.pdf#page=116.

Must be one of:

  • "Not available"
  • "Wing in ground"
  • "Fishing"
  • "Towing"
  • "Towing large"
  • "Dredging or underwater operations"
  • "Diving operations"
  • "Military operations"
  • "Sailing"
  • "Pleasure craft"
  • "High speed craft"
  • "Pilot vessel"
  • "Search and rescue vessel"
  • "Tug"
  • "Port tender"
  • "Anti-pollution equipment"
  • "Law enforcement"
  • "Medical transport"
  • "Noncombatant"
  • "Passenger"
  • "Cargo"
  • "Tanker"
  • "Other"

AisShipAndCargoType

Type: enum (of string)

Ship Type.
Source: https://www.itu.int/dms_pubrec/itu-r/rec/m/R-REC-M.1371-5-201402-I!!PDF-E.pdf#page=116.

Must be one of:

  • "Not available"
  • "Wing in ground"
  • "Wing in ground hazardous category A"
  • "Wing in ground hazardous category B"
  • "Wing in ground hazardous category C"
  • "Wing in ground hazardous category D"
  • "Fishing"
  • "Towing"
  • "Towing large"
  • "Dredging or underwater operations"
  • "Diving operations"
  • "Military operations"
  • "Sailing"
  • "Pleasure craft"
  • "High speed craft"
  • "High speed craft hazardous category A"
  • "High speed craft hazardous category B"
  • "High speed craft hazardous category C"
  • "High speed craft hazardous category D"
  • "High speed craft no information"
  • "Pilot vessel"
  • "Search and rescue vessel"
  • "Tug"
  • "Port tender"
  • "Anti-pollution equipment"
  • "Law enforcement"
  • "Medical transport"
  • "Noncombatant"
  • "Passenger"
  • "Passenger hazardous category A"
  • "Passenger hazardous category B"
  • "Passenger hazardous category C"
  • "Passenger hazardous category D"
  • "Passenger no information"
  • "Cargo"
  • "Cargo hazardous category A"
  • "Cargo hazardous category B"
  • "Cargo hazardous category C"
  • "Cargo hazardous category D"
  • "Cargo no information"
  • "Tanker"
  • "Tanker hazardous category A"
  • "Tanker hazardous category B"
  • "Tanker hazardous category C"
  • "Tanker hazardous category D"
  • "Tanker no information"
  • "Other"
  • "Other hazardous category A"
  • "Other hazardous category B"
  • "Other hazardous category C"
  • "Other hazardous category D"
  • "Other no information"

AisShipAndCargoTypeInt

Type: enum (of integer)

AIS Ship Type in Integer format.
Source: https://www.itu.int/dms_pubrec/itu-r/rec/m/R-REC-M.1371-5-201402-I!!PDF-E.pdf#page=116.

Must be one of:

  • 0
  • 20
  • 21
  • 22
  • 23
  • 24
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 40
  • 41
  • 42
  • 43
  • 44
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 99

Station Type


AIS station type

AisStationType

Type: enum (of string)

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

Must be one of:

  • "All mobiles"
  • "Class A mobile"
  • "Class B mobile"
  • "SAR airborne"
  • "Class B SO mobile"
  • "Class B CS shipborne"
  • "Inland waterways"
  • "Regional use 7"
  • "Regional use 8"
  • "Regional use 9"
  • "Base station coverage"
  • "Future use 11"
  • "Future use 12"
  • "Future use 13"
  • "Future use 14"
  • "Future use 15"

AisStationTypeInt

Type: enum (of integer)

AIS Station Type 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=138.

Must be one of:

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

Position Fixing Device


AIS position fixing device

AisPositionFixingDevice

Type: enum (of string)

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

Must be one of:

  • "Undefined"
  • "GPS"
  • "GLONASS"
  • "Combined GPS/GLONASS"
  • "LORAN-C"
  • "CHAYKA"
  • "Integrated Navigation System"
  • "Surveyed"
  • "Galileo"
  • "Not used"
  • "Not used"
  • "Not used"
  • "Not used"
  • "Not used"
  • "Not used"
  • "Internal GNSS"

AisPositionFixingDeviceInt

Type: enum (of integer)

AIS Position fixing device 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

Path Type

Type: enum (of string) Default: "rtz"

Specifies the control-point model (e.g., Bezier, RTZ) used to define the path for the ship to follow.

Must be one of:

  • "rtz"
  • "bezier"
  • "linear"

Init Delay

Type: number

Delay in seconds, before the ship is initialized

Value must be greater or equal to 0.0


Example:

15.0

Sog Min

Type: number

Minimum ship speed over ground in knots

Value must be greater or equal to 0.0


Example:

5.0

Sog Max

Type: number

Maximum ship speed over ground in knots

Value must be greater or equal to 0.0


Example:

15.0

Additional Properties of any type are allowed.

Type: object

Example:

[
    {
        "initial": {
            "cog": 284.2,
            "heading": 283.1,
            "navStatus": "Under way using engine",
            "position": {
                "lat": 10.3432,
                "lon": 57.2343
            },
            "sog": 12.3
        },
        "waypoints": [
            {
                "leg": null,
                "position": {
                    "lat": 10.3432,
                    "lon": 57.2343
                },
                "turnRadius": 1.0
            }
        ]
    }
]

Environment

Type: object

Environmental parameters


Example:

{
    "airTemperature": 20.0,
    "conditions": "Clear",
    "currentDirection": 90.0,
    "currentSpeed": 1.0,
    "precipitation": "Rain",
    "significantWaveHeight": 3.0,
    "visibility": 5.0,
    "waterTemperature": 15.0,
    "waveDirection": 270.0,
    "wavePeriod": 12.0,
    "waveSpectrum": "JONSWAP",
    "windDirection": 180.0,
    "windSpeed": 10.0
}

Air Temperature

Type: number

The air temperature in degrees Celsius


Example:

20.0

Water Temperature

Type: number

The water temperature in degrees Celsius


Example:

15.0

Precipitation

Type: enum (of string)

The type of precipitation

Must be one of:

  • "None"
  • "Rain"
  • "Snow"
  • "Sleet"
  • "Hail"

Example:

"Rain"

Wind Speed

Type: number

The wind speed in m/s


Example:

10.0

Wind Direction

Type: number

The wind direction in degrees


Example:

180.0

Current Speed

Type: number

The current speed in m/s


Example:

1.0

Current Direction

Type: number

The current direction in degrees


Example:

90.0

Wave Spectrum

Type: enum (of string)

The wave spectrum

Must be one of:

  • "JONSWAP"
  • "Pierson-Moskowitz"
  • "Bretschneider"

Example:

"JONSWAP"

Significant Wave Height

Type: number

The significant wave height in meters


Example:

3.0

Wave Period

Type: number

The wave period in seconds


Example:

12.0

Wave Direction

Type: number

The wave direction in degrees


Example:

270.0

Visibility

Type: number

The visibility in nautical miles


Example:

5.0

Conditions

Type: enum (of string)

The overall weather conditions

Must be one of:

  • "Clear"
  • "Cloudy"
  • "Foggy"
  • "Rainy"
  • "Snowy"

Example:

"Clear"

Additional Properties of any type are allowed.

Type: object

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

System Configuration

The following properties are required:

  • name
  • vendor
  • version

Example:

{
    "name": "AutoNavigation-System 1",
    "vendor": "CompanyABC",
    "version": "1.2.3"
}

Type: number

Minimum distance in meters that the system will keep to other Vessels


Example:

100

Type: number

Time given in seconds to the navigator / system, before the proposed manoeuver is no longer able to be executed


Example:

20

Type: number

Minimum safety depth


Example:

30

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


Example:

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

Route

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.0 and lesser or equal to 180.0


Example:

51.2131

Lat

Type: number

WGS-84 Latitude

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


Example:

51.2131

Additional Properties of any type are allowed.

Type: object

Turn Radius

Type: number

Orthodrome turn radius in nautical miles as defined in RTZ.


Example:

200

Leg

Type: object

Current Leg information.

Starboard Xtd

Type: number

Starboard XTD in NM as defined in RTZ.

Portside Xtd

Type: number

Starboard XTD in NM 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, which is numerical and continuous. One such example is the vessels speed over ground (SOG). Every data object, can have the 4 following attributes:

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

interpStart: This is the distance (in NM) 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 NM) 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 before start of the next leg (NM), to start interpolating to the next leg's value


Example:

10

Interp End

Type: number

distance after the start of the next leg (NM), 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"

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": 10.3432,
    "lon": 57.2343
}

Lon

Type: number

WGS-84 Longitude

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


Example:

51.2131

Lat

Type: number

WGS-84 Latitude

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


Example:

51.2131

Additional Properties of any type are allowed.

Type: object

Sog

Type: number

ship (SOG) ground in knots

Value must be greater or equal to 0.0


Example:

10.0

Cog

Type: number

ship course over ground (COG) in degrees

Value must be greater or equal to 0.0 and lesser or equal to 360.0


Example:

45.0

Heading

Type: number

ship heading in degrees

Value must be greater or equal to 0.0 and lesser or equal to 360.0


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

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

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": 10.3432,
    "lon": 57.2343
}

Lon

Type: number

WGS-84 Longitude

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


Example:

51.2131

Lat

Type: number

WGS-84 Latitude

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


Example:

51.2131

Additional Properties of any type are allowed.

Type: object

Sog

Type: number

ship (SOG) ground in knots

Value must be greater or equal to 0.0


Example:

10.0

Cog

Type: number

ship course over ground (COG) in degrees

Value must be greater or equal to 0.0 and lesser or equal to 360.0


Example:

45.0

Heading

Type: number

ship heading in degrees

Value must be greater or equal to 0.0 and lesser or equal to 360.0


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

Additional Properties of any type are allowed.

Type: object

Example:

{
    "ownShip": null,
    "route": [
        {
            "leg": null,
            "position": {
                "lat": 10.3432,
                "lon": 57.2343
            },
            "turnRadius": 1.0
        },
        {
            "leg": null,
            "position": {
                "lat": 10.3432,
                "lon": 57.2343
            },
            "turnRadius": 1.0
        },
        {
            "leg": null,
            "position": {
                "lat": 10.3432,
                "lon": 57.2343
            },
            "turnRadius": 1.0
        }
    ],
    "targetShips": null,
    "time": "2025-01-01T00:00:00"
}

Simulator

Type: object

Data generated by the simulator during the scenario

Configuration

Type: object

System Configuration

The following properties are required:

  • name
  • vendor
  • version

Example:

{
    "name": "AutoNavigation-System 1",
    "vendor": "CompanyABC",
    "version": "1.2.3"
}

Type: number

Minimum distance in meters that the system will keep to other Vessels


Example:

100

Type: number

Time given in seconds to the navigator / system, before the proposed manoeuver is no longer able to be executed


Example:

20

Type: number

Minimum safety depth


Example:

30

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:

SimulatorEvent

Type: object

Time

Type: stringFormat: date-time

Date and Time of the event


Example:

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

Additional Properties of any type are allowed.

Type: object

Example:

{
    "time": "2025-01-01T00:00:00"
}

Additional Properties of any type are allowed.

Type: object