From 4fba09de5893a63e2a39e66413c74fc04abfdb12 Mon Sep 17 00:00:00 2001 From: Minos Hemrich Date: Fri, 22 Mar 2024 11:58:15 +0100 Subject: [PATCH 1/4] update changelog for release --- CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 81b2ff6..a821d03 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,7 @@ All notable changes to the [maritime-schema] project will be documented in this file.
The changelog format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). -## [Unreleased] +## [0.0.5] - 2024-03-22 ### Changed @@ -94,7 +94,7 @@ The changelog format is based on [Keep a Changelog](https://keepachangelog.com/e -[unreleased]: https://github.com/dnv-opensource/maritime-schema/compare/v0.0.4...HEAD +[0.0.5]: https://github.com/dnv-opensource/maritime-schema/releases/tag/v0.0.4...v0.0.5 [0.0.4]: https://github.com/dnv-opensource/maritime-schema/releases/tag/v0.0.3...v0.0.4 [0.0.3]: https://github.com/dnv-opensource/maritime-schema/releases/tag/v0.0.2...v0.0.3 [0.0.2]: https://github.com/dnv-opensource/maritime-schema/releases/tag/v0.0.1...v0.0.2 From d9cab31558d96499e86a1546e9683f6d468f0961 Mon Sep 17 00:00:00 2001 From: Claas Date: Fri, 22 Mar 2024 13:55:39 +0100 Subject: [PATCH 2/4] CHANGELOG.md : Added 'Unrealeased' section, as place to document the changes in between releases --- CHANGELOG.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a821d03..e99616f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,11 @@ All notable changes to the [maritime-schema] project will be documented in this file.
The changelog format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). +## [Unreleased] + +- -/- + + ## [0.0.5] - 2024-03-22 ### Changed @@ -19,7 +24,6 @@ The changelog format is based on [Keep a Changelog](https://keepachangelog.com/e - updated to pyright==1.1.352 (from pyright==1.1.350) - removed black -- -/- ## [0.0.4] - 2024-02-28 @@ -93,7 +97,7 @@ The changelog format is based on [Keep a Changelog](https://keepachangelog.com/e - function y in module z - +[unreleased]: https://github.com/dnv-opensource/maritime-schema/compare/v0.0.5...HEAD [0.0.5]: https://github.com/dnv-opensource/maritime-schema/releases/tag/v0.0.4...v0.0.5 [0.0.4]: https://github.com/dnv-opensource/maritime-schema/releases/tag/v0.0.3...v0.0.4 [0.0.3]: https://github.com/dnv-opensource/maritime-schema/releases/tag/v0.0.2...v0.0.3 From 8f9d23ab0a2cd03a8ca42b0bf15b7c5364400971 Mon Sep 17 00:00:00 2001 From: Claas Date: Fri, 22 Mar 2024 13:56:48 +0100 Subject: [PATCH 3/4] bumped version number to 0.0.5 --- docs/source/conf.py | 2 +- pyproject.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/source/conf.py b/docs/source/conf.py index 2d7f8da..720d012 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -23,7 +23,7 @@ author = "Minos Hemrich, Tom Arne Pedersen, Claas Rostock" # The full version, including alpha/beta/rc tags -release = "0.0.4" +release = "0.0.5" # -- General configuration --------------------------------------------------- diff --git a/pyproject.toml b/pyproject.toml index 6632251..c9e0b77 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "maritime-schema" -version = "0.0.4" +version = "0.0.5" description = "Python data classes and JSON schemata for maritime traffic scenarios." readme = "README.md" requires-python = ">= 3.9" From 29c690e7bdcbd980bf5509fa4279b824372bdb58 Mon Sep 17 00:00:00 2001 From: Claas Date: Fri, 22 Mar 2024 13:58:22 +0100 Subject: [PATCH 4/4] re-generated JSON schema --- docs/schema/caga/input_schema.html | 576 ++-- docs/schema/caga/output_schema.html | 1938 +++++------ schema/caga/input_schema.json | 2129 ++++++------ schema/caga/output_schema.json | 4783 ++++++++++++++------------- 4 files changed, 4716 insertions(+), 4710 deletions(-) diff --git a/docs/schema/caga/input_schema.html b/docs/schema/caga/input_schema.html index b53b217..654c5cf 100644 --- a/docs/schema/caga/input_schema.html +++ b/docs/schema/caga/input_schema.html @@ -1,288 +1,288 @@ - Test Input Schema

Test Input Schema

Type: object

Title

Default: null

The title of the traffic situation

Type: string
Type: null

Example:

"overtaking_18"
-

Description

Default: null

A description of the traffic situation

Type: string
Type: null

Example:

"Crossing situation with 3 target vessels in the Oslofjord"
-

Situation starting time

Default: null

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

Type: stringFormat: date-time
Type: null

Example:

"2024-03-14T15:29:40.119791"
-

Own Ship data

Type: object

Own Ship data


Example:

{
-    "initial": {
-        "cog": 284.2,
-        "heading": 283.1,
-        "navStatus": "Under way using engine",
-        "position": {
-            "latitude": 57.2343,
-            "longitude": 10.3432
-        },
-        "sog": 12.3
-    },
-    "static": {
-        "height": 15.0,
-        "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
-        "imo": 1000001,
-        "length": 230.0,
-        "mmsi": 123456789,
-        "name": "RMS Titanic",
-        "shipType": "Fishing",
-        "width": 30.0
-    },
-    "waypoints": [
-        {
-            "data": {
-                "heading": {
-                    "interpMethod": "linear",
-                    "mAfterLegChange": 100.0,
-                    "mBeforeLegChange": 100.0,
-                    "value": 12.3
-                },
-                "sog": {
-                    "interpMethod": "linear",
-                    "mAfterLegChange": 100.0,
-                    "mBeforeLegChange": 100.0,
-                    "value": 12.3
-                }
-            },
-            "position": {
-                "latitude": 57.2343,
-                "longitude": 10.3432
-            },
-            "turnRadius": 500.0
-        }
-    ]
-}
-

Default: null

Static ship information which does not change during a scenario.

Type: object

Static ship data that will not change during the scenario.

Id

Type: stringFormat: uuid

Unique Identifier


Example:

"59352249-4387-4aaa-bb4c-ab767950b373"
-

Length

Default: null

Length of the ship in meters

Type: number

Value must be strictly greater than 0.0

Type: null

Example:

230.0
-

Width

Default: null

Width of the ship in meters

Type: number

Value must be strictly greater than 0.0

Type: null

Example:

30.0
-

Height

Default: null

Height of the ship in meters

Type: number

Value must be strictly greater than 0.0

Type: null

Example:

15.0
-

Mmsi

Default: null

Maritime Mobile Service Identity (MMSI)

Type: integer

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

Type: null

Example:

123456789
-

Imo

Default: null

IMO Number

Type: integer

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

Type: null

Example:

1234567
-

Name

Default: null

Ship title

Type: string
Type: null

Example:

"RMS Titanic"
-

Default: null

General ship type, based on AIS

Type: enum (of string)

Must be one of:

  • "Wing in ground"
  • "Fishing"
  • "Towing"
  • "Dredging or underwater ops"
  • "Diving ops"
  • "Military ops"
  • "Sailing"
  • "Pleasure Craft"
  • "High speed craft"
  • "Pilot Vessel"
  • "Search and Rescue vessel"
  • "Tug"
  • "Port Tender"
  • "Anti-pollution"
  • "Law Enforcement"
  • "Medical Transport"
  • "Noncombatant ship"
  • "Passenger"
  • "Cargo"
  • "Tanker"
  • "Other Type"
Type: null

Additional Properties of any type are allowed.

Type: object
Type: null

Example:

{
-    "height": 15.0,
-    "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
-    "imo": 1000001,
-    "length": 230.0,
-    "mmsi": 123456789,
-    "name": "RMS Titanic",
-    "shipType": "Fishing",
-    "width": 30.0
-}
-

Initial own ship Initial

Default: null

Type: object

Longitude and Latitude Values

Default: null

A geographical coordinate

Type: object

Latitude

Default: null

WGS-84 latitude

Type: number

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

Type: null

Example:

51.2131
-

Longitude

Default: null

WGS-84 longitude

Type: number

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

Type: null

Example:

11.2131
-

Additional Properties of any type are allowed.

Type: object
Type: null

Example:

{
-    "latitude": 57.2343,
-    "longitude": 10.3432
-}
-

Initial ship speed over ground

Default: null

Initial ship speed over ground in knots

Type: number

Value must be greater or equal to 0.0

Type: null

Example:

10.0
-

Initial ship course over ground

Default: null

Initial ship course over ground in degrees

Type: number

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

Type: null

Example:

45.0
-

Initial ship heading

Default: null

Initial ship heading in degrees

Type: number

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

Type: null

Example:

45.2
-

Default: null

AIS Navigational Status

Type: enum (of string)

Must be one of:

  • "Under way using engine"
  • "At anchor"
  • "Not under command"
  • "Restricted manoeuverability"
  • "Constrained by her draught"
  • "Moored"
  • "Aground"
  • "Engaged in fishing"
  • "Under way sailing"
  • "Reserved for future amendment of navigational status for HSC"
  • "Reserved for future amendment of navigational status for WIG"
  • "Reserved for future use 1"
  • "Reserved for future use 2"
  • "Reserved for future use 3"
  • "AIS SART is active"
  • "Not defined (default)"
Type: null
Type: null

Example:

{
-    "cog": 284.2,
-    "heading": 283.1,
-    "navStatus": "Under way using engine",
-    "position": {
-        "latitude": 57.2343,
-        "longitude": 10.3432
-    },
-    "sog": 12.3
-}
-

Waypoints

Default: null

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. This allows varying parameters on a per-leg basis, such as speed and heading, or navigational status

Type: array
No Additional Items

Each item of this array must be:

Type: object

Type: object

A geographical coordinate


Example:

{
-    "latitude": 51.2123,
-    "longitude": 11.2313
-}
-

Latitude

Default: null

WGS-84 latitude

Type: number

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

Type: null

Example:

51.2131
-

Longitude

Default: null

WGS-84 longitude

Type: number

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

Type: null

Example:

11.2131
-

Additional Properties of any type are allowed.

Type: object

Turn Radius

Default: null

Orthodrome turn radius as defined in RTZ format

Type: number
Type: null

Example:

200
-

Type: object Default: null

A Data object that includes speed, course, and heading data points

Default: null

Speed data point

Type: object

Value

Default: null

the value of the data at the current timestep

Type: number
Type: null

Example:

12.3
-

M Before Leg Change

Type: number Default: null

meters before the waypoint to start interpolating to the new value


Example:

10
-

M After Leg Change

Default: null

meters after the waypoint to finish interpolating to the new value

Type: number
Type: null

Example:

10
-

Interp Method

Default: null

Method used for interpolation

Type: enum (of string)

Must be one of:

  • "linear"
  • "cosine"
  • "smoothstep"
  • "accelerate"
  • "decelerate"
  • "ordinal"
Type: string
Type: null
Type: null

Example:

{
-    "interpMethod": "linear",
-    "mAfterLegChange": 100.0,
-    "mBeforeLegChange": 100.0,
-    "value": 12.3
-}
-

Default: null

Heading data point

Type: object

Value

Default: null

the value of the data at the current timestep

Type: number
Type: null

Example:

12.3
-

M Before Leg Change

Type: number Default: null

meters before the waypoint to start interpolating to the new value


Example:

10
-

M After Leg Change

Default: null

meters after the waypoint to finish interpolating to the new value

Type: number
Type: null

Example:

10
-

Interp Method

Default: null

Method used for interpolation

Type: enum (of string)

Must be one of:

  • "linear"
  • "cosine"
  • "smoothstep"
  • "accelerate"
  • "decelerate"
  • "ordinal"
Type: string
Type: null
Type: null

Example:

{
-    "interpMethod": "linear",
-    "mAfterLegChange": 100.0,
-    "mBeforeLegChange": 100.0,
-    "value": 180.0
-}
-

Each additional property must conform to the following schema

Type: object

The 'data' field can include additional properties. All additional properties should be DataPoint objects.

Type: number

Type: number

Type: number

Type: string
Type: null

Example:

{
-    "data": {
-        "heading": {
-            "interpMethod": "linear",
-            "mAfterLegChange": 100.0,
-            "mBeforeLegChange": 100.0,
-            "value": 12.3
-        },
-        "sog": {
-            "interpMethod": "linear",
-            "mAfterLegChange": 100.0,
-            "mBeforeLegChange": 100.0,
-            "value": 12.3
-        }
-    },
-    "position": {
-        "latitude": 57.2343,
-        "longitude": 10.3432
-    },
-    "turnRadius": 500.0
-}
-

Target Ship data

Type: array Default: null

Target Ship data

No Additional Items

Each item of this array must be:

Type: object

Default: null

Static ship information which does not change during a scenario.

Type: object

Static ship data that will not change during the scenario.

Id

Type: stringFormat: uuid

Unique Identifier


Example:

"59352249-4387-4aaa-bb4c-ab767950b373"
-

Length

Default: null

Length of the ship in meters

Type: number

Value must be strictly greater than 0.0

Type: null

Example:

230.0
-

Width

Default: null

Width of the ship in meters

Type: number

Value must be strictly greater than 0.0

Type: null

Example:

30.0
-

Height

Default: null

Height of the ship in meters

Type: number

Value must be strictly greater than 0.0

Type: null

Example:

15.0
-

Mmsi

Default: null

Maritime Mobile Service Identity (MMSI)

Type: integer

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

Type: null

Example:

123456789
-

Imo

Default: null

IMO Number

Type: integer

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

Type: null

Example:

1234567
-

Name

Default: null

Ship title

Type: string
Type: null

Example:

"RMS Titanic"
-

Default: null

General ship type, based on AIS

Type: enum (of string)

Must be one of:

  • "Wing in ground"
  • "Fishing"
  • "Towing"
  • "Dredging or underwater ops"
  • "Diving ops"
  • "Military ops"
  • "Sailing"
  • "Pleasure Craft"
  • "High speed craft"
  • "Pilot Vessel"
  • "Search and Rescue vessel"
  • "Tug"
  • "Port Tender"
  • "Anti-pollution"
  • "Law Enforcement"
  • "Medical Transport"
  • "Noncombatant ship"
  • "Passenger"
  • "Cargo"
  • "Tanker"
  • "Other Type"
Type: null

Additional Properties of any type are allowed.

Type: object
Type: null

Example:

{
-    "height": 15.0,
-    "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
-    "imo": 1000001,
-    "length": 230.0,
-    "mmsi": 123456789,
-    "name": "RMS Titanic",
-    "shipType": "Fishing",
-    "width": 30.0
-}
-

Initial own ship Initial

Default: null

Type: object

Longitude and Latitude Values

Default: null

A geographical coordinate

Type: object

Latitude

Default: null

WGS-84 latitude

Type: number

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

Type: null

Example:

51.2131
-

Longitude

Default: null

WGS-84 longitude

Type: number

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

Type: null

Example:

11.2131
-

Additional Properties of any type are allowed.

Type: object
Type: null

Example:

{
-    "latitude": 57.2343,
-    "longitude": 10.3432
-}
-

Initial ship speed over ground

Default: null

Initial ship speed over ground in knots

Type: number

Value must be greater or equal to 0.0

Type: null

Example:

10.0
-

Initial ship course over ground

Default: null

Initial ship course over ground in degrees

Type: number

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

Type: null

Example:

45.0
-

Initial ship heading

Default: null

Initial ship heading in degrees

Type: number

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

Type: null

Example:

45.2
-

Default: null

AIS Navigational Status

Type: enum (of string)

Must be one of:

  • "Under way using engine"
  • "At anchor"
  • "Not under command"
  • "Restricted manoeuverability"
  • "Constrained by her draught"
  • "Moored"
  • "Aground"
  • "Engaged in fishing"
  • "Under way sailing"
  • "Reserved for future amendment of navigational status for HSC"
  • "Reserved for future amendment of navigational status for WIG"
  • "Reserved for future use 1"
  • "Reserved for future use 2"
  • "Reserved for future use 3"
  • "AIS SART is active"
  • "Not defined (default)"
Type: null
Type: null

Example:

{
-    "cog": 284.2,
-    "heading": 283.1,
-    "navStatus": "Under way using engine",
-    "position": {
-        "latitude": 57.2343,
-        "longitude": 10.3432
-    },
-    "sog": 12.3
-}
-

Waypoints

Default: null

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. This allows varying parameters on a per-leg basis, such as speed and heading, or navigational status

Type: array
No Additional Items

Each item of this array must be:

Type: object

Type: object

A geographical coordinate


Example:

{
-    "latitude": 51.2123,
-    "longitude": 11.2313
-}
-

Latitude

Default: null

WGS-84 latitude

Type: number

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

Type: null

Example:

51.2131
-

Longitude

Default: null

WGS-84 longitude

Type: number

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

Type: null

Example:

11.2131
-

Additional Properties of any type are allowed.

Type: object

Turn Radius

Default: null

Orthodrome turn radius as defined in RTZ format

Type: number
Type: null

Example:

200
-

Type: object Default: null

A Data object that includes speed, course, and heading data points

Default: null

Speed data point

Type: object

Value

Default: null

the value of the data at the current timestep

Type: number
Type: null

Example:

12.3
-

M Before Leg Change

Type: number Default: null

meters before the waypoint to start interpolating to the new value


Example:

10
-

M After Leg Change

Default: null

meters after the waypoint to finish interpolating to the new value

Type: number
Type: null

Example:

10
-

Interp Method

Default: null

Method used for interpolation

Type: enum (of string)

Must be one of:

  • "linear"
  • "cosine"
  • "smoothstep"
  • "accelerate"
  • "decelerate"
  • "ordinal"
Type: string
Type: null
Type: null

Example:

{
-    "interpMethod": "linear",
-    "mAfterLegChange": 100.0,
-    "mBeforeLegChange": 100.0,
-    "value": 12.3
-}
-

Default: null

Heading data point

Type: object

Value

Default: null

the value of the data at the current timestep

Type: number
Type: null

Example:

12.3
-

M Before Leg Change

Type: number Default: null

meters before the waypoint to start interpolating to the new value


Example:

10
-

M After Leg Change

Default: null

meters after the waypoint to finish interpolating to the new value

Type: number
Type: null

Example:

10
-

Interp Method

Default: null

Method used for interpolation

Type: enum (of string)

Must be one of:

  • "linear"
  • "cosine"
  • "smoothstep"
  • "accelerate"
  • "decelerate"
  • "ordinal"
Type: string
Type: null
Type: null

Example:

{
-    "interpMethod": "linear",
-    "mAfterLegChange": 100.0,
-    "mBeforeLegChange": 100.0,
-    "value": 180.0
-}
-

Each additional property must conform to the following schema

Type: object

The 'data' field can include additional properties. All additional properties should be DataPoint objects.

Type: number

Type: number

Type: number

Type: string
Type: null

Example:

{
-    "data": {
-        "heading": {
-            "interpMethod": "linear",
-            "mAfterLegChange": 100.0,
-            "mBeforeLegChange": 100.0,
-            "value": 12.3
-        },
-        "sog": {
-            "interpMethod": "linear",
-            "mAfterLegChange": 100.0,
-            "mBeforeLegChange": 100.0,
-            "value": 12.3
-        }
-    },
-    "position": {
-        "latitude": 57.2343,
-        "longitude": 10.3432
-    },
-    "turnRadius": 500.0
-}
-

Example:

[
-    {
-        "initial": {
-            "cog": 284.2,
-            "heading": 283.1,
-            "navStatus": "Under way using engine",
-            "position": {
-                "latitude": 57.2343,
-                "longitude": 10.3432
-            },
-            "sog": 12.3
-        },
-        "static": {
-            "height": 15.0,
-            "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
-            "imo": 1000001,
-            "length": 230.0,
-            "mmsi": 123456789,
-            "name": "RMS Titanic",
-            "shipType": "Fishing",
-            "width": 30.0
-        },
-        "waypoints": [
-            {
-                "data": {
-                    "heading": {
-                        "interpMethod": "linear",
-                        "mAfterLegChange": 100.0,
-                        "mBeforeLegChange": 100.0,
-                        "value": 12.3
-                    },
-                    "sog": {
-                        "interpMethod": "linear",
-                        "mAfterLegChange": 100.0,
-                        "mBeforeLegChange": 100.0,
-                        "value": 12.3
-                    }
-                },
-                "position": {
-                    "latitude": 57.2343,
-                    "longitude": 10.3432
-                },
-                "turnRadius": 500.0
-            }
-        ]
-    }
-]
-

Default: null

environmental parameters

Type: object

Air Temperature

Type: number Default: null

The air temperature in degrees Celsius


Example:

20.0
-

Water Remperature

Type: number Default: null

The water temperature in degrees Celsius


Example:

15.0
-

Type: enum (of string) Default: null

The type of precipitation

Must be one of:

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

Example:

"Rain"
-

Wind Speed

Type: number Default: null

The wind speed in m/s


Example:

10.0
-

Wind Direction

Type: number Default: null

The wind direction in degrees


Example:

180.0
-

Current Speed

Type: number Default: null

The current speed in m/s


Example:

1.0
-

Current Direction

Type: number Default: null

The current direction in degrees


Example:

90.0
-

Type: enum (of string) Default: null

The wave spectrum

Must be one of:

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

Example:

"JONSWAP"
-

Significant Wave Height

Type: number Default: null

The significant wave height in meters


Example:

3.0
-

Wave Period

Type: number Default: null

The wave period in seconds


Example:

12.0
-

Wave Direction

Type: number Default: null

The wave direction in degrees


Example:

270.0
-

Visibility

Type: number Default: null

The visibility in nautical miles


Example:

5.0
-

Type: enum (of string) Default: null

The overall weather conditions

Must be one of:

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

Example:

"Clear"
-
Type: null

Example:

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

Additional Properties of any type are allowed.

Type: object
\ No newline at end of file + Test Input Schema

Test Input Schema

Type: object

Title

Default: null

The title of the traffic situation

Type: string
Type: null

Example:

"overtaking_18"
+

Description

Default: null

A description of the traffic situation

Type: string
Type: null

Example:

"Crossing situation with 3 target vessels in the Oslofjord"
+

Situation starting time

Default: null

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

Type: stringFormat: date-time
Type: null

Example:

"2024-03-22T13:57:23.732204"
+

Own Ship data

Type: object

Own Ship data


Example:

{
+    "initial": {
+        "cog": 284.2,
+        "heading": 283.1,
+        "navStatus": "Under way using engine",
+        "position": {
+            "latitude": 57.2343,
+            "longitude": 10.3432
+        },
+        "sog": 12.3
+    },
+    "static": {
+        "height": 15.0,
+        "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
+        "imo": 1000001,
+        "length": 230.0,
+        "mmsi": 123456789,
+        "name": "RMS Titanic",
+        "shipType": "Fishing",
+        "width": 30.0
+    },
+    "waypoints": [
+        {
+            "data": {
+                "heading": {
+                    "interpMethod": "linear",
+                    "mAfterLegChange": 100.0,
+                    "mBeforeLegChange": 100.0,
+                    "value": 12.3
+                },
+                "sog": {
+                    "interpMethod": "linear",
+                    "mAfterLegChange": 100.0,
+                    "mBeforeLegChange": 100.0,
+                    "value": 12.3
+                }
+            },
+            "position": {
+                "latitude": 57.2343,
+                "longitude": 10.3432
+            },
+            "turnRadius": 500.0
+        }
+    ]
+}
+

Default: null

Static ship information which does not change during a scenario.

Type: object

Static ship data that will not change during the scenario.

Id

Type: stringFormat: uuid

Unique Identifier


Example:

"bc4f51b6-316d-4d5d-921d-0979eb1fb0a1"
+

Length

Default: null

Length of the ship in meters

Type: number

Value must be strictly greater than 0.0

Type: null

Example:

230.0
+

Width

Default: null

Width of the ship in meters

Type: number

Value must be strictly greater than 0.0

Type: null

Example:

30.0
+

Height

Default: null

Height of the ship in meters

Type: number

Value must be strictly greater than 0.0

Type: null

Example:

15.0
+

Mmsi

Default: null

Maritime Mobile Service Identity (MMSI)

Type: integer

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

Type: null

Example:

123456789
+

Imo

Default: null

IMO Number

Type: integer

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

Type: null

Example:

1234567
+

Name

Default: null

Ship title

Type: string
Type: null

Example:

"RMS Titanic"
+

Default: null

General ship type, based on AIS

Type: enum (of string)

Must be one of:

  • "Wing in ground"
  • "Fishing"
  • "Towing"
  • "Dredging or underwater ops"
  • "Diving ops"
  • "Military ops"
  • "Sailing"
  • "Pleasure Craft"
  • "High speed craft"
  • "Pilot Vessel"
  • "Search and Rescue vessel"
  • "Tug"
  • "Port Tender"
  • "Anti-pollution"
  • "Law Enforcement"
  • "Medical Transport"
  • "Noncombatant ship"
  • "Passenger"
  • "Cargo"
  • "Tanker"
  • "Other Type"
Type: null

Additional Properties of any type are allowed.

Type: object
Type: null

Example:

{
+    "height": 15.0,
+    "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
+    "imo": 1000001,
+    "length": 230.0,
+    "mmsi": 123456789,
+    "name": "RMS Titanic",
+    "shipType": "Fishing",
+    "width": 30.0
+}
+

Initial own ship Initial

Default: null

Type: object

Longitude and Latitude Values

Default: null

A geographical coordinate

Type: object

Latitude

Default: null

WGS-84 latitude

Type: number

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

Type: null

Example:

51.2131
+

Longitude

Default: null

WGS-84 longitude

Type: number

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

Type: null

Example:

11.2131
+

Additional Properties of any type are allowed.

Type: object
Type: null

Example:

{
+    "latitude": 57.2343,
+    "longitude": 10.3432
+}
+

Initial ship speed over ground

Default: null

Initial ship speed over ground in knots

Type: number

Value must be greater or equal to 0.0

Type: null

Example:

10.0
+

Initial ship course over ground

Default: null

Initial ship course over ground in degrees

Type: number

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

Type: null

Example:

45.0
+

Initial ship heading

Default: null

Initial ship heading in degrees

Type: number

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

Type: null

Example:

45.2
+

Default: null

AIS Navigational Status

Type: enum (of string)

Must be one of:

  • "Under way using engine"
  • "At anchor"
  • "Not under command"
  • "Restricted manoeuverability"
  • "Constrained by her draught"
  • "Moored"
  • "Aground"
  • "Engaged in fishing"
  • "Under way sailing"
  • "Reserved for future amendment of navigational status for HSC"
  • "Reserved for future amendment of navigational status for WIG"
  • "Reserved for future use 1"
  • "Reserved for future use 2"
  • "Reserved for future use 3"
  • "AIS SART is active"
  • "Not defined (default)"
Type: null
Type: null

Example:

{
+    "cog": 284.2,
+    "heading": 283.1,
+    "navStatus": "Under way using engine",
+    "position": {
+        "latitude": 57.2343,
+        "longitude": 10.3432
+    },
+    "sog": 12.3
+}
+

Waypoints

Default: null

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. This allows varying parameters on a per-leg basis, such as speed and heading, or navigational status

Type: array
No Additional Items

Each item of this array must be:

Type: object

Type: object

A geographical coordinate


Example:

{
+    "latitude": 51.2123,
+    "longitude": 11.2313
+}
+

Latitude

Default: null

WGS-84 latitude

Type: number

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

Type: null

Example:

51.2131
+

Longitude

Default: null

WGS-84 longitude

Type: number

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

Type: null

Example:

11.2131
+

Additional Properties of any type are allowed.

Type: object

Turn Radius

Default: null

Orthodrome turn radius as defined in RTZ format

Type: number
Type: null

Example:

200
+

Default: null

A Data object that includes speed, course, and heading data points

Type: object

Default: null

Speed data point

Type: object

Value

Default: null

the value of the data at the current timestep

Type: number
Type: null

Example:

12.3
+

M Before Leg Change

Type: number Default: null

meters before the waypoint to start interpolating to the new value


Example:

10
+

M After Leg Change

Default: null

meters after the waypoint to finish interpolating to the new value

Type: number
Type: null

Example:

10
+

Interp Method

Default: null

Method used for interpolation

Type: enum (of string)

Must be one of:

  • "linear"
  • "cosine"
  • "smoothstep"
  • "accelerate"
  • "decelerate"
  • "ordinal"
Type: string
Type: null
Type: null

Example:

{
+    "interpMethod": "linear",
+    "mAfterLegChange": 100.0,
+    "mBeforeLegChange": 100.0,
+    "value": 12.3
+}
+

Default: null

Heading data point

Type: object

Value

Default: null

the value of the data at the current timestep

Type: number
Type: null

Example:

12.3
+

M Before Leg Change

Type: number Default: null

meters before the waypoint to start interpolating to the new value


Example:

10
+

M After Leg Change

Default: null

meters after the waypoint to finish interpolating to the new value

Type: number
Type: null

Example:

10
+

Interp Method

Default: null

Method used for interpolation

Type: enum (of string)

Must be one of:

  • "linear"
  • "cosine"
  • "smoothstep"
  • "accelerate"
  • "decelerate"
  • "ordinal"
Type: string
Type: null
Type: null

Example:

{
+    "interpMethod": "linear",
+    "mAfterLegChange": 100.0,
+    "mBeforeLegChange": 100.0,
+    "value": 180.0
+}
+

Each additional property must conform to the following schema

Type: object

The 'data' field can include additional properties. All additional properties should be DataPoint objects.

Type: number

Type: number

Type: number

Type: string
Type: null
Type: null

Example:

{
+    "data": {
+        "heading": {
+            "interpMethod": "linear",
+            "mAfterLegChange": 100.0,
+            "mBeforeLegChange": 100.0,
+            "value": 12.3
+        },
+        "sog": {
+            "interpMethod": "linear",
+            "mAfterLegChange": 100.0,
+            "mBeforeLegChange": 100.0,
+            "value": 12.3
+        }
+    },
+    "position": {
+        "latitude": 57.2343,
+        "longitude": 10.3432
+    },
+    "turnRadius": 500.0
+}
+

Target Ship data

Type: array Default: null

Target Ship data

No Additional Items

Each item of this array must be:

Type: object

Default: null

Static ship information which does not change during a scenario.

Type: object

Static ship data that will not change during the scenario.

Id

Type: stringFormat: uuid

Unique Identifier


Example:

"bc4f51b6-316d-4d5d-921d-0979eb1fb0a1"
+

Length

Default: null

Length of the ship in meters

Type: number

Value must be strictly greater than 0.0

Type: null

Example:

230.0
+

Width

Default: null

Width of the ship in meters

Type: number

Value must be strictly greater than 0.0

Type: null

Example:

30.0
+

Height

Default: null

Height of the ship in meters

Type: number

Value must be strictly greater than 0.0

Type: null

Example:

15.0
+

Mmsi

Default: null

Maritime Mobile Service Identity (MMSI)

Type: integer

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

Type: null

Example:

123456789
+

Imo

Default: null

IMO Number

Type: integer

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

Type: null

Example:

1234567
+

Name

Default: null

Ship title

Type: string
Type: null

Example:

"RMS Titanic"
+

Default: null

General ship type, based on AIS

Type: enum (of string)

Must be one of:

  • "Wing in ground"
  • "Fishing"
  • "Towing"
  • "Dredging or underwater ops"
  • "Diving ops"
  • "Military ops"
  • "Sailing"
  • "Pleasure Craft"
  • "High speed craft"
  • "Pilot Vessel"
  • "Search and Rescue vessel"
  • "Tug"
  • "Port Tender"
  • "Anti-pollution"
  • "Law Enforcement"
  • "Medical Transport"
  • "Noncombatant ship"
  • "Passenger"
  • "Cargo"
  • "Tanker"
  • "Other Type"
Type: null

Additional Properties of any type are allowed.

Type: object
Type: null

Example:

{
+    "height": 15.0,
+    "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
+    "imo": 1000001,
+    "length": 230.0,
+    "mmsi": 123456789,
+    "name": "RMS Titanic",
+    "shipType": "Fishing",
+    "width": 30.0
+}
+

Initial own ship Initial

Default: null

Type: object

Longitude and Latitude Values

Default: null

A geographical coordinate

Type: object

Latitude

Default: null

WGS-84 latitude

Type: number

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

Type: null

Example:

51.2131
+

Longitude

Default: null

WGS-84 longitude

Type: number

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

Type: null

Example:

11.2131
+

Additional Properties of any type are allowed.

Type: object
Type: null

Example:

{
+    "latitude": 57.2343,
+    "longitude": 10.3432
+}
+

Initial ship speed over ground

Default: null

Initial ship speed over ground in knots

Type: number

Value must be greater or equal to 0.0

Type: null

Example:

10.0
+

Initial ship course over ground

Default: null

Initial ship course over ground in degrees

Type: number

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

Type: null

Example:

45.0
+

Initial ship heading

Default: null

Initial ship heading in degrees

Type: number

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

Type: null

Example:

45.2
+

Default: null

AIS Navigational Status

Type: enum (of string)

Must be one of:

  • "Under way using engine"
  • "At anchor"
  • "Not under command"
  • "Restricted manoeuverability"
  • "Constrained by her draught"
  • "Moored"
  • "Aground"
  • "Engaged in fishing"
  • "Under way sailing"
  • "Reserved for future amendment of navigational status for HSC"
  • "Reserved for future amendment of navigational status for WIG"
  • "Reserved for future use 1"
  • "Reserved for future use 2"
  • "Reserved for future use 3"
  • "AIS SART is active"
  • "Not defined (default)"
Type: null
Type: null

Example:

{
+    "cog": 284.2,
+    "heading": 283.1,
+    "navStatus": "Under way using engine",
+    "position": {
+        "latitude": 57.2343,
+        "longitude": 10.3432
+    },
+    "sog": 12.3
+}
+

Waypoints

Default: null

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. This allows varying parameters on a per-leg basis, such as speed and heading, or navigational status

Type: array
No Additional Items

Each item of this array must be:

Type: object

Type: object

A geographical coordinate


Example:

{
+    "latitude": 51.2123,
+    "longitude": 11.2313
+}
+

Latitude

Default: null

WGS-84 latitude

Type: number

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

Type: null

Example:

51.2131
+

Longitude

Default: null

WGS-84 longitude

Type: number

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

Type: null

Example:

11.2131
+

Additional Properties of any type are allowed.

Type: object

Turn Radius

Default: null

Orthodrome turn radius as defined in RTZ format

Type: number
Type: null

Example:

200
+

Default: null

A Data object that includes speed, course, and heading data points

Type: object

Default: null

Speed data point

Type: object

Value

Default: null

the value of the data at the current timestep

Type: number
Type: null

Example:

12.3
+

M Before Leg Change

Type: number Default: null

meters before the waypoint to start interpolating to the new value


Example:

10
+

M After Leg Change

Default: null

meters after the waypoint to finish interpolating to the new value

Type: number
Type: null

Example:

10
+

Interp Method

Default: null

Method used for interpolation

Type: enum (of string)

Must be one of:

  • "linear"
  • "cosine"
  • "smoothstep"
  • "accelerate"
  • "decelerate"
  • "ordinal"
Type: string
Type: null
Type: null

Example:

{
+    "interpMethod": "linear",
+    "mAfterLegChange": 100.0,
+    "mBeforeLegChange": 100.0,
+    "value": 12.3
+}
+

Default: null

Heading data point

Type: object

Value

Default: null

the value of the data at the current timestep

Type: number
Type: null

Example:

12.3
+

M Before Leg Change

Type: number Default: null

meters before the waypoint to start interpolating to the new value


Example:

10
+

M After Leg Change

Default: null

meters after the waypoint to finish interpolating to the new value

Type: number
Type: null

Example:

10
+

Interp Method

Default: null

Method used for interpolation

Type: enum (of string)

Must be one of:

  • "linear"
  • "cosine"
  • "smoothstep"
  • "accelerate"
  • "decelerate"
  • "ordinal"
Type: string
Type: null
Type: null

Example:

{
+    "interpMethod": "linear",
+    "mAfterLegChange": 100.0,
+    "mBeforeLegChange": 100.0,
+    "value": 180.0
+}
+

Each additional property must conform to the following schema

Type: object

The 'data' field can include additional properties. All additional properties should be DataPoint objects.

Type: number

Type: number

Type: number

Type: string
Type: null
Type: null

Example:

{
+    "data": {
+        "heading": {
+            "interpMethod": "linear",
+            "mAfterLegChange": 100.0,
+            "mBeforeLegChange": 100.0,
+            "value": 12.3
+        },
+        "sog": {
+            "interpMethod": "linear",
+            "mAfterLegChange": 100.0,
+            "mBeforeLegChange": 100.0,
+            "value": 12.3
+        }
+    },
+    "position": {
+        "latitude": 57.2343,
+        "longitude": 10.3432
+    },
+    "turnRadius": 500.0
+}
+

Example:

[
+    {
+        "initial": {
+            "cog": 284.2,
+            "heading": 283.1,
+            "navStatus": "Under way using engine",
+            "position": {
+                "latitude": 57.2343,
+                "longitude": 10.3432
+            },
+            "sog": 12.3
+        },
+        "static": {
+            "height": 15.0,
+            "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
+            "imo": 1000001,
+            "length": 230.0,
+            "mmsi": 123456789,
+            "name": "RMS Titanic",
+            "shipType": "Fishing",
+            "width": 30.0
+        },
+        "waypoints": [
+            {
+                "data": {
+                    "heading": {
+                        "interpMethod": "linear",
+                        "mAfterLegChange": 100.0,
+                        "mBeforeLegChange": 100.0,
+                        "value": 12.3
+                    },
+                    "sog": {
+                        "interpMethod": "linear",
+                        "mAfterLegChange": 100.0,
+                        "mBeforeLegChange": 100.0,
+                        "value": 12.3
+                    }
+                },
+                "position": {
+                    "latitude": 57.2343,
+                    "longitude": 10.3432
+                },
+                "turnRadius": 500.0
+            }
+        ]
+    }
+]
+

Default: null

environmental parameters

Type: object

Air Temperature

Type: number Default: null

The air temperature in degrees Celsius


Example:

20.0
+

Water Remperature

Type: number Default: null

The water temperature in degrees Celsius


Example:

15.0
+

Type: enum (of string) Default: null

The type of precipitation

Must be one of:

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

Example:

"Rain"
+

Wind Speed

Type: number Default: null

The wind speed in m/s


Example:

10.0
+

Wind Direction

Type: number Default: null

The wind direction in degrees


Example:

180.0
+

Current Speed

Type: number Default: null

The current speed in m/s


Example:

1.0
+

Current Direction

Type: number Default: null

The current direction in degrees


Example:

90.0
+

Type: enum (of string) Default: null

The wave spectrum

Must be one of:

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

Example:

"JONSWAP"
+

Significant Wave Height

Type: number Default: null

The significant wave height in meters


Example:

3.0
+

Wave Period

Type: number Default: null

The wave period in seconds


Example:

12.0
+

Wave Direction

Type: number Default: null

The wave direction in degrees


Example:

270.0
+

Visibility

Type: number Default: null

The visibility in nautical miles


Example:

5.0
+

Type: enum (of string) Default: null

The overall weather conditions

Must be one of:

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

Example:

"Clear"
+
Type: null

Example:

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

Additional Properties of any type are allowed.

Type: object
\ No newline at end of file diff --git a/docs/schema/caga/output_schema.html b/docs/schema/caga/output_schema.html index 650574a..01fb873 100644 --- a/docs/schema/caga/output_schema.html +++ b/docs/schema/caga/output_schema.html @@ -1,969 +1,969 @@ - Test Output Schema

Test Output Schema

Type: object

This is a JSON schema for result data originating from Collision and Grounding Avoidance systems

Creationtime

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:

"2024-03-14T15:29:40.239602"
-

Default: null

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

Type: object

Title

Default: null

The title of the traffic situation

Type: string
Type: null

Example:

"overtaking_18"
-

Description

Default: null

A description of the traffic situation

Type: string
Type: null

Example:

"Crossing situation with 3 target vessels in the Oslofjord"
-

Situation starting time

Default: null

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

Type: stringFormat: date-time
Type: null

Example:

"2024-03-14T15:29:40.119791"
-

Own Ship data

Type: object

Own Ship data


Example:

{
-    "initial": {
-        "cog": 284.2,
-        "heading": 283.1,
-        "navStatus": "Under way using engine",
-        "position": {
-            "latitude": 57.2343,
-            "longitude": 10.3432
-        },
-        "sog": 12.3
-    },
-    "static": {
-        "height": 15.0,
-        "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
-        "imo": 1000001,
-        "length": 230.0,
-        "mmsi": 123456789,
-        "name": "RMS Titanic",
-        "shipType": "Fishing",
-        "width": 30.0
-    },
-    "waypoints": [
-        {
-            "data": {
-                "heading": {
-                    "interpMethod": "linear",
-                    "mAfterLegChange": 100.0,
-                    "mBeforeLegChange": 100.0,
-                    "value": 12.3
-                },
-                "sog": {
-                    "interpMethod": "linear",
-                    "mAfterLegChange": 100.0,
-                    "mBeforeLegChange": 100.0,
-                    "value": 12.3
-                }
-            },
-            "position": {
-                "latitude": 57.2343,
-                "longitude": 10.3432
-            },
-            "turnRadius": 500.0
-        }
-    ]
-}
-

Default: null

Static ship information which does not change during a scenario.

Type: object

Static ship data that will not change during the scenario.

Id

Type: stringFormat: uuid

Unique Identifier


Example:

"59352249-4387-4aaa-bb4c-ab767950b373"
-

Length

Default: null

Length of the ship in meters

Type: number

Value must be strictly greater than 0.0

Type: null

Example:

230.0
-

Width

Default: null

Width of the ship in meters

Type: number

Value must be strictly greater than 0.0

Type: null

Example:

30.0
-

Height

Default: null

Height of the ship in meters

Type: number

Value must be strictly greater than 0.0

Type: null

Example:

15.0
-

Mmsi

Default: null

Maritime Mobile Service Identity (MMSI)

Type: integer

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

Type: null

Example:

123456789
-

Imo

Default: null

IMO Number

Type: integer

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

Type: null

Example:

1234567
-

Name

Default: null

Ship title

Type: string
Type: null

Example:

"RMS Titanic"
-

Default: null

General ship type, based on AIS

Type: enum (of string)

Must be one of:

  • "Wing in ground"
  • "Fishing"
  • "Towing"
  • "Dredging or underwater ops"
  • "Diving ops"
  • "Military ops"
  • "Sailing"
  • "Pleasure Craft"
  • "High speed craft"
  • "Pilot Vessel"
  • "Search and Rescue vessel"
  • "Tug"
  • "Port Tender"
  • "Anti-pollution"
  • "Law Enforcement"
  • "Medical Transport"
  • "Noncombatant ship"
  • "Passenger"
  • "Cargo"
  • "Tanker"
  • "Other Type"
Type: null

Additional Properties of any type are allowed.

Type: object
Type: null

Example:

{
-    "height": 15.0,
-    "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
-    "imo": 1000001,
-    "length": 230.0,
-    "mmsi": 123456789,
-    "name": "RMS Titanic",
-    "shipType": "Fishing",
-    "width": 30.0
-}
-

Initial own ship Initial

Default: null

Type: object

Longitude and Latitude Values

Default: null

A geographical coordinate

Type: object

Latitude

Default: null

WGS-84 latitude

Type: number

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

Type: null

Example:

51.2131
-

Longitude

Default: null

WGS-84 longitude

Type: number

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

Type: null

Example:

11.2131
-

Additional Properties of any type are allowed.

Type: object
Type: null

Example:

{
-    "latitude": 57.2343,
-    "longitude": 10.3432
-}
-

Initial ship speed over ground

Default: null

Initial ship speed over ground in knots

Type: number

Value must be greater or equal to 0.0

Type: null

Example:

10.0
-

Initial ship course over ground

Default: null

Initial ship course over ground in degrees

Type: number

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

Type: null

Example:

45.0
-

Initial ship heading

Default: null

Initial ship heading in degrees

Type: number

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

Type: null

Example:

45.2
-

Default: null

AIS Navigational Status

Type: enum (of string)

Must be one of:

  • "Under way using engine"
  • "At anchor"
  • "Not under command"
  • "Restricted manoeuverability"
  • "Constrained by her draught"
  • "Moored"
  • "Aground"
  • "Engaged in fishing"
  • "Under way sailing"
  • "Reserved for future amendment of navigational status for HSC"
  • "Reserved for future amendment of navigational status for WIG"
  • "Reserved for future use 1"
  • "Reserved for future use 2"
  • "Reserved for future use 3"
  • "AIS SART is active"
  • "Not defined (default)"
Type: null
Type: null

Example:

{
-    "cog": 284.2,
-    "heading": 283.1,
-    "navStatus": "Under way using engine",
-    "position": {
-        "latitude": 57.2343,
-        "longitude": 10.3432
-    },
-    "sog": 12.3
-}
-

Waypoints

Default: null

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. This allows varying parameters on a per-leg basis, such as speed and heading, or navigational status

Type: array
No Additional Items

Each item of this array must be:

Type: object

Type: object

A geographical coordinate


Example:

{
-    "latitude": 51.2123,
-    "longitude": 11.2313
-}
-

Latitude

Default: null

WGS-84 latitude

Type: number

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

Type: null

Example:

51.2131
-

Longitude

Default: null

WGS-84 longitude

Type: number

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

Type: null

Example:

11.2131
-

Additional Properties of any type are allowed.

Type: object

Turnradius

Default: null

Orthodrome turn radius as defined in RTZ format

Type: number
Type: null

Example:

200
-

Type: object Default: null

A Data object that includes speed, course, and heading data points

Default: null

Speed data point

Type: object

Value

Default: null

the value of the data at the current timestep

Type: number
Type: null

Example:

12.3
-

Mbeforelegchange

Type: number Default: null

meters before the waypoint to start interpolating to the new value


Example:

10
-

Mafterlegchange

Default: null

meters after the waypoint to finish interpolating to the new value

Type: number
Type: null

Example:

10
-

Interpmethod

Default: null

Method used for interpolation

Type: enum (of string)

Must be one of:

  • "linear"
  • "cosine"
  • "smoothstep"
  • "accelerate"
  • "decelerate"
  • "ordinal"
Type: string
Type: null
Type: null

Example:

{
-    "interpMethod": "linear",
-    "mAfterLegChange": 100.0,
-    "mBeforeLegChange": 100.0,
-    "value": 12.3
-}
-

Default: null

Heading data point

Type: object

Value

Default: null

the value of the data at the current timestep

Type: number
Type: null

Example:

12.3
-

Mbeforelegchange

Type: number Default: null

meters before the waypoint to start interpolating to the new value


Example:

10
-

Mafterlegchange

Default: null

meters after the waypoint to finish interpolating to the new value

Type: number
Type: null

Example:

10
-

Interpmethod

Default: null

Method used for interpolation

Type: enum (of string)

Must be one of:

  • "linear"
  • "cosine"
  • "smoothstep"
  • "accelerate"
  • "decelerate"
  • "ordinal"
Type: string
Type: null
Type: null

Example:

{
-    "interpMethod": "linear",
-    "mAfterLegChange": 100.0,
-    "mBeforeLegChange": 100.0,
-    "value": 180.0
-}
-

Each additional property must conform to the following schema

Type: object

The 'data' field can include additional properties. All additional properties should be DataPoint objects.

Type: number

Type: number

Type: number

Type: string
Type: null

Example:

{
-    "data": {
-        "heading": {
-            "interpMethod": "linear",
-            "mAfterLegChange": 100.0,
-            "mBeforeLegChange": 100.0,
-            "value": 12.3
-        },
-        "sog": {
-            "interpMethod": "linear",
-            "mAfterLegChange": 100.0,
-            "mBeforeLegChange": 100.0,
-            "value": 12.3
-        }
-    },
-    "position": {
-        "latitude": 57.2343,
-        "longitude": 10.3432
-    },
-    "turnRadius": 500.0
-}
-

Target Ship data

Type: array Default: null

Target Ship data

No Additional Items

Each item of this array must be:

Type: object

Default: null

Static ship information which does not change during a scenario.

Type: object

Static ship data that will not change during the scenario.

Id

Type: stringFormat: uuid

Unique Identifier


Example:

"59352249-4387-4aaa-bb4c-ab767950b373"
-

Length

Default: null

Length of the ship in meters

Type: number

Value must be strictly greater than 0.0

Type: null

Example:

230.0
-

Width

Default: null

Width of the ship in meters

Type: number

Value must be strictly greater than 0.0

Type: null

Example:

30.0
-

Height

Default: null

Height of the ship in meters

Type: number

Value must be strictly greater than 0.0

Type: null

Example:

15.0
-

Mmsi

Default: null

Maritime Mobile Service Identity (MMSI)

Type: integer

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

Type: null

Example:

123456789
-

Imo

Default: null

IMO Number

Type: integer

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

Type: null

Example:

1234567
-

Name

Default: null

Ship title

Type: string
Type: null

Example:

"RMS Titanic"
-

Default: null

General ship type, based on AIS

Type: enum (of string)

Must be one of:

  • "Wing in ground"
  • "Fishing"
  • "Towing"
  • "Dredging or underwater ops"
  • "Diving ops"
  • "Military ops"
  • "Sailing"
  • "Pleasure Craft"
  • "High speed craft"
  • "Pilot Vessel"
  • "Search and Rescue vessel"
  • "Tug"
  • "Port Tender"
  • "Anti-pollution"
  • "Law Enforcement"
  • "Medical Transport"
  • "Noncombatant ship"
  • "Passenger"
  • "Cargo"
  • "Tanker"
  • "Other Type"
Type: null

Additional Properties of any type are allowed.

Type: object
Type: null

Example:

{
-    "height": 15.0,
-    "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
-    "imo": 1000001,
-    "length": 230.0,
-    "mmsi": 123456789,
-    "name": "RMS Titanic",
-    "shipType": "Fishing",
-    "width": 30.0
-}
-

Initial own ship Initial

Default: null

Type: object

Longitude and Latitude Values

Default: null

A geographical coordinate

Type: object

Latitude

Default: null

WGS-84 latitude

Type: number

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

Type: null

Example:

51.2131
-

Longitude

Default: null

WGS-84 longitude

Type: number

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

Type: null

Example:

11.2131
-

Additional Properties of any type are allowed.

Type: object
Type: null

Example:

{
-    "latitude": 57.2343,
-    "longitude": 10.3432
-}
-

Initial ship speed over ground

Default: null

Initial ship speed over ground in knots

Type: number

Value must be greater or equal to 0.0

Type: null

Example:

10.0
-

Initial ship course over ground

Default: null

Initial ship course over ground in degrees

Type: number

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

Type: null

Example:

45.0
-

Initial ship heading

Default: null

Initial ship heading in degrees

Type: number

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

Type: null

Example:

45.2
-

Default: null

AIS Navigational Status

Type: enum (of string)

Must be one of:

  • "Under way using engine"
  • "At anchor"
  • "Not under command"
  • "Restricted manoeuverability"
  • "Constrained by her draught"
  • "Moored"
  • "Aground"
  • "Engaged in fishing"
  • "Under way sailing"
  • "Reserved for future amendment of navigational status for HSC"
  • "Reserved for future amendment of navigational status for WIG"
  • "Reserved for future use 1"
  • "Reserved for future use 2"
  • "Reserved for future use 3"
  • "AIS SART is active"
  • "Not defined (default)"
Type: null
Type: null

Example:

{
-    "cog": 284.2,
-    "heading": 283.1,
-    "navStatus": "Under way using engine",
-    "position": {
-        "latitude": 57.2343,
-        "longitude": 10.3432
-    },
-    "sog": 12.3
-}
-

Waypoints

Default: null

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. This allows varying parameters on a per-leg basis, such as speed and heading, or navigational status

Type: array
No Additional Items

Each item of this array must be:

Type: object

Type: object

A geographical coordinate


Example:

{
-    "latitude": 51.2123,
-    "longitude": 11.2313
-}
-

Latitude

Default: null

WGS-84 latitude

Type: number

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

Type: null

Example:

51.2131
-

Longitude

Default: null

WGS-84 longitude

Type: number

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

Type: null

Example:

11.2131
-

Additional Properties of any type are allowed.

Type: object

Turnradius

Default: null

Orthodrome turn radius as defined in RTZ format

Type: number
Type: null

Example:

200
-

Type: object Default: null

A Data object that includes speed, course, and heading data points

Default: null

Speed data point

Type: object

Value

Default: null

the value of the data at the current timestep

Type: number
Type: null

Example:

12.3
-

Mbeforelegchange

Type: number Default: null

meters before the waypoint to start interpolating to the new value


Example:

10
-

Mafterlegchange

Default: null

meters after the waypoint to finish interpolating to the new value

Type: number
Type: null

Example:

10
-

Interpmethod

Default: null

Method used for interpolation

Type: enum (of string)

Must be one of:

  • "linear"
  • "cosine"
  • "smoothstep"
  • "accelerate"
  • "decelerate"
  • "ordinal"
Type: string
Type: null
Type: null

Example:

{
-    "interpMethod": "linear",
-    "mAfterLegChange": 100.0,
-    "mBeforeLegChange": 100.0,
-    "value": 12.3
-}
-

Default: null

Heading data point

Type: object

Value

Default: null

the value of the data at the current timestep

Type: number
Type: null

Example:

12.3
-

Mbeforelegchange

Type: number Default: null

meters before the waypoint to start interpolating to the new value


Example:

10
-

Mafterlegchange

Default: null

meters after the waypoint to finish interpolating to the new value

Type: number
Type: null

Example:

10
-

Interpmethod

Default: null

Method used for interpolation

Type: enum (of string)

Must be one of:

  • "linear"
  • "cosine"
  • "smoothstep"
  • "accelerate"
  • "decelerate"
  • "ordinal"
Type: string
Type: null
Type: null

Example:

{
-    "interpMethod": "linear",
-    "mAfterLegChange": 100.0,
-    "mBeforeLegChange": 100.0,
-    "value": 180.0
-}
-

Each additional property must conform to the following schema

Type: object

The 'data' field can include additional properties. All additional properties should be DataPoint objects.

Type: number

Type: number

Type: number

Type: string
Type: null

Example:

{
-    "data": {
-        "heading": {
-            "interpMethod": "linear",
-            "mAfterLegChange": 100.0,
-            "mBeforeLegChange": 100.0,
-            "value": 12.3
-        },
-        "sog": {
-            "interpMethod": "linear",
-            "mAfterLegChange": 100.0,
-            "mBeforeLegChange": 100.0,
-            "value": 12.3
-        }
-    },
-    "position": {
-        "latitude": 57.2343,
-        "longitude": 10.3432
-    },
-    "turnRadius": 500.0
-}
-

Example:

[
-    {
-        "initial": {
-            "cog": 284.2,
-            "heading": 283.1,
-            "navStatus": "Under way using engine",
-            "position": {
-                "latitude": 57.2343,
-                "longitude": 10.3432
-            },
-            "sog": 12.3
-        },
-        "static": {
-            "height": 15.0,
-            "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
-            "imo": 1000001,
-            "length": 230.0,
-            "mmsi": 123456789,
-            "name": "RMS Titanic",
-            "shipType": "Fishing",
-            "width": 30.0
-        },
-        "waypoints": [
-            {
-                "data": {
-                    "heading": {
-                        "interpMethod": "linear",
-                        "mAfterLegChange": 100.0,
-                        "mBeforeLegChange": 100.0,
-                        "value": 12.3
-                    },
-                    "sog": {
-                        "interpMethod": "linear",
-                        "mAfterLegChange": 100.0,
-                        "mBeforeLegChange": 100.0,
-                        "value": 12.3
-                    }
-                },
-                "position": {
-                    "latitude": 57.2343,
-                    "longitude": 10.3432
-                },
-                "turnRadius": 500.0
-            }
-        ]
-    }
-]
-

Default: null

environmental parameters

Type: object

Airtemperature

Type: number Default: null

The air temperature in degrees Celsius


Example:

20.0
-

Waterremperature

Type: number Default: null

The water temperature in degrees Celsius


Example:

15.0
-

Type: enum (of string) Default: null

The type of precipitation

Must be one of:

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

Example:

"Rain"
-

Windspeed

Type: number Default: null

The wind speed in m/s


Example:

10.0
-

Winddirection

Type: number Default: null

The wind direction in degrees


Example:

180.0
-

Currentspeed

Type: number Default: null

The current speed in m/s


Example:

1.0
-

Currentdirection

Type: number Default: null

The current direction in degrees


Example:

90.0
-

Type: enum (of string) Default: null

The wave spectrum

Must be one of:

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

Example:

"JONSWAP"
-

Significantwaveheight

Type: number Default: null

The significant wave height in meters


Example:

3.0
-

Waveperiod

Type: number Default: null

The wave period in seconds


Example:

12.0
-

Wavedirection

Type: number Default: null

The wave direction in degrees


Example:

270.0
-

Visibility

Type: number Default: null

The visibility in nautical miles


Example:

5.0
-

Type: enum (of string) Default: null

The overall weather conditions

Must be one of:

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

Example:

"Clear"
-
Type: null

Example:

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

Additional Properties of any type are allowed.

Type: object
Type: null

Default: null

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

Type: object

Type: object

System Configuration


Example:

{
-    "name": "AutoNavigation-System 1",
-    "vendor": "CompanyABC",
-    "vendorAutomaticManoeuverAcceptanceTime": 7.0,
-    "vendorCriticalTcpa": 1000.0,
-    "vendorManoeuverDelay": 20.0,
-    "vendorMinimumDistanceToTargets": 100.0,
-    "vendorSafetyDepth": 20.0,
-    "version": "1.2.3"
-}
-

Name

Type: string

The name of the system


Example:

"AutoNavigation-System 1"
-

Version

Type: string

The software version


Example:

"1.2.3"
-

Vendor

Type: string

The name of the system vendor


Example:

"CompanyABC"
-

Vendorminimumdistancetotargets

Type: number Default: null

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


Example:

100
-

Vendorcriticaltcpa

Type: number Default: null

If the projected CPA is less than minimumDistanceToTargets, and TCPA falls below criticalTCPA, a new manoeuver should be calculated


Example:

1000
-

Vendormanoeuverdelay

Type: number Default: null

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


Example:

20
-

Vendorsafetydepth

Type: number Default: null

Minimum safety depth


Example:

30
-

Vendorautomaticmanoeuveracceptancetime

Type: number Default: null

If automatic maneuver acceptance is enabled, the new route will be activated after a specified number of seconds


Example:

20
-

Additional Properties of any type are allowed.

Type: object

Timeseriesdata

Type: array

Time series data from the system

No Additional Items

Each item of this array must be:

Type: object

Time


Date and Time of the predicted value ISO 8601 format YYYY-MM-DDThh:mm:ssZ

Type: stringFormat: date-time
Type: integer

Example:

"2024-03-14T15:29:40.181746"
-

Targetships

Type: array

list of target ships detected by the CAGA system

No Additional Items

Each item of this array must be:

Type: object

Id

Type: stringFormat: uuid

Unique Identifier


Example:

"904854fd-8ab0-4cf6-9bc3-3d54c5773b59"
-

Longitude and Latitude Values

Type: object

A geographical coordinate


Example:

{
-    "latitude": 51.2123,
-    "longitude": 11.2313
-}
-

Latitude

Default: null

WGS-84 latitude

Type: number

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

Type: null

Example:

51.2131
-

Longitude

Default: null

WGS-84 longitude

Type: number

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

Type: null

Example:

11.2131
-

Additional Properties of any type are allowed.

Type: object

ship speed over ground

Type: number

Initial ship speed over ground in knots

Value must be greater or equal to 0.0


Example:

10.0
-

ship course over ground

Type: number

Initial ship course over ground in degrees

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


Example:

45.0
-

ship heading

Default: null

Initial ship heading in degrees

Type: number

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

Type: null

Example:

45.2
-

Type: enum (of string) Default: null

AIS Navigational Status

Must be one of:

  • "Under way using engine"
  • "At anchor"
  • "Not under command"
  • "Restricted manoeuverability"
  • "Constrained by her draught"
  • "Moored"
  • "Aground"
  • "Engaged in fishing"
  • "Under way sailing"
  • "Reserved for future amendment of navigational status for HSC"
  • "Reserved for future amendment of navigational status for WIG"
  • "Reserved for future use 1"
  • "Reserved for future use 2"
  • "Reserved for future use 3"
  • "AIS SART is active"
  • "Not defined (default)"

Default: null

COLREG encounter type

Type: enum (of string)

Must be one of:

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

Example:

"Overtaking stand-on"
-

Colregrulesapplied

Type: array of integer Default: null

COLREG rules the system is applying to the vessel. Each item in the list must be of type int corresponding to the COLREG rule number

No Additional Items

Each item of this array must be:

Type: integer

Example:

[
-    16,
-    17
-]
-

Distancetotarget

Type: number Default: null

Calculated distance from the own ship to the target vessel


Example:

1900.2
-

Dcpa

Default: null

Calculated closest point of approach

Type: number
Type: null

Example:

100.3
-

Tcpa

Default: null

calculated time to closest point of approach in seconds

Type: number
Type: null

Example:

2131
-

Predictions

Type: object Default: null

List of predicted future values. This can be used to store data like a predicted path for each target vessel. The value field supports both numbers and objects


Example:

[
-    {
-        "time": "2024-03-14T15:29:40.159886",
-        "value": {
-            "latitude": 57.2343,
-            "longitude": 10.3432
-        }
-    },
-    {
-        "time": "2024-03-14T15:29:40.159945",
-        "value": {
-            "latitude": 57.2343,
-            "longitude": 10.3432
-        }
-    },
-    {
-        "time": "2024-03-14T15:29:40.159969",
-        "value": {
-            "latitude": 57.2343,
-            "longitude": 10.3432
-        }
-    }
-]
-

Each additional property must conform to the following schema

Type: array
No Additional Items

Each item of this array must be:

Type: object

Time


Date and Time of the predicted value ISO 8601 format YYYY-MM-DDThh:mm:ssZ

Type: stringFormat: date-time
Type: integer

Example:

"2024-03-14T15:29:40.150491"
-

Value


Value of the prediction

Type: number
Type: object

Examples:

{
-    "latitude": 57.2343,
-    "longitude": 10.3432
-}
-
100
-

Additional Properties of any type are allowed.

Type: object

Example:

[
-    {
-        "cog": 181.0,
-        "colregRulesApplied": [
-            12
-        ],
-        "dcpa": 300.0,
-        "distanceToTarget": 874.0,
-        "encounterType": "Head-on",
-        "heading": 182.0,
-        "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
-        "navStatus": "Under way using engine",
-        "position": {
-            "latitude": 57.2343,
-            "longitude": 10.3432
-        },
-        "predictions": {
-            "position": [
-                {
-                    "time": "2024-03-14T15:29:40.181837",
-                    "value": {
-                        "latitude": 57.2343,
-                        "longitude": 10.3432
-                    }
-                },
-                {
-                    "time": "2024-03-14T15:29:40.181851",
-                    "value": {
-                        "latitude": 57.2343,
-                        "longitude": 10.3432
-                    }
-                },
-                {
-                    "time": "2024-03-14T15:29:40.181859",
-                    "value": {
-                        "latitude": 57.2343,
-                        "longitude": 10.3432
-                    }
-                }
-            ]
-        },
-        "sog": 10.2,
-        "tcpa": 1200.0
-    }
-]
-

Internalstatus

Type: object Default: null

Dictionary containing additional internal information about the system (health, status..)


Example:

[
-    {
-        "internalStatus": null,
-        "targetShips": [
-            {
-                "cog": 181.0,
-                "colregRulesApplied": [
-                    12
-                ],
-                "dcpa": 300.0,
-                "distanceToTarget": 874.0,
-                "encounterType": "Head-on",
-                "heading": 182.0,
-                "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
-                "navStatus": "Under way using engine",
-                "position": {
-                    "latitude": 57.2343,
-                    "longitude": 10.3432
-                },
-                "predictions": {
-                    "position": [
-                        {
-                            "time": "2024-03-14T15:29:40.201338",
-                            "value": {
-                                "latitude": 57.2343,
-                                "longitude": 10.3432
-                            }
-                        },
-                        {
-                            "time": "2024-03-14T15:29:40.201351",
-                            "value": {
-                                "latitude": 57.2343,
-                                "longitude": 10.3432
-                            }
-                        },
-                        {
-                            "time": "2024-03-14T15:29:40.201360",
-                            "value": {
-                                "latitude": 57.2343,
-                                "longitude": 10.3432
-                            }
-                        }
-                    ]
-                },
-                "sog": 10.2,
-                "tcpa": 1200.0
-            }
-        ],
-        "time": "2024-03-14T15:29:40.201306"
-    }
-]
-

Eventdata

Type: array Default: null

Event data from the system

No Additional Items

Each item of this array must be:

Type: object

Time


Date and Time of the event

Type: stringFormat: date-time
Type: integer

Example:

"2024-03-14T15:29:40.190651"
-

Route

Type: array Default: null

Planned CAGA Route

No Additional Items

Each item of this array must be:

Type: object

Type: object

A geographical coordinate


Example:

{
-    "latitude": 51.2123,
-    "longitude": 11.2313
-}
-

Latitude

Default: null

WGS-84 latitude

Type: number

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

Type: null

Example:

51.2131
-

Longitude

Default: null

WGS-84 longitude

Type: number

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

Type: null

Example:

11.2131
-

Additional Properties of any type are allowed.

Type: object

Turnradius

Default: null

Orthodrome turn radius as defined in RTZ format

Type: number
Type: null

Example:

200
-

Type: object Default: null

A Data object that includes speed, course, and heading data points

Default: null

Speed data point

Type: object

Value

Default: null

the value of the data at the current timestep

Type: number
Type: null

Example:

12.3
-

Mbeforelegchange

Type: number Default: null

meters before the waypoint to start interpolating to the new value


Example:

10
-

Mafterlegchange

Default: null

meters after the waypoint to finish interpolating to the new value

Type: number
Type: null

Example:

10
-

Interpmethod

Default: null

Method used for interpolation

Type: enum (of string)

Must be one of:

  • "linear"
  • "cosine"
  • "smoothstep"
  • "accelerate"
  • "decelerate"
  • "ordinal"
Type: string
Type: null
Type: null

Example:

{
-    "interpMethod": "linear",
-    "mAfterLegChange": 100.0,
-    "mBeforeLegChange": 100.0,
-    "value": 12.3
-}
-

Default: null

Heading data point

Type: object

Value

Default: null

the value of the data at the current timestep

Type: number
Type: null

Example:

12.3
-

Mbeforelegchange

Type: number Default: null

meters before the waypoint to start interpolating to the new value


Example:

10
-

Mafterlegchange

Default: null

meters after the waypoint to finish interpolating to the new value

Type: number
Type: null

Example:

10
-

Interpmethod

Default: null

Method used for interpolation

Type: enum (of string)

Must be one of:

  • "linear"
  • "cosine"
  • "smoothstep"
  • "accelerate"
  • "decelerate"
  • "ordinal"
Type: string
Type: null
Type: null

Example:

{
-    "interpMethod": "linear",
-    "mAfterLegChange": 100.0,
-    "mBeforeLegChange": 100.0,
-    "value": 180.0
-}
-

Each additional property must conform to the following schema

Type: object

The 'data' field can include additional properties. All additional properties should be DataPoint objects.

Type: number

Type: number

Type: number

Type: string

Example:

[
-    {
-        "data": {
-            "heading": {
-                "interpMethod": "linear",
-                "mAfterLegChange": 100.0,
-                "mBeforeLegChange": 100.0,
-                "value": 12.3
-            },
-            "sog": {
-                "interpMethod": "linear",
-                "mAfterLegChange": 100.0,
-                "mBeforeLegChange": 100.0,
-                "value": 12.3
-            }
-        },
-        "position": {
-            "latitude": 57.2343,
-            "longitude": 10.3432
-        },
-        "turnRadius": 500.0
-    },
-    {
-        "data": {
-            "heading": {
-                "interpMethod": "linear",
-                "mAfterLegChange": 100.0,
-                "mBeforeLegChange": 100.0,
-                "value": 12.3
-            },
-            "sog": {
-                "interpMethod": "linear",
-                "mAfterLegChange": 100.0,
-                "mBeforeLegChange": 100.0,
-                "value": 12.3
-            }
-        },
-        "position": {
-            "latitude": 57.2343,
-            "longitude": 10.3432
-        },
-        "turnRadius": 500.0
-    },
-    {
-        "data": {
-            "heading": {
-                "interpMethod": "linear",
-                "mAfterLegChange": 100.0,
-                "mBeforeLegChange": 100.0,
-                "value": 12.3
-            },
-            "sog": {
-                "interpMethod": "linear",
-                "mAfterLegChange": 100.0,
-                "mBeforeLegChange": 100.0,
-                "value": 12.3
-            }
-        },
-        "position": {
-            "latitude": 57.2343,
-            "longitude": 10.3432
-        },
-        "turnRadius": 500.0
-    }
-]
-

Calculationtime

Default: null

Time to calculate new route

Type: number
Type: null

Additional Properties of any type are allowed.

Type: object

Example:

[
-    {
-        "calculationTime": 1.242,
-        "route": [
-            {
-                "data": {
-                    "heading": {
-                        "interpMethod": "linear",
-                        "mAfterLegChange": 100.0,
-                        "mBeforeLegChange": 100.0,
-                        "value": 12.3
-                    },
-                    "sog": {
-                        "interpMethod": "linear",
-                        "mAfterLegChange": 100.0,
-                        "mBeforeLegChange": 100.0,
-                        "value": 12.3
-                    }
-                },
-                "position": {
-                    "latitude": 57.2343,
-                    "longitude": 10.3432
-                },
-                "turnRadius": 500.0
-            },
-            {
-                "data": {
-                    "heading": {
-                        "interpMethod": "linear",
-                        "mAfterLegChange": 100.0,
-                        "mBeforeLegChange": 100.0,
-                        "value": 12.3
-                    },
-                    "sog": {
-                        "interpMethod": "linear",
-                        "mAfterLegChange": 100.0,
-                        "mBeforeLegChange": 100.0,
-                        "value": 12.3
-                    }
-                },
-                "position": {
-                    "latitude": 57.2343,
-                    "longitude": 10.3432
-                },
-                "turnRadius": 500.0
-            },
-            {
-                "data": {
-                    "heading": {
-                        "interpMethod": "linear",
-                        "mAfterLegChange": 100.0,
-                        "mBeforeLegChange": 100.0,
-                        "value": 12.3
-                    },
-                    "sog": {
-                        "interpMethod": "linear",
-                        "mAfterLegChange": 100.0,
-                        "mBeforeLegChange": 100.0,
-                        "value": 12.3
-                    }
-                },
-                "position": {
-                    "latitude": 57.2343,
-                    "longitude": 10.3432
-                },
-                "turnRadius": 500.0
-            }
-        ],
-        "time": "2024-03-14T15:29:40.201449"
-    }
-]
-
Type: null

Example:

{
-    "configuration": {
-        "name": "AutoNavigation-System 1",
-        "vendor": "CompanyABC",
-        "vendorAutomaticManoeuverAcceptanceTime": 7.0,
-        "vendorCriticalTcpa": 1000.0,
-        "vendorManoeuverDelay": 20.0,
-        "vendorMinimumDistanceToTargets": 100.0,
-        "vendorSafetyDepth": 20.0,
-        "version": "1.2.3"
-    },
-    "eventData": [
-        {
-            "calculationTime": 1.242,
-            "route": [
-                {
-                    "data": {
-                        "heading": {
-                            "interpMethod": "linear",
-                            "mAfterLegChange": 100.0,
-                            "mBeforeLegChange": 100.0,
-                            "value": 12.3
-                        },
-                        "sog": {
-                            "interpMethod": "linear",
-                            "mAfterLegChange": 100.0,
-                            "mBeforeLegChange": 100.0,
-                            "value": 12.3
-                        }
-                    },
-                    "position": {
-                        "latitude": 57.2343,
-                        "longitude": 10.3432
-                    },
-                    "turnRadius": 500.0
-                },
-                {
-                    "data": {
-                        "heading": {
-                            "interpMethod": "linear",
-                            "mAfterLegChange": 100.0,
-                            "mBeforeLegChange": 100.0,
-                            "value": 12.3
-                        },
-                        "sog": {
-                            "interpMethod": "linear",
-                            "mAfterLegChange": 100.0,
-                            "mBeforeLegChange": 100.0,
-                            "value": 12.3
-                        }
-                    },
-                    "position": {
-                        "latitude": 57.2343,
-                        "longitude": 10.3432
-                    },
-                    "turnRadius": 500.0
-                },
-                {
-                    "data": {
-                        "heading": {
-                            "interpMethod": "linear",
-                            "mAfterLegChange": 100.0,
-                            "mBeforeLegChange": 100.0,
-                            "value": 12.3
-                        },
-                        "sog": {
-                            "interpMethod": "linear",
-                            "mAfterLegChange": 100.0,
-                            "mBeforeLegChange": 100.0,
-                            "value": 12.3
-                        }
-                    },
-                    "position": {
-                        "latitude": 57.2343,
-                        "longitude": 10.3432
-                    },
-                    "turnRadius": 500.0
-                }
-            ],
-            "time": "2024-03-14T15:29:40.239867"
-        }
-    ],
-    "timeSeriesData": [
-        {
-            "internalStatus": null,
-            "targetShips": [
-                {
-                    "cog": 181.0,
-                    "colregRulesApplied": [
-                        12
-                    ],
-                    "dcpa": 300.0,
-                    "distanceToTarget": 874.0,
-                    "encounterType": "Head-on",
-                    "heading": 182.0,
-                    "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
-                    "navStatus": "Under way using engine",
-                    "position": {
-                        "latitude": 57.2343,
-                        "longitude": 10.3432
-                    },
-                    "predictions": {
-                        "position": [
-                            {
-                                "time": "2024-03-14T15:29:40.239809",
-                                "value": {
-                                    "latitude": 57.2343,
-                                    "longitude": 10.3432
-                                }
-                            },
-                            {
-                                "time": "2024-03-14T15:29:40.239823",
-                                "value": {
-                                    "latitude": 57.2343,
-                                    "longitude": 10.3432
-                                }
-                            },
-                            {
-                                "time": "2024-03-14T15:29:40.239832",
-                                "value": {
-                                    "latitude": 57.2343,
-                                    "longitude": 10.3432
-                                }
-                            }
-                        ]
-                    },
-                    "sog": 10.2,
-                    "tcpa": 1200.0
-                }
-            ],
-            "time": "2024-03-14T15:29:40.239777"
-        }
-    ]
-}
-

Default: null

Data generated by the simulator duirng the scenario

Type: object

Type: object

Simulator software configuration


Example:

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

Name

Type: string

The name of the system


Example:

"AutoNavigation-System 1"
-

Version

Type: string

The software version


Example:

"1.2.3"
-

Vendor

Type: string

The name of the system vendor


Example:

"CompanyABC"
-

Additional Properties of any type are allowed.

Type: object

Timeseriesdata

Type: array

TimeSeries data originating from the Simulator

No Additional Items

Each item of this array must be:

Type: object

Time


Date and Time of the predicted value ISO 8601 format YYYY-MM-DDThh:mm:ssZ

Type: stringFormat: date-time
Type: integer

Example:

"2024-03-14T15:29:40.219147"
-

Type: object

Id

Type: stringFormat: uuid

Unique Identifier


Example:

"c036828d-2dbe-45eb-929f-fb779d8c9e6a"
-

Longitude and Latitude Values

Type: object

A geographical coordinate


Example:

{
-    "latitude": 51.2123,
-    "longitude": 11.2313
-}
-

Latitude

Default: null

WGS-84 latitude

Type: number

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

Type: null

Example:

51.2131
-

Longitude

Default: null

WGS-84 longitude

Type: number

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

Type: null

Example:

11.2131
-

Additional Properties of any type are allowed.

Type: object

ship speed over ground

Type: number

Initial ship speed over ground in knots

Value must be greater or equal to 0.0


Example:

10.0
-

ship course over ground

Type: number

Initial ship course over ground in degrees

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


Example:

45.0
-

ship heading

Default: null

Initial ship heading in degrees

Type: number

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

Type: null

Example:

45.2
-

Type: enum (of string)

AIS Navigational Status

Must be one of:

  • "Under way using engine"
  • "At anchor"
  • "Not under command"
  • "Restricted manoeuverability"
  • "Constrained by her draught"
  • "Moored"
  • "Aground"
  • "Engaged in fishing"
  • "Under way sailing"
  • "Reserved for future amendment of navigational status for HSC"
  • "Reserved for future amendment of navigational status for WIG"
  • "Reserved for future use 1"
  • "Reserved for future use 2"
  • "Reserved for future use 3"
  • "AIS SART is active"
  • "Not defined (default)"

Acceleration

Type: number Default: null

Ship acceleration in ms^-2


Example:

0.01
-

Rateofturn

Type: number Default: null

Ship rate of turn in deg/s


Example:

1.8
-

Additional Properties of any type are allowed.

Type: object

Targetships

Type: array
No Additional Items

Each item of this array must be:

Type: object

Id

Type: stringFormat: uuid

Unique Identifier


Example:

"c036828d-2dbe-45eb-929f-fb779d8c9e6a"
-

Longitude and Latitude Values

Type: object

A geographical coordinate


Example:

{
-    "latitude": 51.2123,
-    "longitude": 11.2313
-}
-

Latitude

Default: null

WGS-84 latitude

Type: number

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

Type: null

Example:

51.2131
-

Longitude

Default: null

WGS-84 longitude

Type: number

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

Type: null

Example:

11.2131
-

Additional Properties of any type are allowed.

Type: object

ship speed over ground

Type: number

Initial ship speed over ground in knots

Value must be greater or equal to 0.0


Example:

10.0
-

ship course over ground

Type: number

Initial ship course over ground in degrees

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


Example:

45.0
-

ship heading

Default: null

Initial ship heading in degrees

Type: number

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

Type: null

Example:

45.2
-

Type: enum (of string)

AIS Navigational Status

Must be one of:

  • "Under way using engine"
  • "At anchor"
  • "Not under command"
  • "Restricted manoeuverability"
  • "Constrained by her draught"
  • "Moored"
  • "Aground"
  • "Engaged in fishing"
  • "Under way sailing"
  • "Reserved for future amendment of navigational status for HSC"
  • "Reserved for future amendment of navigational status for WIG"
  • "Reserved for future use 1"
  • "Reserved for future use 2"
  • "Reserved for future use 3"
  • "AIS SART is active"
  • "Not defined (default)"

Acceleration

Type: number Default: null

Ship acceleration in ms^-2


Example:

0.01
-

Rateofturn

Type: number Default: null

Ship rate of turn in deg/s


Example:

1.8
-

Additional Properties of any type are allowed.

Type: object

Example:

[
-    {
-        "ownShip": {
-            "acceleration": 0.01,
-            "cog": 181.0,
-            "heading": 182.0,
-            "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
-            "navStatus": "Engaged in fishing",
-            "position": {
-                "latitude": 57.2343,
-                "longitude": 10.3432
-            },
-            "rateOfTurn": 1.0,
-            "sog": 10.0
-        },
-        "targetShips": [
-            {
-                "acceleration": 0.01,
-                "cog": 181.0,
-                "heading": 182.0,
-                "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
-                "navStatus": "Engaged in fishing",
-                "position": {
-                    "latitude": 57.2343,
-                    "longitude": 10.3432
-                },
-                "rateOfTurn": 1.0,
-                "sog": 10.0
-            },
-            {
-                "acceleration": 0.01,
-                "cog": 181.0,
-                "heading": 182.0,
-                "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
-                "navStatus": "Engaged in fishing",
-                "position": {
-                    "latitude": 57.2343,
-                    "longitude": 10.3432
-                },
-                "rateOfTurn": 1.0,
-                "sog": 10.0
-            }
-        ],
-        "time": "2024-03-14T15:29:40.229460"
-    },
-    {
-        "ownShip": {
-            "acceleration": 0.01,
-            "cog": 181.0,
-            "heading": 182.0,
-            "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
-            "navStatus": "Engaged in fishing",
-            "position": {
-                "latitude": 57.2343,
-                "longitude": 10.3432
-            },
-            "rateOfTurn": 1.0,
-            "sog": 10.0
-        },
-        "targetShips": [
-            {
-                "acceleration": 0.01,
-                "cog": 181.0,
-                "heading": 182.0,
-                "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
-                "navStatus": "Engaged in fishing",
-                "position": {
-                    "latitude": 57.2343,
-                    "longitude": 10.3432
-                },
-                "rateOfTurn": 1.0,
-                "sog": 10.0
-            },
-            {
-                "acceleration": 0.01,
-                "cog": 181.0,
-                "heading": 182.0,
-                "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
-                "navStatus": "Engaged in fishing",
-                "position": {
-                    "latitude": 57.2343,
-                    "longitude": 10.3432
-                },
-                "rateOfTurn": 1.0,
-                "sog": 10.0
-            }
-        ],
-        "time": "2024-03-14T15:29:40.229630"
-    }
-]
-

Eventdata

Type: array Default: null

Event data from the simulator

No Additional Items

Each item of this array must be:

Type: object

Time


Date and Time of the event

Type: stringFormat: date-time
Type: integer

Example:

"2024-03-14T15:29:40.199655"
-

Additional Properties of any type are allowed.

Type: object
Type: null

Example:

{
-    "configuration": {
-        "name": "AutoNavigation-System 1",
-        "vendor": "CompanyABC",
-        "version": "1.2.3"
-    },
-    "eventData": [],
-    "timeSeriesData": [
-        {
-            "ownShip": {
-                "acceleration": 0.01,
-                "cog": 181.0,
-                "heading": 182.0,
-                "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
-                "navStatus": "Engaged in fishing",
-                "position": {
-                    "latitude": 57.2343,
-                    "longitude": 10.3432
-                },
-                "rateOfTurn": 1.0,
-                "sog": 10.0
-            },
-            "targetShips": [
-                {
-                    "acceleration": 0.01,
-                    "cog": 181.0,
-                    "heading": 182.0,
-                    "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
-                    "navStatus": "Engaged in fishing",
-                    "position": {
-                        "latitude": 57.2343,
-                        "longitude": 10.3432
-                    },
-                    "rateOfTurn": 1.0,
-                    "sog": 10.0
-                },
-                {
-                    "acceleration": 0.01,
-                    "cog": 181.0,
-                    "heading": 182.0,
-                    "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
-                    "navStatus": "Engaged in fishing",
-                    "position": {
-                        "latitude": 57.2343,
-                        "longitude": 10.3432
-                    },
-                    "rateOfTurn": 1.0,
-                    "sog": 10.0
-                }
-            ],
-            "time": "2024-03-14T15:29:40.240033"
-        },
-        {
-            "ownShip": {
-                "acceleration": 0.01,
-                "cog": 181.0,
-                "heading": 182.0,
-                "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
-                "navStatus": "Engaged in fishing",
-                "position": {
-                    "latitude": 57.2343,
-                    "longitude": 10.3432
-                },
-                "rateOfTurn": 1.0,
-                "sog": 10.0
-            },
-            "targetShips": [
-                {
-                    "acceleration": 0.01,
-                    "cog": 181.0,
-                    "heading": 182.0,
-                    "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
-                    "navStatus": "Engaged in fishing",
-                    "position": {
-                        "latitude": 57.2343,
-                        "longitude": 10.3432
-                    },
-                    "rateOfTurn": 1.0,
-                    "sog": 10.0
-                },
-                {
-                    "acceleration": 0.01,
-                    "cog": 181.0,
-                    "heading": 182.0,
-                    "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
-                    "navStatus": "Engaged in fishing",
-                    "position": {
-                        "latitude": 57.2343,
-                        "longitude": 10.3432
-                    },
-                    "rateOfTurn": 1.0,
-                    "sog": 10.0
-                }
-            ],
-            "time": "2024-03-14T15:29:40.240089"
-        }
-    ]
-}
-

Additional Properties of any type are allowed.

Type: object
\ No newline at end of file + Test Output Schema

Test Output Schema

Type: object

This is a JSON schema for result data originating from Collision and Grounding Avoidance systems

Creationtime

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:

"2024-03-22T13:57:23.747932"
+

Default: null

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

Type: object

Title

Default: null

The title of the traffic situation

Type: string
Type: null

Example:

"overtaking_18"
+

Description

Default: null

A description of the traffic situation

Type: string
Type: null

Example:

"Crossing situation with 3 target vessels in the Oslofjord"
+

Situation starting time

Default: null

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

Type: stringFormat: date-time
Type: null

Example:

"2024-03-22T13:57:23.732204"
+

Own Ship data

Type: object

Own Ship data


Example:

{
+    "initial": {
+        "cog": 284.2,
+        "heading": 283.1,
+        "navStatus": "Under way using engine",
+        "position": {
+            "latitude": 57.2343,
+            "longitude": 10.3432
+        },
+        "sog": 12.3
+    },
+    "static": {
+        "height": 15.0,
+        "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
+        "imo": 1000001,
+        "length": 230.0,
+        "mmsi": 123456789,
+        "name": "RMS Titanic",
+        "shipType": "Fishing",
+        "width": 30.0
+    },
+    "waypoints": [
+        {
+            "data": {
+                "heading": {
+                    "interpMethod": "linear",
+                    "mAfterLegChange": 100.0,
+                    "mBeforeLegChange": 100.0,
+                    "value": 12.3
+                },
+                "sog": {
+                    "interpMethod": "linear",
+                    "mAfterLegChange": 100.0,
+                    "mBeforeLegChange": 100.0,
+                    "value": 12.3
+                }
+            },
+            "position": {
+                "latitude": 57.2343,
+                "longitude": 10.3432
+            },
+            "turnRadius": 500.0
+        }
+    ]
+}
+

Default: null

Static ship information which does not change during a scenario.

Type: object

Static ship data that will not change during the scenario.

Id

Type: stringFormat: uuid

Unique Identifier


Example:

"bc4f51b6-316d-4d5d-921d-0979eb1fb0a1"
+

Length

Default: null

Length of the ship in meters

Type: number

Value must be strictly greater than 0.0

Type: null

Example:

230.0
+

Width

Default: null

Width of the ship in meters

Type: number

Value must be strictly greater than 0.0

Type: null

Example:

30.0
+

Height

Default: null

Height of the ship in meters

Type: number

Value must be strictly greater than 0.0

Type: null

Example:

15.0
+

Mmsi

Default: null

Maritime Mobile Service Identity (MMSI)

Type: integer

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

Type: null

Example:

123456789
+

Imo

Default: null

IMO Number

Type: integer

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

Type: null

Example:

1234567
+

Name

Default: null

Ship title

Type: string
Type: null

Example:

"RMS Titanic"
+

Default: null

General ship type, based on AIS

Type: enum (of string)

Must be one of:

  • "Wing in ground"
  • "Fishing"
  • "Towing"
  • "Dredging or underwater ops"
  • "Diving ops"
  • "Military ops"
  • "Sailing"
  • "Pleasure Craft"
  • "High speed craft"
  • "Pilot Vessel"
  • "Search and Rescue vessel"
  • "Tug"
  • "Port Tender"
  • "Anti-pollution"
  • "Law Enforcement"
  • "Medical Transport"
  • "Noncombatant ship"
  • "Passenger"
  • "Cargo"
  • "Tanker"
  • "Other Type"
Type: null

Additional Properties of any type are allowed.

Type: object
Type: null

Example:

{
+    "height": 15.0,
+    "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
+    "imo": 1000001,
+    "length": 230.0,
+    "mmsi": 123456789,
+    "name": "RMS Titanic",
+    "shipType": "Fishing",
+    "width": 30.0
+}
+

Initial own ship Initial

Default: null

Type: object

Longitude and Latitude Values

Default: null

A geographical coordinate

Type: object

Latitude

Default: null

WGS-84 latitude

Type: number

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

Type: null

Example:

51.2131
+

Longitude

Default: null

WGS-84 longitude

Type: number

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

Type: null

Example:

11.2131
+

Additional Properties of any type are allowed.

Type: object
Type: null

Example:

{
+    "latitude": 57.2343,
+    "longitude": 10.3432
+}
+

Initial ship speed over ground

Default: null

Initial ship speed over ground in knots

Type: number

Value must be greater or equal to 0.0

Type: null

Example:

10.0
+

Initial ship course over ground

Default: null

Initial ship course over ground in degrees

Type: number

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

Type: null

Example:

45.0
+

Initial ship heading

Default: null

Initial ship heading in degrees

Type: number

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

Type: null

Example:

45.2
+

Default: null

AIS Navigational Status

Type: enum (of string)

Must be one of:

  • "Under way using engine"
  • "At anchor"
  • "Not under command"
  • "Restricted manoeuverability"
  • "Constrained by her draught"
  • "Moored"
  • "Aground"
  • "Engaged in fishing"
  • "Under way sailing"
  • "Reserved for future amendment of navigational status for HSC"
  • "Reserved for future amendment of navigational status for WIG"
  • "Reserved for future use 1"
  • "Reserved for future use 2"
  • "Reserved for future use 3"
  • "AIS SART is active"
  • "Not defined (default)"
Type: null
Type: null

Example:

{
+    "cog": 284.2,
+    "heading": 283.1,
+    "navStatus": "Under way using engine",
+    "position": {
+        "latitude": 57.2343,
+        "longitude": 10.3432
+    },
+    "sog": 12.3
+}
+

Waypoints

Default: null

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. This allows varying parameters on a per-leg basis, such as speed and heading, or navigational status

Type: array
No Additional Items

Each item of this array must be:

Type: object

Type: object

A geographical coordinate


Example:

{
+    "latitude": 51.2123,
+    "longitude": 11.2313
+}
+

Latitude

Default: null

WGS-84 latitude

Type: number

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

Type: null

Example:

51.2131
+

Longitude

Default: null

WGS-84 longitude

Type: number

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

Type: null

Example:

11.2131
+

Additional Properties of any type are allowed.

Type: object

Turnradius

Default: null

Orthodrome turn radius as defined in RTZ format

Type: number
Type: null

Example:

200
+

Default: null

A Data object that includes speed, course, and heading data points

Type: object

Default: null

Speed data point

Type: object

Value

Default: null

the value of the data at the current timestep

Type: number
Type: null

Example:

12.3
+

Mbeforelegchange

Type: number Default: null

meters before the waypoint to start interpolating to the new value


Example:

10
+

Mafterlegchange

Default: null

meters after the waypoint to finish interpolating to the new value

Type: number
Type: null

Example:

10
+

Interpmethod

Default: null

Method used for interpolation

Type: enum (of string)

Must be one of:

  • "linear"
  • "cosine"
  • "smoothstep"
  • "accelerate"
  • "decelerate"
  • "ordinal"
Type: string
Type: null
Type: null

Example:

{
+    "interpMethod": "linear",
+    "mAfterLegChange": 100.0,
+    "mBeforeLegChange": 100.0,
+    "value": 12.3
+}
+

Default: null

Heading data point

Type: object

Value

Default: null

the value of the data at the current timestep

Type: number
Type: null

Example:

12.3
+

Mbeforelegchange

Type: number Default: null

meters before the waypoint to start interpolating to the new value


Example:

10
+

Mafterlegchange

Default: null

meters after the waypoint to finish interpolating to the new value

Type: number
Type: null

Example:

10
+

Interpmethod

Default: null

Method used for interpolation

Type: enum (of string)

Must be one of:

  • "linear"
  • "cosine"
  • "smoothstep"
  • "accelerate"
  • "decelerate"
  • "ordinal"
Type: string
Type: null
Type: null

Example:

{
+    "interpMethod": "linear",
+    "mAfterLegChange": 100.0,
+    "mBeforeLegChange": 100.0,
+    "value": 180.0
+}
+

Each additional property must conform to the following schema

Type: object

The 'data' field can include additional properties. All additional properties should be DataPoint objects.

Type: number

Type: number

Type: number

Type: string
Type: null
Type: null

Example:

{
+    "data": {
+        "heading": {
+            "interpMethod": "linear",
+            "mAfterLegChange": 100.0,
+            "mBeforeLegChange": 100.0,
+            "value": 12.3
+        },
+        "sog": {
+            "interpMethod": "linear",
+            "mAfterLegChange": 100.0,
+            "mBeforeLegChange": 100.0,
+            "value": 12.3
+        }
+    },
+    "position": {
+        "latitude": 57.2343,
+        "longitude": 10.3432
+    },
+    "turnRadius": 500.0
+}
+

Target Ship data

Type: array Default: null

Target Ship data

No Additional Items

Each item of this array must be:

Type: object

Default: null

Static ship information which does not change during a scenario.

Type: object

Static ship data that will not change during the scenario.

Id

Type: stringFormat: uuid

Unique Identifier


Example:

"bc4f51b6-316d-4d5d-921d-0979eb1fb0a1"
+

Length

Default: null

Length of the ship in meters

Type: number

Value must be strictly greater than 0.0

Type: null

Example:

230.0
+

Width

Default: null

Width of the ship in meters

Type: number

Value must be strictly greater than 0.0

Type: null

Example:

30.0
+

Height

Default: null

Height of the ship in meters

Type: number

Value must be strictly greater than 0.0

Type: null

Example:

15.0
+

Mmsi

Default: null

Maritime Mobile Service Identity (MMSI)

Type: integer

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

Type: null

Example:

123456789
+

Imo

Default: null

IMO Number

Type: integer

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

Type: null

Example:

1234567
+

Name

Default: null

Ship title

Type: string
Type: null

Example:

"RMS Titanic"
+

Default: null

General ship type, based on AIS

Type: enum (of string)

Must be one of:

  • "Wing in ground"
  • "Fishing"
  • "Towing"
  • "Dredging or underwater ops"
  • "Diving ops"
  • "Military ops"
  • "Sailing"
  • "Pleasure Craft"
  • "High speed craft"
  • "Pilot Vessel"
  • "Search and Rescue vessel"
  • "Tug"
  • "Port Tender"
  • "Anti-pollution"
  • "Law Enforcement"
  • "Medical Transport"
  • "Noncombatant ship"
  • "Passenger"
  • "Cargo"
  • "Tanker"
  • "Other Type"
Type: null

Additional Properties of any type are allowed.

Type: object
Type: null

Example:

{
+    "height": 15.0,
+    "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
+    "imo": 1000001,
+    "length": 230.0,
+    "mmsi": 123456789,
+    "name": "RMS Titanic",
+    "shipType": "Fishing",
+    "width": 30.0
+}
+

Initial own ship Initial

Default: null

Type: object

Longitude and Latitude Values

Default: null

A geographical coordinate

Type: object

Latitude

Default: null

WGS-84 latitude

Type: number

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

Type: null

Example:

51.2131
+

Longitude

Default: null

WGS-84 longitude

Type: number

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

Type: null

Example:

11.2131
+

Additional Properties of any type are allowed.

Type: object
Type: null

Example:

{
+    "latitude": 57.2343,
+    "longitude": 10.3432
+}
+

Initial ship speed over ground

Default: null

Initial ship speed over ground in knots

Type: number

Value must be greater or equal to 0.0

Type: null

Example:

10.0
+

Initial ship course over ground

Default: null

Initial ship course over ground in degrees

Type: number

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

Type: null

Example:

45.0
+

Initial ship heading

Default: null

Initial ship heading in degrees

Type: number

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

Type: null

Example:

45.2
+

Default: null

AIS Navigational Status

Type: enum (of string)

Must be one of:

  • "Under way using engine"
  • "At anchor"
  • "Not under command"
  • "Restricted manoeuverability"
  • "Constrained by her draught"
  • "Moored"
  • "Aground"
  • "Engaged in fishing"
  • "Under way sailing"
  • "Reserved for future amendment of navigational status for HSC"
  • "Reserved for future amendment of navigational status for WIG"
  • "Reserved for future use 1"
  • "Reserved for future use 2"
  • "Reserved for future use 3"
  • "AIS SART is active"
  • "Not defined (default)"
Type: null
Type: null

Example:

{
+    "cog": 284.2,
+    "heading": 283.1,
+    "navStatus": "Under way using engine",
+    "position": {
+        "latitude": 57.2343,
+        "longitude": 10.3432
+    },
+    "sog": 12.3
+}
+

Waypoints

Default: null

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. This allows varying parameters on a per-leg basis, such as speed and heading, or navigational status

Type: array
No Additional Items

Each item of this array must be:

Type: object

Type: object

A geographical coordinate


Example:

{
+    "latitude": 51.2123,
+    "longitude": 11.2313
+}
+

Latitude

Default: null

WGS-84 latitude

Type: number

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

Type: null

Example:

51.2131
+

Longitude

Default: null

WGS-84 longitude

Type: number

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

Type: null

Example:

11.2131
+

Additional Properties of any type are allowed.

Type: object

Turnradius

Default: null

Orthodrome turn radius as defined in RTZ format

Type: number
Type: null

Example:

200
+

Default: null

A Data object that includes speed, course, and heading data points

Type: object

Default: null

Speed data point

Type: object

Value

Default: null

the value of the data at the current timestep

Type: number
Type: null

Example:

12.3
+

Mbeforelegchange

Type: number Default: null

meters before the waypoint to start interpolating to the new value


Example:

10
+

Mafterlegchange

Default: null

meters after the waypoint to finish interpolating to the new value

Type: number
Type: null

Example:

10
+

Interpmethod

Default: null

Method used for interpolation

Type: enum (of string)

Must be one of:

  • "linear"
  • "cosine"
  • "smoothstep"
  • "accelerate"
  • "decelerate"
  • "ordinal"
Type: string
Type: null
Type: null

Example:

{
+    "interpMethod": "linear",
+    "mAfterLegChange": 100.0,
+    "mBeforeLegChange": 100.0,
+    "value": 12.3
+}
+

Default: null

Heading data point

Type: object

Value

Default: null

the value of the data at the current timestep

Type: number
Type: null

Example:

12.3
+

Mbeforelegchange

Type: number Default: null

meters before the waypoint to start interpolating to the new value


Example:

10
+

Mafterlegchange

Default: null

meters after the waypoint to finish interpolating to the new value

Type: number
Type: null

Example:

10
+

Interpmethod

Default: null

Method used for interpolation

Type: enum (of string)

Must be one of:

  • "linear"
  • "cosine"
  • "smoothstep"
  • "accelerate"
  • "decelerate"
  • "ordinal"
Type: string
Type: null
Type: null

Example:

{
+    "interpMethod": "linear",
+    "mAfterLegChange": 100.0,
+    "mBeforeLegChange": 100.0,
+    "value": 180.0
+}
+

Each additional property must conform to the following schema

Type: object

The 'data' field can include additional properties. All additional properties should be DataPoint objects.

Type: number

Type: number

Type: number

Type: string
Type: null
Type: null

Example:

{
+    "data": {
+        "heading": {
+            "interpMethod": "linear",
+            "mAfterLegChange": 100.0,
+            "mBeforeLegChange": 100.0,
+            "value": 12.3
+        },
+        "sog": {
+            "interpMethod": "linear",
+            "mAfterLegChange": 100.0,
+            "mBeforeLegChange": 100.0,
+            "value": 12.3
+        }
+    },
+    "position": {
+        "latitude": 57.2343,
+        "longitude": 10.3432
+    },
+    "turnRadius": 500.0
+}
+

Example:

[
+    {
+        "initial": {
+            "cog": 284.2,
+            "heading": 283.1,
+            "navStatus": "Under way using engine",
+            "position": {
+                "latitude": 57.2343,
+                "longitude": 10.3432
+            },
+            "sog": 12.3
+        },
+        "static": {
+            "height": 15.0,
+            "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
+            "imo": 1000001,
+            "length": 230.0,
+            "mmsi": 123456789,
+            "name": "RMS Titanic",
+            "shipType": "Fishing",
+            "width": 30.0
+        },
+        "waypoints": [
+            {
+                "data": {
+                    "heading": {
+                        "interpMethod": "linear",
+                        "mAfterLegChange": 100.0,
+                        "mBeforeLegChange": 100.0,
+                        "value": 12.3
+                    },
+                    "sog": {
+                        "interpMethod": "linear",
+                        "mAfterLegChange": 100.0,
+                        "mBeforeLegChange": 100.0,
+                        "value": 12.3
+                    }
+                },
+                "position": {
+                    "latitude": 57.2343,
+                    "longitude": 10.3432
+                },
+                "turnRadius": 500.0
+            }
+        ]
+    }
+]
+

Default: null

environmental parameters

Type: object

Airtemperature

Type: number Default: null

The air temperature in degrees Celsius


Example:

20.0
+

Waterremperature

Type: number Default: null

The water temperature in degrees Celsius


Example:

15.0
+

Type: enum (of string) Default: null

The type of precipitation

Must be one of:

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

Example:

"Rain"
+

Windspeed

Type: number Default: null

The wind speed in m/s


Example:

10.0
+

Winddirection

Type: number Default: null

The wind direction in degrees


Example:

180.0
+

Currentspeed

Type: number Default: null

The current speed in m/s


Example:

1.0
+

Currentdirection

Type: number Default: null

The current direction in degrees


Example:

90.0
+

Type: enum (of string) Default: null

The wave spectrum

Must be one of:

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

Example:

"JONSWAP"
+

Significantwaveheight

Type: number Default: null

The significant wave height in meters


Example:

3.0
+

Waveperiod

Type: number Default: null

The wave period in seconds


Example:

12.0
+

Wavedirection

Type: number Default: null

The wave direction in degrees


Example:

270.0
+

Visibility

Type: number Default: null

The visibility in nautical miles


Example:

5.0
+

Type: enum (of string) Default: null

The overall weather conditions

Must be one of:

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

Example:

"Clear"
+
Type: null

Example:

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

Additional Properties of any type are allowed.

Type: object
Type: null

Default: null

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

Type: object

Type: object

System Configuration


Example:

{
+    "name": "AutoNavigation-System 1",
+    "vendor": "CompanyABC",
+    "vendorAutomaticManoeuverAcceptanceTime": 7.0,
+    "vendorCriticalTcpa": 1000.0,
+    "vendorManoeuverDelay": 20.0,
+    "vendorMinimumDistanceToTargets": 100.0,
+    "vendorSafetyDepth": 20.0,
+    "version": "1.2.3"
+}
+

Name

Type: string

The name of the system


Example:

"AutoNavigation-System 1"
+

Version

Type: string

The software version


Example:

"1.2.3"
+

Vendor

Type: string

The name of the system vendor


Example:

"CompanyABC"
+

Vendorminimumdistancetotargets

Type: number Default: null

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


Example:

100
+

Vendorcriticaltcpa

Type: number Default: null

If the projected CPA is less than minimumDistanceToTargets, and TCPA falls below criticalTCPA, a new manoeuver should be calculated


Example:

1000
+

Vendormanoeuverdelay

Type: number Default: null

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


Example:

20
+

Vendorsafetydepth

Type: number Default: null

Minimum safety depth


Example:

30
+

Vendorautomaticmanoeuveracceptancetime

Type: number Default: null

If automatic maneuver acceptance is enabled, the new route will be activated after a specified number of seconds


Example:

20
+

Additional Properties of any type are allowed.

Type: object

Timeseriesdata

Type: array

Time series data from the system

No Additional Items

Each item of this array must be:

Type: object

Time


Date and Time of the predicted value ISO 8601 format YYYY-MM-DDThh:mm:ssZ

Type: stringFormat: date-time
Type: integer

Example:

"2024-03-22T13:57:23.747932"
+

Targetships

Type: array

list of target ships detected by the CAGA system

No Additional Items

Each item of this array must be:

Type: object

Id

Type: stringFormat: uuid

Unique Identifier


Example:

"180a7ec6-e0c2-473b-b764-f8a7ccc68f58"
+

Longitude and Latitude Values

Type: object

A geographical coordinate


Example:

{
+    "latitude": 51.2123,
+    "longitude": 11.2313
+}
+

Latitude

Default: null

WGS-84 latitude

Type: number

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

Type: null

Example:

51.2131
+

Longitude

Default: null

WGS-84 longitude

Type: number

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

Type: null

Example:

11.2131
+

Additional Properties of any type are allowed.

Type: object

ship speed over ground

Type: number

Initial ship speed over ground in knots

Value must be greater or equal to 0.0


Example:

10.0
+

ship course over ground

Type: number

Initial ship course over ground in degrees

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


Example:

45.0
+

ship heading

Default: null

Initial ship heading in degrees

Type: number

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

Type: null

Example:

45.2
+

Type: enum (of string) Default: null

AIS Navigational Status

Must be one of:

  • "Under way using engine"
  • "At anchor"
  • "Not under command"
  • "Restricted manoeuverability"
  • "Constrained by her draught"
  • "Moored"
  • "Aground"
  • "Engaged in fishing"
  • "Under way sailing"
  • "Reserved for future amendment of navigational status for HSC"
  • "Reserved for future amendment of navigational status for WIG"
  • "Reserved for future use 1"
  • "Reserved for future use 2"
  • "Reserved for future use 3"
  • "AIS SART is active"
  • "Not defined (default)"

Default: null

COLREG encounter type

Type: enum (of string)

Must be one of:

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

Example:

"Overtaking stand-on"
+

Colregrulesapplied

Type: array of integer Default: null

COLREG rules the system is applying to the vessel. Each item in the list must be of type int corresponding to the COLREG rule number

No Additional Items

Each item of this array must be:

Type: integer

Example:

[
+    16,
+    17
+]
+

Distancetotarget

Type: number Default: null

Calculated distance from the own ship to the target vessel


Example:

1900.2
+

Dcpa

Default: null

Calculated closest point of approach

Type: number
Type: null

Example:

100.3
+

Tcpa

Default: null

calculated time to closest point of approach in seconds

Type: number
Type: null

Example:

2131
+

Predictions

Type: object Default: null

List of predicted future values. This can be used to store data like a predicted path for each target vessel. The value field supports both numbers and objects


Example:

[
+    {
+        "time": "2024-03-22T13:57:23.747932",
+        "value": {
+            "latitude": 57.2343,
+            "longitude": 10.3432
+        }
+    },
+    {
+        "time": "2024-03-22T13:57:23.747932",
+        "value": {
+            "latitude": 57.2343,
+            "longitude": 10.3432
+        }
+    },
+    {
+        "time": "2024-03-22T13:57:23.747932",
+        "value": {
+            "latitude": 57.2343,
+            "longitude": 10.3432
+        }
+    }
+]
+

Each additional property must conform to the following schema

Type: array
No Additional Items

Each item of this array must be:

Type: object

Time


Date and Time of the predicted value ISO 8601 format YYYY-MM-DDThh:mm:ssZ

Type: stringFormat: date-time
Type: integer

Example:

"2024-03-22T13:57:23.747932"
+

Value


Value of the prediction

Type: number
Type: object

Examples:

{
+    "latitude": 57.2343,
+    "longitude": 10.3432
+}
+
100
+

Additional Properties of any type are allowed.

Type: object

Example:

[
+    {
+        "cog": 181.0,
+        "colregRulesApplied": [
+            12
+        ],
+        "dcpa": 300.0,
+        "distanceToTarget": 874.0,
+        "encounterType": "Head-on",
+        "heading": 182.0,
+        "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
+        "navStatus": "Under way using engine",
+        "position": {
+            "latitude": 57.2343,
+            "longitude": 10.3432
+        },
+        "predictions": {
+            "position": [
+                {
+                    "time": "2024-03-22T13:57:23.747932",
+                    "value": {
+                        "latitude": 57.2343,
+                        "longitude": 10.3432
+                    }
+                },
+                {
+                    "time": "2024-03-22T13:57:23.747932",
+                    "value": {
+                        "latitude": 57.2343,
+                        "longitude": 10.3432
+                    }
+                },
+                {
+                    "time": "2024-03-22T13:57:23.747932",
+                    "value": {
+                        "latitude": 57.2343,
+                        "longitude": 10.3432
+                    }
+                }
+            ]
+        },
+        "sog": 10.2,
+        "tcpa": 1200.0
+    }
+]
+

Internalstatus

Type: object Default: null

Dictionary containing additional internal information about the system (health, status..)


Example:

[
+    {
+        "internalStatus": null,
+        "targetShips": [
+            {
+                "cog": 181.0,
+                "colregRulesApplied": [
+                    12
+                ],
+                "dcpa": 300.0,
+                "distanceToTarget": 874.0,
+                "encounterType": "Head-on",
+                "heading": 182.0,
+                "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
+                "navStatus": "Under way using engine",
+                "position": {
+                    "latitude": 57.2343,
+                    "longitude": 10.3432
+                },
+                "predictions": {
+                    "position": [
+                        {
+                            "time": "2024-03-22T13:57:23.747932",
+                            "value": {
+                                "latitude": 57.2343,
+                                "longitude": 10.3432
+                            }
+                        },
+                        {
+                            "time": "2024-03-22T13:57:23.747932",
+                            "value": {
+                                "latitude": 57.2343,
+                                "longitude": 10.3432
+                            }
+                        },
+                        {
+                            "time": "2024-03-22T13:57:23.747932",
+                            "value": {
+                                "latitude": 57.2343,
+                                "longitude": 10.3432
+                            }
+                        }
+                    ]
+                },
+                "sog": 10.2,
+                "tcpa": 1200.0
+            }
+        ],
+        "time": "2024-03-22T13:57:23.747932"
+    }
+]
+

Eventdata

Type: array Default: null

Event data from the system

No Additional Items

Each item of this array must be:

Type: object

Time


Date and Time of the event

Type: stringFormat: date-time
Type: integer

Example:

"2024-03-22T13:57:23.747932"
+

Route

Type: array Default: null

Planned CAGA Route

No Additional Items

Each item of this array must be:

Type: object

Type: object

A geographical coordinate


Example:

{
+    "latitude": 51.2123,
+    "longitude": 11.2313
+}
+

Latitude

Default: null

WGS-84 latitude

Type: number

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

Type: null

Example:

51.2131
+

Longitude

Default: null

WGS-84 longitude

Type: number

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

Type: null

Example:

11.2131
+

Additional Properties of any type are allowed.

Type: object

Turnradius

Default: null

Orthodrome turn radius as defined in RTZ format

Type: number
Type: null

Example:

200
+

Default: null

A Data object that includes speed, course, and heading data points

Type: object

Default: null

Speed data point

Type: object

Value

Default: null

the value of the data at the current timestep

Type: number
Type: null

Example:

12.3
+

Mbeforelegchange

Type: number Default: null

meters before the waypoint to start interpolating to the new value


Example:

10
+

Mafterlegchange

Default: null

meters after the waypoint to finish interpolating to the new value

Type: number
Type: null

Example:

10
+

Interpmethod

Default: null

Method used for interpolation

Type: enum (of string)

Must be one of:

  • "linear"
  • "cosine"
  • "smoothstep"
  • "accelerate"
  • "decelerate"
  • "ordinal"
Type: string
Type: null
Type: null

Example:

{
+    "interpMethod": "linear",
+    "mAfterLegChange": 100.0,
+    "mBeforeLegChange": 100.0,
+    "value": 12.3
+}
+

Default: null

Heading data point

Type: object

Value

Default: null

the value of the data at the current timestep

Type: number
Type: null

Example:

12.3
+

Mbeforelegchange

Type: number Default: null

meters before the waypoint to start interpolating to the new value


Example:

10
+

Mafterlegchange

Default: null

meters after the waypoint to finish interpolating to the new value

Type: number
Type: null

Example:

10
+

Interpmethod

Default: null

Method used for interpolation

Type: enum (of string)

Must be one of:

  • "linear"
  • "cosine"
  • "smoothstep"
  • "accelerate"
  • "decelerate"
  • "ordinal"
Type: string
Type: null
Type: null

Example:

{
+    "interpMethod": "linear",
+    "mAfterLegChange": 100.0,
+    "mBeforeLegChange": 100.0,
+    "value": 180.0
+}
+

Each additional property must conform to the following schema

Type: object

The 'data' field can include additional properties. All additional properties should be DataPoint objects.

Type: number

Type: number

Type: number

Type: string
Type: null

Example:

[
+    {
+        "data": {
+            "heading": {
+                "interpMethod": "linear",
+                "mAfterLegChange": 100.0,
+                "mBeforeLegChange": 100.0,
+                "value": 12.3
+            },
+            "sog": {
+                "interpMethod": "linear",
+                "mAfterLegChange": 100.0,
+                "mBeforeLegChange": 100.0,
+                "value": 12.3
+            }
+        },
+        "position": {
+            "latitude": 57.2343,
+            "longitude": 10.3432
+        },
+        "turnRadius": 500.0
+    },
+    {
+        "data": {
+            "heading": {
+                "interpMethod": "linear",
+                "mAfterLegChange": 100.0,
+                "mBeforeLegChange": 100.0,
+                "value": 12.3
+            },
+            "sog": {
+                "interpMethod": "linear",
+                "mAfterLegChange": 100.0,
+                "mBeforeLegChange": 100.0,
+                "value": 12.3
+            }
+        },
+        "position": {
+            "latitude": 57.2343,
+            "longitude": 10.3432
+        },
+        "turnRadius": 500.0
+    },
+    {
+        "data": {
+            "heading": {
+                "interpMethod": "linear",
+                "mAfterLegChange": 100.0,
+                "mBeforeLegChange": 100.0,
+                "value": 12.3
+            },
+            "sog": {
+                "interpMethod": "linear",
+                "mAfterLegChange": 100.0,
+                "mBeforeLegChange": 100.0,
+                "value": 12.3
+            }
+        },
+        "position": {
+            "latitude": 57.2343,
+            "longitude": 10.3432
+        },
+        "turnRadius": 500.0
+    }
+]
+

Calculationtime

Default: null

Time to calculate new route

Type: number
Type: null

Additional Properties of any type are allowed.

Type: object

Example:

[
+    {
+        "calculationTime": 1.242,
+        "route": [
+            {
+                "data": {
+                    "heading": {
+                        "interpMethod": "linear",
+                        "mAfterLegChange": 100.0,
+                        "mBeforeLegChange": 100.0,
+                        "value": 12.3
+                    },
+                    "sog": {
+                        "interpMethod": "linear",
+                        "mAfterLegChange": 100.0,
+                        "mBeforeLegChange": 100.0,
+                        "value": 12.3
+                    }
+                },
+                "position": {
+                    "latitude": 57.2343,
+                    "longitude": 10.3432
+                },
+                "turnRadius": 500.0
+            },
+            {
+                "data": {
+                    "heading": {
+                        "interpMethod": "linear",
+                        "mAfterLegChange": 100.0,
+                        "mBeforeLegChange": 100.0,
+                        "value": 12.3
+                    },
+                    "sog": {
+                        "interpMethod": "linear",
+                        "mAfterLegChange": 100.0,
+                        "mBeforeLegChange": 100.0,
+                        "value": 12.3
+                    }
+                },
+                "position": {
+                    "latitude": 57.2343,
+                    "longitude": 10.3432
+                },
+                "turnRadius": 500.0
+            },
+            {
+                "data": {
+                    "heading": {
+                        "interpMethod": "linear",
+                        "mAfterLegChange": 100.0,
+                        "mBeforeLegChange": 100.0,
+                        "value": 12.3
+                    },
+                    "sog": {
+                        "interpMethod": "linear",
+                        "mAfterLegChange": 100.0,
+                        "mBeforeLegChange": 100.0,
+                        "value": 12.3
+                    }
+                },
+                "position": {
+                    "latitude": 57.2343,
+                    "longitude": 10.3432
+                },
+                "turnRadius": 500.0
+            }
+        ],
+        "time": "2024-03-22T13:57:23.747932"
+    }
+]
+
Type: null

Example:

{
+    "configuration": {
+        "name": "AutoNavigation-System 1",
+        "vendor": "CompanyABC",
+        "vendorAutomaticManoeuverAcceptanceTime": 7.0,
+        "vendorCriticalTcpa": 1000.0,
+        "vendorManoeuverDelay": 20.0,
+        "vendorMinimumDistanceToTargets": 100.0,
+        "vendorSafetyDepth": 20.0,
+        "version": "1.2.3"
+    },
+    "eventData": [
+        {
+            "calculationTime": 1.242,
+            "route": [
+                {
+                    "data": {
+                        "heading": {
+                            "interpMethod": "linear",
+                            "mAfterLegChange": 100.0,
+                            "mBeforeLegChange": 100.0,
+                            "value": 12.3
+                        },
+                        "sog": {
+                            "interpMethod": "linear",
+                            "mAfterLegChange": 100.0,
+                            "mBeforeLegChange": 100.0,
+                            "value": 12.3
+                        }
+                    },
+                    "position": {
+                        "latitude": 57.2343,
+                        "longitude": 10.3432
+                    },
+                    "turnRadius": 500.0
+                },
+                {
+                    "data": {
+                        "heading": {
+                            "interpMethod": "linear",
+                            "mAfterLegChange": 100.0,
+                            "mBeforeLegChange": 100.0,
+                            "value": 12.3
+                        },
+                        "sog": {
+                            "interpMethod": "linear",
+                            "mAfterLegChange": 100.0,
+                            "mBeforeLegChange": 100.0,
+                            "value": 12.3
+                        }
+                    },
+                    "position": {
+                        "latitude": 57.2343,
+                        "longitude": 10.3432
+                    },
+                    "turnRadius": 500.0
+                },
+                {
+                    "data": {
+                        "heading": {
+                            "interpMethod": "linear",
+                            "mAfterLegChange": 100.0,
+                            "mBeforeLegChange": 100.0,
+                            "value": 12.3
+                        },
+                        "sog": {
+                            "interpMethod": "linear",
+                            "mAfterLegChange": 100.0,
+                            "mBeforeLegChange": 100.0,
+                            "value": 12.3
+                        }
+                    },
+                    "position": {
+                        "latitude": 57.2343,
+                        "longitude": 10.3432
+                    },
+                    "turnRadius": 500.0
+                }
+            ],
+            "time": "2024-03-22T13:57:23.747932"
+        }
+    ],
+    "timeSeriesData": [
+        {
+            "internalStatus": null,
+            "targetShips": [
+                {
+                    "cog": 181.0,
+                    "colregRulesApplied": [
+                        12
+                    ],
+                    "dcpa": 300.0,
+                    "distanceToTarget": 874.0,
+                    "encounterType": "Head-on",
+                    "heading": 182.0,
+                    "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
+                    "navStatus": "Under way using engine",
+                    "position": {
+                        "latitude": 57.2343,
+                        "longitude": 10.3432
+                    },
+                    "predictions": {
+                        "position": [
+                            {
+                                "time": "2024-03-22T13:57:23.747932",
+                                "value": {
+                                    "latitude": 57.2343,
+                                    "longitude": 10.3432
+                                }
+                            },
+                            {
+                                "time": "2024-03-22T13:57:23.747932",
+                                "value": {
+                                    "latitude": 57.2343,
+                                    "longitude": 10.3432
+                                }
+                            },
+                            {
+                                "time": "2024-03-22T13:57:23.747932",
+                                "value": {
+                                    "latitude": 57.2343,
+                                    "longitude": 10.3432
+                                }
+                            }
+                        ]
+                    },
+                    "sog": 10.2,
+                    "tcpa": 1200.0
+                }
+            ],
+            "time": "2024-03-22T13:57:23.747932"
+        }
+    ]
+}
+

Default: null

Data generated by the simulator duirng the scenario

Type: object

Type: object

Simulator software configuration


Example:

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

Name

Type: string

The name of the system


Example:

"AutoNavigation-System 1"
+

Version

Type: string

The software version


Example:

"1.2.3"
+

Vendor

Type: string

The name of the system vendor


Example:

"CompanyABC"
+

Additional Properties of any type are allowed.

Type: object

Timeseriesdata

Type: array

TimeSeries data originating from the Simulator

No Additional Items

Each item of this array must be:

Type: object

Time


Date and Time of the predicted value ISO 8601 format YYYY-MM-DDThh:mm:ssZ

Type: stringFormat: date-time
Type: integer

Example:

"2024-03-22T13:57:23.747932"
+

Type: object

Id

Type: stringFormat: uuid

Unique Identifier


Example:

"40cfe9f5-a131-491d-9752-223f490ce183"
+

Longitude and Latitude Values

Type: object

A geographical coordinate


Example:

{
+    "latitude": 51.2123,
+    "longitude": 11.2313
+}
+

Latitude

Default: null

WGS-84 latitude

Type: number

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

Type: null

Example:

51.2131
+

Longitude

Default: null

WGS-84 longitude

Type: number

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

Type: null

Example:

11.2131
+

Additional Properties of any type are allowed.

Type: object

ship speed over ground

Type: number

Initial ship speed over ground in knots

Value must be greater or equal to 0.0


Example:

10.0
+

ship course over ground

Type: number

Initial ship course over ground in degrees

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


Example:

45.0
+

ship heading

Default: null

Initial ship heading in degrees

Type: number

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

Type: null

Example:

45.2
+

Type: enum (of string)

AIS Navigational Status

Must be one of:

  • "Under way using engine"
  • "At anchor"
  • "Not under command"
  • "Restricted manoeuverability"
  • "Constrained by her draught"
  • "Moored"
  • "Aground"
  • "Engaged in fishing"
  • "Under way sailing"
  • "Reserved for future amendment of navigational status for HSC"
  • "Reserved for future amendment of navigational status for WIG"
  • "Reserved for future use 1"
  • "Reserved for future use 2"
  • "Reserved for future use 3"
  • "AIS SART is active"
  • "Not defined (default)"

Acceleration

Type: number Default: null

Ship acceleration in ms^-2


Example:

0.01
+

Rateofturn

Type: number Default: null

Ship rate of turn in deg/s


Example:

1.8
+

Additional Properties of any type are allowed.

Type: object

Targetships

Type: array
No Additional Items

Each item of this array must be:

Type: object

Id

Type: stringFormat: uuid

Unique Identifier


Example:

"40cfe9f5-a131-491d-9752-223f490ce183"
+

Longitude and Latitude Values

Type: object

A geographical coordinate


Example:

{
+    "latitude": 51.2123,
+    "longitude": 11.2313
+}
+

Latitude

Default: null

WGS-84 latitude

Type: number

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

Type: null

Example:

51.2131
+

Longitude

Default: null

WGS-84 longitude

Type: number

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

Type: null

Example:

11.2131
+

Additional Properties of any type are allowed.

Type: object

ship speed over ground

Type: number

Initial ship speed over ground in knots

Value must be greater or equal to 0.0


Example:

10.0
+

ship course over ground

Type: number

Initial ship course over ground in degrees

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


Example:

45.0
+

ship heading

Default: null

Initial ship heading in degrees

Type: number

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

Type: null

Example:

45.2
+

Type: enum (of string)

AIS Navigational Status

Must be one of:

  • "Under way using engine"
  • "At anchor"
  • "Not under command"
  • "Restricted manoeuverability"
  • "Constrained by her draught"
  • "Moored"
  • "Aground"
  • "Engaged in fishing"
  • "Under way sailing"
  • "Reserved for future amendment of navigational status for HSC"
  • "Reserved for future amendment of navigational status for WIG"
  • "Reserved for future use 1"
  • "Reserved for future use 2"
  • "Reserved for future use 3"
  • "AIS SART is active"
  • "Not defined (default)"

Acceleration

Type: number Default: null

Ship acceleration in ms^-2


Example:

0.01
+

Rateofturn

Type: number Default: null

Ship rate of turn in deg/s


Example:

1.8
+

Additional Properties of any type are allowed.

Type: object

Example:

[
+    {
+        "ownShip": {
+            "acceleration": 0.01,
+            "cog": 181.0,
+            "heading": 182.0,
+            "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
+            "navStatus": "Engaged in fishing",
+            "position": {
+                "latitude": 57.2343,
+                "longitude": 10.3432
+            },
+            "rateOfTurn": 1.0,
+            "sog": 10.0
+        },
+        "targetShips": [
+            {
+                "acceleration": 0.01,
+                "cog": 181.0,
+                "heading": 182.0,
+                "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
+                "navStatus": "Engaged in fishing",
+                "position": {
+                    "latitude": 57.2343,
+                    "longitude": 10.3432
+                },
+                "rateOfTurn": 1.0,
+                "sog": 10.0
+            },
+            {
+                "acceleration": 0.01,
+                "cog": 181.0,
+                "heading": 182.0,
+                "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
+                "navStatus": "Engaged in fishing",
+                "position": {
+                    "latitude": 57.2343,
+                    "longitude": 10.3432
+                },
+                "rateOfTurn": 1.0,
+                "sog": 10.0
+            }
+        ],
+        "time": "2024-03-22T13:57:23.747932"
+    },
+    {
+        "ownShip": {
+            "acceleration": 0.01,
+            "cog": 181.0,
+            "heading": 182.0,
+            "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
+            "navStatus": "Engaged in fishing",
+            "position": {
+                "latitude": 57.2343,
+                "longitude": 10.3432
+            },
+            "rateOfTurn": 1.0,
+            "sog": 10.0
+        },
+        "targetShips": [
+            {
+                "acceleration": 0.01,
+                "cog": 181.0,
+                "heading": 182.0,
+                "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
+                "navStatus": "Engaged in fishing",
+                "position": {
+                    "latitude": 57.2343,
+                    "longitude": 10.3432
+                },
+                "rateOfTurn": 1.0,
+                "sog": 10.0
+            },
+            {
+                "acceleration": 0.01,
+                "cog": 181.0,
+                "heading": 182.0,
+                "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
+                "navStatus": "Engaged in fishing",
+                "position": {
+                    "latitude": 57.2343,
+                    "longitude": 10.3432
+                },
+                "rateOfTurn": 1.0,
+                "sog": 10.0
+            }
+        ],
+        "time": "2024-03-22T13:57:23.747932"
+    }
+]
+

Eventdata

Type: array Default: null

Event data from the simulator

No Additional Items

Each item of this array must be:

Type: object

Time


Date and Time of the event

Type: stringFormat: date-time
Type: integer

Example:

"2024-03-22T13:57:23.747932"
+

Additional Properties of any type are allowed.

Type: object
Type: null

Example:

{
+    "configuration": {
+        "name": "AutoNavigation-System 1",
+        "vendor": "CompanyABC",
+        "version": "1.2.3"
+    },
+    "eventData": [],
+    "timeSeriesData": [
+        {
+            "ownShip": {
+                "acceleration": 0.01,
+                "cog": 181.0,
+                "heading": 182.0,
+                "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
+                "navStatus": "Engaged in fishing",
+                "position": {
+                    "latitude": 57.2343,
+                    "longitude": 10.3432
+                },
+                "rateOfTurn": 1.0,
+                "sog": 10.0
+            },
+            "targetShips": [
+                {
+                    "acceleration": 0.01,
+                    "cog": 181.0,
+                    "heading": 182.0,
+                    "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
+                    "navStatus": "Engaged in fishing",
+                    "position": {
+                        "latitude": 57.2343,
+                        "longitude": 10.3432
+                    },
+                    "rateOfTurn": 1.0,
+                    "sog": 10.0
+                },
+                {
+                    "acceleration": 0.01,
+                    "cog": 181.0,
+                    "heading": 182.0,
+                    "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
+                    "navStatus": "Engaged in fishing",
+                    "position": {
+                        "latitude": 57.2343,
+                        "longitude": 10.3432
+                    },
+                    "rateOfTurn": 1.0,
+                    "sog": 10.0
+                }
+            ],
+            "time": "2024-03-22T13:57:23.747932"
+        },
+        {
+            "ownShip": {
+                "acceleration": 0.01,
+                "cog": 181.0,
+                "heading": 182.0,
+                "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
+                "navStatus": "Engaged in fishing",
+                "position": {
+                    "latitude": 57.2343,
+                    "longitude": 10.3432
+                },
+                "rateOfTurn": 1.0,
+                "sog": 10.0
+            },
+            "targetShips": [
+                {
+                    "acceleration": 0.01,
+                    "cog": 181.0,
+                    "heading": 182.0,
+                    "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
+                    "navStatus": "Engaged in fishing",
+                    "position": {
+                        "latitude": 57.2343,
+                        "longitude": 10.3432
+                    },
+                    "rateOfTurn": 1.0,
+                    "sog": 10.0
+                },
+                {
+                    "acceleration": 0.01,
+                    "cog": 181.0,
+                    "heading": 182.0,
+                    "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
+                    "navStatus": "Engaged in fishing",
+                    "position": {
+                        "latitude": 57.2343,
+                        "longitude": 10.3432
+                    },
+                    "rateOfTurn": 1.0,
+                    "sog": 10.0
+                }
+            ],
+            "time": "2024-03-22T13:57:23.747932"
+        }
+    ]
+}
+

Additional Properties of any type are allowed.

Type: object
\ No newline at end of file diff --git a/schema/caga/input_schema.json b/schema/caga/input_schema.json index 3a85c08..cdf11a8 100644 --- a/schema/caga/input_schema.json +++ b/schema/caga/input_schema.json @@ -1,1064 +1,1067 @@ -{ - "$defs": { - "AISNavStatus": { - "enum": [ - "Under way using engine", - "At anchor", - "Not under command", - "Restricted manoeuverability", - "Constrained by her draught", - "Moored", - "Aground", - "Engaged in fishing", - "Under way sailing", - "Reserved for future amendment of navigational status for HSC", - "Reserved for future amendment of navigational status for WIG", - "Reserved for future use 1", - "Reserved for future use 2", - "Reserved for future use 3", - "AIS SART is active", - "Not defined (default)" - ], - "title": "AISNavStatus", - "type": "string" - }, - "Data": { - "additionalProperties": { - "description": "The 'data' field can include additional properties. All additional properties should be DataPoint objects.", - "properties": { - "value": { - "type": "number" - }, - "mBeforeLegChange": { - "type": "number" - }, - "mAfterLegChange": { - "type": "number" - }, - "interpMethod": { - "type": "string" - } - }, - "required": [ - "value", - "mBeforeLegChange", - "mAfterLegChange", - "interpMethod" - ], - "type": "object" - }, - "properties": { - "sog": { - "anyOf": [ - { - "$ref": "#/$defs/DataPoint" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Speed data point", - "examples": [ - { - "interpMethod": "linear", - "mAfterLegChange": 100.0, - "mBeforeLegChange": 100.0, - "value": 12.3 - } - ] - }, - "heading": { - "anyOf": [ - { - "$ref": "#/$defs/DataPoint" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Heading data point", - "examples": [ - { - "interpMethod": "linear", - "mAfterLegChange": 100.0, - "mBeforeLegChange": 100.0, - "value": 180.0 - } - ] - } - }, - "title": "Data", - "type": "object" - }, - "DataPoint": { - "properties": { - "value": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "default": null, - "description": "the value of the data at the current timestep", - "examples": [ - 12.3 - ], - "title": "Value" - }, - "m_before_leg_change": { - "default": null, - "description": "meters before the waypoint to start interpolating to the new value", - "examples": [ - 10 - ], - "title": "M Before Leg Change", - "type": "number" - }, - "m_after_leg_change": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "default": null, - "description": "meters after the waypoint to finish interpolating to the new value", - "examples": [ - 10 - ], - "title": "M After Leg Change" - }, - "interp_method": { - "anyOf": [ - { - "$ref": "#/$defs/InterpolationMethod" - }, - { - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Method used for interpolation", - "title": "Interp Method" - } - }, - "title": "DataPoint", - "type": "object" - }, - "Environment": { - "properties": { - "air_temperature": { - "default": null, - "description": "The air temperature in degrees Celsius", - "examples": [ - 20.0 - ], - "title": "Air Temperature", - "type": "number" - }, - "water_remperature": { - "default": null, - "description": "The water temperature in degrees Celsius", - "examples": [ - 15.0 - ], - "title": "Water Remperature", - "type": "number" - }, - "precipitation": { - "allOf": [ - { - "$ref": "#/$defs/PrecipitationType" - } - ], - "default": null, - "description": "The type of precipitation", - "examples": [ - "Rain" - ] - }, - "wind_speed": { - "default": null, - "description": "The wind speed in m/s", - "examples": [ - 10.0 - ], - "title": "Wind Speed", - "type": "number" - }, - "wind_direction": { - "default": null, - "description": "The wind direction in degrees", - "examples": [ - 180.0 - ], - "title": "Wind Direction", - "type": "number" - }, - "current_speed": { - "default": null, - "description": "The current speed in m/s", - "examples": [ - 1.0 - ], - "title": "Current Speed", - "type": "number" - }, - "current_direction": { - "default": null, - "description": "The current direction in degrees", - "examples": [ - 90.0 - ], - "title": "Current Direction", - "type": "number" - }, - "wave_spectrum": { - "allOf": [ - { - "$ref": "#/$defs/WaveSpectra" - } - ], - "default": null, - "description": "The wave spectrum", - "examples": [ - "JONSWAP" - ] - }, - "significant_wave_height": { - "default": null, - "description": "The significant wave height in meters", - "examples": [ - 3.0 - ], - "title": "Significant Wave Height", - "type": "number" - }, - "wave_period": { - "default": null, - "description": "The wave period in seconds", - "examples": [ - 12.0 - ], - "title": "Wave Period", - "type": "number" - }, - "wave_direction": { - "default": null, - "description": "The wave direction in degrees", - "examples": [ - 270.0 - ], - "title": "Wave Direction", - "type": "number" - }, - "visibility": { - "default": null, - "description": "The visibility in nautical miles", - "examples": [ - 5.0 - ], - "title": "Visibility", - "type": "number" - }, - "conditions": { - "allOf": [ - { - "$ref": "#/$defs/WeatherCondition" - } - ], - "default": null, - "description": "The overall weather conditions", - "examples": [ - "Clear" - ] - } - }, - "title": "Environment", - "type": "object" - }, - "GeneralShipType": { - "enum": [ - "Wing in ground", - "Fishing", - "Towing", - "Dredging or underwater ops", - "Diving ops", - "Military ops", - "Sailing", - "Pleasure Craft", - "High speed craft", - "Pilot Vessel", - "Search and Rescue vessel", - "Tug", - "Port Tender", - "Anti-pollution", - "Law Enforcement", - "Medical Transport", - "Noncombatant ship", - "Passenger", - "Cargo", - "Tanker", - "Other Type" - ], - "title": "GeneralShipType", - "type": "string" - }, - "Initial": { - "properties": { - "position": { - "anyOf": [ - { - "$ref": "#/$defs/Position" - }, - { - "type": "null" - } - ], - "default": null, - "description": "A geographical coordinate", - "examples": [ - { - "latitude": 57.2343, - "longitude": 10.3432 - } - ], - "title": "Longitude and Latitude Values" - }, - "sog": { - "anyOf": [ - { - "minimum": 0.0, - "type": "number" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Initial ship speed over ground in knots", - "examples": [ - 10.0 - ], - "title": "Initial ship speed over ground" - }, - "cog": { - "anyOf": [ - { - "maximum": 360.0, - "minimum": 0.0, - "type": "number" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Initial ship course over ground in degrees", - "examples": [ - 45.0 - ], - "title": "Initial ship course over ground" - }, - "heading": { - "anyOf": [ - { - "maximum": 360.0, - "minimum": 0.0, - "type": "number" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Initial ship heading in degrees", - "examples": [ - 45.2 - ], - "title": "Initial ship heading" - }, - "nav_status": { - "anyOf": [ - { - "$ref": "#/$defs/AISNavStatus" - }, - { - "type": "null" - } - ], - "default": null, - "description": "AIS Navigational Status" - } - }, - "title": "Initial", - "type": "object" - }, - "InterpolationMethod": { - "enum": [ - "linear", - "cosine", - "smoothstep", - "accelerate", - "decelerate", - "ordinal" - ], - "title": "InterpolationMethod", - "type": "string" - }, - "OwnShip": { - "properties": { - "static": { - "anyOf": [ - { - "$ref": "#/$defs/ShipStatic" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Static ship information which does not change during a scenario.", - "examples": [ - { - "height": 15.0, - "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8", - "imo": 1000001, - "length": 230.0, - "mmsi": 123456789, - "name": "RMS Titanic", - "shipType": "Fishing", - "width": 30.0 - } - ] - }, - "initial": { - "anyOf": [ - { - "$ref": "#/$defs/Initial" - }, - { - "type": "null" - } - ], - "default": null, - "examples": [ - { - "cog": 284.2, - "heading": 283.1, - "navStatus": "Under way using engine", - "position": { - "latitude": 57.2343, - "longitude": 10.3432 - }, - "sog": 12.3 - } - ], - "title": "Initial own ship Initial" - }, - "waypoints": { - "anyOf": [ - { - "items": { - "$ref": "#/$defs/Waypoint" - }, - "type": "array" - }, - { - "type": "null" - } - ], - "default": null, - "description": "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. This allows varying parameters on a per-leg basis, such as speed and heading, or navigational status ", - "examples": [ - { - "data": { - "heading": { - "interpMethod": "linear", - "mAfterLegChange": 100.0, - "mBeforeLegChange": 100.0, - "value": 12.3 - }, - "sog": { - "interpMethod": "linear", - "mAfterLegChange": 100.0, - "mBeforeLegChange": 100.0, - "value": 12.3 - } - }, - "position": { - "latitude": 57.2343, - "longitude": 10.3432 - }, - "turnRadius": 500.0 - } - ], - "title": "Waypoints" - } - }, - "title": "OwnShip", - "type": "object" - }, - "Position": { - "additionalProperties": true, - "properties": { - "latitude": { - "anyOf": [ - { - "maximum": 90.0, - "minimum": -90.0, - "type": "number" - }, - { - "type": "null" - } - ], - "default": null, - "description": "WGS-84 latitude", - "examples": [ - 51.2131 - ], - "title": "Latitude" - }, - "longitude": { - "anyOf": [ - { - "maximum": 180.0, - "minimum": -180.0, - "type": "number" - }, - { - "type": "null" - } - ], - "default": null, - "description": "WGS-84 longitude", - "examples": [ - 11.2131 - ], - "title": "Longitude" - } - }, - "title": "Position", - "type": "object" - }, - "PrecipitationType": { - "enum": [ - "None", - "Rain", - "Snow", - "Sleet", - "Hail" - ], - "title": "PrecipitationType", - "type": "string" - }, - "ShipStatic": { - "additionalProperties": true, - "description": "Static ship data that will not change during the scenario.", - "properties": { - "id": { - "description": "Unique Identifier", - "examples": [ - "59352249-4387-4aaa-bb4c-ab767950b373" - ], - "format": "uuid", - "title": "Id", - "type": "string" - }, - "length": { - "anyOf": [ - { - "exclusiveMinimum": 0.0, - "type": "number" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Length of the ship in meters", - "examples": [ - 230.0 - ], - "title": "Length" - }, - "width": { - "anyOf": [ - { - "exclusiveMinimum": 0.0, - "type": "number" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Width of the ship in meters", - "examples": [ - 30.0 - ], - "title": "Width" - }, - "height": { - "anyOf": [ - { - "exclusiveMinimum": 0.0, - "type": "number" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Height of the ship in meters", - "examples": [ - 15.0 - ], - "title": "Height" - }, - "mmsi": { - "anyOf": [ - { - "maximum": 999999999, - "minimum": 100000000, - "type": "integer" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Maritime Mobile Service Identity (MMSI)", - "examples": [ - 123456789 - ], - "title": "Mmsi" - }, - "imo": { - "anyOf": [ - { - "maximum": 9999999, - "minimum": 1000000, - "type": "integer" - }, - { - "type": "null" - } - ], - "default": null, - "description": "IMO Number", - "examples": [ - 1234567 - ], - "title": "Imo" - }, - "name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Ship title", - "examples": [ - "RMS Titanic" - ], - "title": "Name" - }, - "ship_type": { - "anyOf": [ - { - "$ref": "#/$defs/GeneralShipType" - }, - { - "type": "null" - } - ], - "default": null, - "description": "General ship type, based on AIS" - } - }, - "required": [ - "id" - ], - "title": "ShipStatic", - "type": "object" - }, - "TargetShip": { - "properties": { - "static": { - "anyOf": [ - { - "$ref": "#/$defs/ShipStatic" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Static ship information which does not change during a scenario.", - "examples": [ - { - "height": 15.0, - "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8", - "imo": 1000001, - "length": 230.0, - "mmsi": 123456789, - "name": "RMS Titanic", - "shipType": "Fishing", - "width": 30.0 - } - ] - }, - "initial": { - "anyOf": [ - { - "$ref": "#/$defs/Initial" - }, - { - "type": "null" - } - ], - "default": null, - "examples": [ - { - "cog": 284.2, - "heading": 283.1, - "navStatus": "Under way using engine", - "position": { - "latitude": 57.2343, - "longitude": 10.3432 - }, - "sog": 12.3 - } - ], - "title": "Initial own ship Initial" - }, - "waypoints": { - "anyOf": [ - { - "items": { - "$ref": "#/$defs/Waypoint" - }, - "type": "array" - }, - { - "type": "null" - } - ], - "default": null, - "description": "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. This allows varying parameters on a per-leg basis, such as speed and heading, or navigational status ", - "examples": [ - { - "data": { - "heading": { - "interpMethod": "linear", - "mAfterLegChange": 100.0, - "mBeforeLegChange": 100.0, - "value": 12.3 - }, - "sog": { - "interpMethod": "linear", - "mAfterLegChange": 100.0, - "mBeforeLegChange": 100.0, - "value": 12.3 - } - }, - "position": { - "latitude": 57.2343, - "longitude": 10.3432 - }, - "turnRadius": 500.0 - } - ], - "title": "Waypoints" - } - }, - "title": "TargetShip", - "type": "object" - }, - "WaveSpectra": { - "enum": [ - "JONSWAP", - "Pierson-Moskowitz", - "Bretschneider" - ], - "title": "WaveSpectra", - "type": "string" - }, - "Waypoint": { - "properties": { - "position": { - "allOf": [ - { - "$ref": "#/$defs/Position" - } - ], - "description": "A geographical coordinate", - "examples": [ - { - "latitude": 51.2123, - "longitude": 11.2313 - } - ] - }, - "turn_radius": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Orthodrome turn radius as defined in RTZ format", - "examples": [ - 200 - ], - "title": "Turn Radius" - }, - "data": { - "allOf": [ - { - "$ref": "#/$defs/Data" - } - ], - "default": null, - "description": "A `Data` object that includes `speed`, `course`, and `heading` data points" - } - }, - "required": [ - "position" - ], - "title": "Waypoint", - "type": "object" - }, - "WeatherCondition": { - "enum": [ - "Clear", - "Cloudy", - "Foggy", - "Rainy", - "Snowy" - ], - "title": "WeatherCondition", - "type": "string" - } - }, - "additionalProperties": true, - "omit_default": true, - "properties": { - "title": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "The title of the traffic situation", - "examples": [ - "overtaking_18" - ], - "title": "Title" - }, - "description": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "A description of the traffic situation", - "examples": [ - "Crossing situation with 3 target vessels in the Oslofjord" - ], - "title": "Description" - }, - "start_time": { - "anyOf": [ - { - "format": "date-time", - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Starting time of the situation in `ISO 8601` format `YYYY-MM-DDThh:mm:ssZ`", - "examples": [ - "2024-03-14T15:29:40.119791" - ], - "title": "Situation starting time" - }, - "own_ship": { - "allOf": [ - { - "$ref": "#/$defs/OwnShip" - } - ], - "description": "Own Ship data", - "examples": [ - { - "initial": { - "cog": 284.2, - "heading": 283.1, - "navStatus": "Under way using engine", - "position": { - "latitude": 57.2343, - "longitude": 10.3432 - }, - "sog": 12.3 - }, - "static": { - "height": 15.0, - "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8", - "imo": 1000001, - "length": 230.0, - "mmsi": 123456789, - "name": "RMS Titanic", - "shipType": "Fishing", - "width": 30.0 - }, - "waypoints": [ - { - "data": { - "heading": { - "interpMethod": "linear", - "mAfterLegChange": 100.0, - "mBeforeLegChange": 100.0, - "value": 12.3 - }, - "sog": { - "interpMethod": "linear", - "mAfterLegChange": 100.0, - "mBeforeLegChange": 100.0, - "value": 12.3 - } - }, - "position": { - "latitude": 57.2343, - "longitude": 10.3432 - }, - "turnRadius": 500.0 - } - ] - } - ], - "title": "Own Ship data" - }, - "target_ships": { - "default": null, - "description": "Target Ship data", - "examples": [ - [ - { - "initial": { - "cog": 284.2, - "heading": 283.1, - "navStatus": "Under way using engine", - "position": { - "latitude": 57.2343, - "longitude": 10.3432 - }, - "sog": 12.3 - }, - "static": { - "height": 15.0, - "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8", - "imo": 1000001, - "length": 230.0, - "mmsi": 123456789, - "name": "RMS Titanic", - "shipType": "Fishing", - "width": 30.0 - }, - "waypoints": [ - { - "data": { - "heading": { - "interpMethod": "linear", - "mAfterLegChange": 100.0, - "mBeforeLegChange": 100.0, - "value": 12.3 - }, - "sog": { - "interpMethod": "linear", - "mAfterLegChange": 100.0, - "mBeforeLegChange": 100.0, - "value": 12.3 - } - }, - "position": { - "latitude": 57.2343, - "longitude": 10.3432 - }, - "turnRadius": 500.0 - } - ] - } - ] - ], - "items": { - "$ref": "#/$defs/TargetShip" - }, - "title": "Target Ship data", - "type": "array" - }, - "environment": { - "anyOf": [ - { - "$ref": "#/$defs/Environment" - }, - { - "type": "null" - } - ], - "default": null, - "description": "environmental parameters", - "examples": [ - { - "airTemperature": 20.0, - "conditions": "Clear", - "currentDirection": 90.0, - "currentSpeed": 1.0, - "precipitation": "Rain", - "significantWaveHeight": 3.0, - "visibility": 5.0, - "waterRemperature": 15.0, - "waveDirection": 270.0, - "wavePeriod": 12.0, - "waveSpectrum": "JONSWAP", - "windDirection": 180.0, - "windSpeed": 10.0 - } - ] - } - }, - "required": [ - "own_ship" - ], - "title": "Test Input Schema", - "type": "object" +{ + "$defs": { + "AISNavStatus": { + "enum": [ + "Under way using engine", + "At anchor", + "Not under command", + "Restricted manoeuverability", + "Constrained by her draught", + "Moored", + "Aground", + "Engaged in fishing", + "Under way sailing", + "Reserved for future amendment of navigational status for HSC", + "Reserved for future amendment of navigational status for WIG", + "Reserved for future use 1", + "Reserved for future use 2", + "Reserved for future use 3", + "AIS SART is active", + "Not defined (default)" + ], + "title": "AISNavStatus", + "type": "string" + }, + "Data": { + "additionalProperties": { + "description": "The 'data' field can include additional properties. All additional properties should be DataPoint objects.", + "properties": { + "value": { + "type": "number" + }, + "mBeforeLegChange": { + "type": "number" + }, + "mAfterLegChange": { + "type": "number" + }, + "interpMethod": { + "type": "string" + } + }, + "required": [ + "value", + "mBeforeLegChange", + "mAfterLegChange", + "interpMethod" + ], + "type": "object" + }, + "properties": { + "sog": { + "anyOf": [ + { + "$ref": "#/$defs/DataPoint" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Speed data point", + "examples": [ + { + "interpMethod": "linear", + "mAfterLegChange": 100.0, + "mBeforeLegChange": 100.0, + "value": 12.3 + } + ] + }, + "heading": { + "anyOf": [ + { + "$ref": "#/$defs/DataPoint" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Heading data point", + "examples": [ + { + "interpMethod": "linear", + "mAfterLegChange": 100.0, + "mBeforeLegChange": 100.0, + "value": 180.0 + } + ] + } + }, + "title": "Data", + "type": "object" + }, + "DataPoint": { + "properties": { + "value": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "default": null, + "description": "the value of the data at the current timestep", + "examples": [ + 12.3 + ], + "title": "Value" + }, + "m_before_leg_change": { + "default": null, + "description": "meters before the waypoint to start interpolating to the new value", + "examples": [ + 10 + ], + "title": "M Before Leg Change", + "type": "number" + }, + "m_after_leg_change": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "default": null, + "description": "meters after the waypoint to finish interpolating to the new value", + "examples": [ + 10 + ], + "title": "M After Leg Change" + }, + "interp_method": { + "anyOf": [ + { + "$ref": "#/$defs/InterpolationMethod" + }, + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Method used for interpolation", + "title": "Interp Method" + } + }, + "title": "DataPoint", + "type": "object" + }, + "Environment": { + "properties": { + "air_temperature": { + "default": null, + "description": "The air temperature in degrees Celsius", + "examples": [ + 20.0 + ], + "title": "Air Temperature", + "type": "number" + }, + "water_remperature": { + "default": null, + "description": "The water temperature in degrees Celsius", + "examples": [ + 15.0 + ], + "title": "Water Remperature", + "type": "number" + }, + "precipitation": { + "allOf": [ + { + "$ref": "#/$defs/PrecipitationType" + } + ], + "default": null, + "description": "The type of precipitation", + "examples": [ + "Rain" + ] + }, + "wind_speed": { + "default": null, + "description": "The wind speed in m/s", + "examples": [ + 10.0 + ], + "title": "Wind Speed", + "type": "number" + }, + "wind_direction": { + "default": null, + "description": "The wind direction in degrees", + "examples": [ + 180.0 + ], + "title": "Wind Direction", + "type": "number" + }, + "current_speed": { + "default": null, + "description": "The current speed in m/s", + "examples": [ + 1.0 + ], + "title": "Current Speed", + "type": "number" + }, + "current_direction": { + "default": null, + "description": "The current direction in degrees", + "examples": [ + 90.0 + ], + "title": "Current Direction", + "type": "number" + }, + "wave_spectrum": { + "allOf": [ + { + "$ref": "#/$defs/WaveSpectra" + } + ], + "default": null, + "description": "The wave spectrum", + "examples": [ + "JONSWAP" + ] + }, + "significant_wave_height": { + "default": null, + "description": "The significant wave height in meters", + "examples": [ + 3.0 + ], + "title": "Significant Wave Height", + "type": "number" + }, + "wave_period": { + "default": null, + "description": "The wave period in seconds", + "examples": [ + 12.0 + ], + "title": "Wave Period", + "type": "number" + }, + "wave_direction": { + "default": null, + "description": "The wave direction in degrees", + "examples": [ + 270.0 + ], + "title": "Wave Direction", + "type": "number" + }, + "visibility": { + "default": null, + "description": "The visibility in nautical miles", + "examples": [ + 5.0 + ], + "title": "Visibility", + "type": "number" + }, + "conditions": { + "allOf": [ + { + "$ref": "#/$defs/WeatherCondition" + } + ], + "default": null, + "description": "The overall weather conditions", + "examples": [ + "Clear" + ] + } + }, + "title": "Environment", + "type": "object" + }, + "GeneralShipType": { + "enum": [ + "Wing in ground", + "Fishing", + "Towing", + "Dredging or underwater ops", + "Diving ops", + "Military ops", + "Sailing", + "Pleasure Craft", + "High speed craft", + "Pilot Vessel", + "Search and Rescue vessel", + "Tug", + "Port Tender", + "Anti-pollution", + "Law Enforcement", + "Medical Transport", + "Noncombatant ship", + "Passenger", + "Cargo", + "Tanker", + "Other Type" + ], + "title": "GeneralShipType", + "type": "string" + }, + "Initial": { + "properties": { + "position": { + "anyOf": [ + { + "$ref": "#/$defs/Position" + }, + { + "type": "null" + } + ], + "default": null, + "description": "A geographical coordinate", + "examples": [ + { + "latitude": 57.2343, + "longitude": 10.3432 + } + ], + "title": "Longitude and Latitude Values" + }, + "sog": { + "anyOf": [ + { + "minimum": 0.0, + "type": "number" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Initial ship speed over ground in knots", + "examples": [ + 10.0 + ], + "title": "Initial ship speed over ground" + }, + "cog": { + "anyOf": [ + { + "maximum": 360.0, + "minimum": 0.0, + "type": "number" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Initial ship course over ground in degrees", + "examples": [ + 45.0 + ], + "title": "Initial ship course over ground" + }, + "heading": { + "anyOf": [ + { + "maximum": 360.0, + "minimum": 0.0, + "type": "number" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Initial ship heading in degrees", + "examples": [ + 45.2 + ], + "title": "Initial ship heading" + }, + "nav_status": { + "anyOf": [ + { + "$ref": "#/$defs/AISNavStatus" + }, + { + "type": "null" + } + ], + "default": null, + "description": "AIS Navigational Status" + } + }, + "title": "Initial", + "type": "object" + }, + "InterpolationMethod": { + "enum": [ + "linear", + "cosine", + "smoothstep", + "accelerate", + "decelerate", + "ordinal" + ], + "title": "InterpolationMethod", + "type": "string" + }, + "OwnShip": { + "properties": { + "static": { + "anyOf": [ + { + "$ref": "#/$defs/ShipStatic" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Static ship information which does not change during a scenario.", + "examples": [ + { + "height": 15.0, + "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8", + "imo": 1000001, + "length": 230.0, + "mmsi": 123456789, + "name": "RMS Titanic", + "shipType": "Fishing", + "width": 30.0 + } + ] + }, + "initial": { + "anyOf": [ + { + "$ref": "#/$defs/Initial" + }, + { + "type": "null" + } + ], + "default": null, + "examples": [ + { + "cog": 284.2, + "heading": 283.1, + "navStatus": "Under way using engine", + "position": { + "latitude": 57.2343, + "longitude": 10.3432 + }, + "sog": 12.3 + } + ], + "title": "Initial own ship Initial" + }, + "waypoints": { + "anyOf": [ + { + "items": { + "$ref": "#/$defs/Waypoint" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null, + "description": "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. This allows varying parameters on a per-leg basis, such as speed and heading, or navigational status ", + "examples": [ + { + "data": { + "heading": { + "interpMethod": "linear", + "mAfterLegChange": 100.0, + "mBeforeLegChange": 100.0, + "value": 12.3 + }, + "sog": { + "interpMethod": "linear", + "mAfterLegChange": 100.0, + "mBeforeLegChange": 100.0, + "value": 12.3 + } + }, + "position": { + "latitude": 57.2343, + "longitude": 10.3432 + }, + "turnRadius": 500.0 + } + ], + "title": "Waypoints" + } + }, + "title": "OwnShip", + "type": "object" + }, + "Position": { + "additionalProperties": true, + "properties": { + "latitude": { + "anyOf": [ + { + "maximum": 90.0, + "minimum": -90.0, + "type": "number" + }, + { + "type": "null" + } + ], + "default": null, + "description": "WGS-84 latitude", + "examples": [ + 51.2131 + ], + "title": "Latitude" + }, + "longitude": { + "anyOf": [ + { + "maximum": 180.0, + "minimum": -180.0, + "type": "number" + }, + { + "type": "null" + } + ], + "default": null, + "description": "WGS-84 longitude", + "examples": [ + 11.2131 + ], + "title": "Longitude" + } + }, + "title": "Position", + "type": "object" + }, + "PrecipitationType": { + "enum": [ + "None", + "Rain", + "Snow", + "Sleet", + "Hail" + ], + "title": "PrecipitationType", + "type": "string" + }, + "ShipStatic": { + "additionalProperties": true, + "description": "Static ship data that will not change during the scenario.", + "properties": { + "id": { + "description": "Unique Identifier", + "examples": [ + "bc4f51b6-316d-4d5d-921d-0979eb1fb0a1" + ], + "format": "uuid", + "title": "Id", + "type": "string" + }, + "length": { + "anyOf": [ + { + "exclusiveMinimum": 0.0, + "type": "number" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Length of the ship in meters", + "examples": [ + 230.0 + ], + "title": "Length" + }, + "width": { + "anyOf": [ + { + "exclusiveMinimum": 0.0, + "type": "number" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Width of the ship in meters", + "examples": [ + 30.0 + ], + "title": "Width" + }, + "height": { + "anyOf": [ + { + "exclusiveMinimum": 0.0, + "type": "number" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Height of the ship in meters", + "examples": [ + 15.0 + ], + "title": "Height" + }, + "mmsi": { + "anyOf": [ + { + "maximum": 999999999, + "minimum": 100000000, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Maritime Mobile Service Identity (MMSI)", + "examples": [ + 123456789 + ], + "title": "Mmsi" + }, + "imo": { + "anyOf": [ + { + "maximum": 9999999, + "minimum": 1000000, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, + "description": "IMO Number", + "examples": [ + 1234567 + ], + "title": "Imo" + }, + "name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Ship title", + "examples": [ + "RMS Titanic" + ], + "title": "Name" + }, + "ship_type": { + "anyOf": [ + { + "$ref": "#/$defs/GeneralShipType" + }, + { + "type": "null" + } + ], + "default": null, + "description": "General ship type, based on AIS" + } + }, + "required": [ + "id" + ], + "title": "ShipStatic", + "type": "object" + }, + "TargetShip": { + "properties": { + "static": { + "anyOf": [ + { + "$ref": "#/$defs/ShipStatic" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Static ship information which does not change during a scenario.", + "examples": [ + { + "height": 15.0, + "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8", + "imo": 1000001, + "length": 230.0, + "mmsi": 123456789, + "name": "RMS Titanic", + "shipType": "Fishing", + "width": 30.0 + } + ] + }, + "initial": { + "anyOf": [ + { + "$ref": "#/$defs/Initial" + }, + { + "type": "null" + } + ], + "default": null, + "examples": [ + { + "cog": 284.2, + "heading": 283.1, + "navStatus": "Under way using engine", + "position": { + "latitude": 57.2343, + "longitude": 10.3432 + }, + "sog": 12.3 + } + ], + "title": "Initial own ship Initial" + }, + "waypoints": { + "anyOf": [ + { + "items": { + "$ref": "#/$defs/Waypoint" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null, + "description": "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. This allows varying parameters on a per-leg basis, such as speed and heading, or navigational status ", + "examples": [ + { + "data": { + "heading": { + "interpMethod": "linear", + "mAfterLegChange": 100.0, + "mBeforeLegChange": 100.0, + "value": 12.3 + }, + "sog": { + "interpMethod": "linear", + "mAfterLegChange": 100.0, + "mBeforeLegChange": 100.0, + "value": 12.3 + } + }, + "position": { + "latitude": 57.2343, + "longitude": 10.3432 + }, + "turnRadius": 500.0 + } + ], + "title": "Waypoints" + } + }, + "title": "TargetShip", + "type": "object" + }, + "WaveSpectra": { + "enum": [ + "JONSWAP", + "Pierson-Moskowitz", + "Bretschneider" + ], + "title": "WaveSpectra", + "type": "string" + }, + "Waypoint": { + "properties": { + "position": { + "allOf": [ + { + "$ref": "#/$defs/Position" + } + ], + "description": "A geographical coordinate", + "examples": [ + { + "latitude": 51.2123, + "longitude": 11.2313 + } + ] + }, + "turn_radius": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Orthodrome turn radius as defined in RTZ format", + "examples": [ + 200 + ], + "title": "Turn Radius" + }, + "data": { + "anyOf": [ + { + "$ref": "#/$defs/Data" + }, + { + "type": "null" + } + ], + "default": null, + "description": "A `Data` object that includes `speed`, `course`, and `heading` data points" + } + }, + "required": [ + "position" + ], + "title": "Waypoint", + "type": "object" + }, + "WeatherCondition": { + "enum": [ + "Clear", + "Cloudy", + "Foggy", + "Rainy", + "Snowy" + ], + "title": "WeatherCondition", + "type": "string" + } + }, + "additionalProperties": true, + "omit_default": true, + "properties": { + "title": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The title of the traffic situation", + "examples": [ + "overtaking_18" + ], + "title": "Title" + }, + "description": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "A description of the traffic situation", + "examples": [ + "Crossing situation with 3 target vessels in the Oslofjord" + ], + "title": "Description" + }, + "start_time": { + "anyOf": [ + { + "format": "date-time", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Starting time of the situation in `ISO 8601` format `YYYY-MM-DDThh:mm:ssZ`", + "examples": [ + "2024-03-22T13:57:23.732204" + ], + "title": "Situation starting time" + }, + "own_ship": { + "allOf": [ + { + "$ref": "#/$defs/OwnShip" + } + ], + "description": "Own Ship data", + "examples": [ + { + "initial": { + "cog": 284.2, + "heading": 283.1, + "navStatus": "Under way using engine", + "position": { + "latitude": 57.2343, + "longitude": 10.3432 + }, + "sog": 12.3 + }, + "static": { + "height": 15.0, + "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8", + "imo": 1000001, + "length": 230.0, + "mmsi": 123456789, + "name": "RMS Titanic", + "shipType": "Fishing", + "width": 30.0 + }, + "waypoints": [ + { + "data": { + "heading": { + "interpMethod": "linear", + "mAfterLegChange": 100.0, + "mBeforeLegChange": 100.0, + "value": 12.3 + }, + "sog": { + "interpMethod": "linear", + "mAfterLegChange": 100.0, + "mBeforeLegChange": 100.0, + "value": 12.3 + } + }, + "position": { + "latitude": 57.2343, + "longitude": 10.3432 + }, + "turnRadius": 500.0 + } + ] + } + ], + "title": "Own Ship data" + }, + "target_ships": { + "default": null, + "description": "Target Ship data", + "examples": [ + [ + { + "initial": { + "cog": 284.2, + "heading": 283.1, + "navStatus": "Under way using engine", + "position": { + "latitude": 57.2343, + "longitude": 10.3432 + }, + "sog": 12.3 + }, + "static": { + "height": 15.0, + "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8", + "imo": 1000001, + "length": 230.0, + "mmsi": 123456789, + "name": "RMS Titanic", + "shipType": "Fishing", + "width": 30.0 + }, + "waypoints": [ + { + "data": { + "heading": { + "interpMethod": "linear", + "mAfterLegChange": 100.0, + "mBeforeLegChange": 100.0, + "value": 12.3 + }, + "sog": { + "interpMethod": "linear", + "mAfterLegChange": 100.0, + "mBeforeLegChange": 100.0, + "value": 12.3 + } + }, + "position": { + "latitude": 57.2343, + "longitude": 10.3432 + }, + "turnRadius": 500.0 + } + ] + } + ] + ], + "items": { + "$ref": "#/$defs/TargetShip" + }, + "title": "Target Ship data", + "type": "array" + }, + "environment": { + "anyOf": [ + { + "$ref": "#/$defs/Environment" + }, + { + "type": "null" + } + ], + "default": null, + "description": "environmental parameters", + "examples": [ + { + "airTemperature": 20.0, + "conditions": "Clear", + "currentDirection": 90.0, + "currentSpeed": 1.0, + "precipitation": "Rain", + "significantWaveHeight": 3.0, + "visibility": 5.0, + "waterRemperature": 15.0, + "waveDirection": 270.0, + "wavePeriod": 12.0, + "waveSpectrum": "JONSWAP", + "windDirection": 180.0, + "windSpeed": 10.0 + } + ] + } + }, + "required": [ + "own_ship" + ], + "title": "Test Input Schema", + "type": "object" } \ No newline at end of file diff --git a/schema/caga/output_schema.json b/schema/caga/output_schema.json index 659d793..636812b 100644 --- a/schema/caga/output_schema.json +++ b/schema/caga/output_schema.json @@ -1,2391 +1,2394 @@ -{ - "$defs": { - "AISNavStatus": { - "enum": [ - "Under way using engine", - "At anchor", - "Not under command", - "Restricted manoeuverability", - "Constrained by her draught", - "Moored", - "Aground", - "Engaged in fishing", - "Under way sailing", - "Reserved for future amendment of navigational status for HSC", - "Reserved for future amendment of navigational status for WIG", - "Reserved for future use 1", - "Reserved for future use 2", - "Reserved for future use 3", - "AIS SART is active", - "Not defined (default)" - ], - "title": "AISNavStatus", - "type": "string" - }, - "CagaConfiguration": { - "additionalProperties": true, - "properties": { - "name": { - "description": "The name of the system", - "examples": [ - "AutoNavigation-System 1" - ], - "title": "Name", - "type": "string" - }, - "version": { - "description": "The software version", - "examples": [ - "1.2.3" - ], - "title": "Version", - "type": "string" - }, - "vendor": { - "description": "The name of the system vendor", - "examples": [ - "CompanyABC" - ], - "title": "Vendor", - "type": "string" - }, - "vendorMinimumDistanceToTargets": { - "default": null, - "description": "Minimum distance in meters that the system will keep to other Vessels", - "examples": [ - 100 - ], - "title": "Vendorminimumdistancetotargets", - "type": "number" - }, - "vendorCriticalTcpa": { - "default": null, - "description": "If the projected CPA is less than minimumDistanceToTargets, and TCPA falls below criticalTCPA, a new manoeuver should be calculated", - "examples": [ - 1000 - ], - "title": "Vendorcriticaltcpa", - "type": "number" - }, - "vendorManoeuverDelay": { - "default": null, - "description": "Time given in seconds to the navigator / system, before the proposed manoeuver is no longer able to be excecuted", - "examples": [ - 20 - ], - "title": "Vendormanoeuverdelay", - "type": "number" - }, - "vendorSafetyDepth": { - "default": null, - "description": "Minimum safety depth", - "examples": [ - 30 - ], - "title": "Vendorsafetydepth", - "type": "number" - }, - "vendorAutomaticManoeuverAcceptanceTime": { - "default": null, - "description": "If automatic maneuver acceptance is enabled, the new route will be activated after a specified number of seconds", - "examples": [ - 20 - ], - "title": "Vendorautomaticmanoeuveracceptancetime", - "type": "number" - } - }, - "required": [ - "name", - "version", - "vendor" - ], - "title": "CagaConfiguration", - "type": "object" - }, - "CagaData": { - "properties": { - "configuration": { - "allOf": [ - { - "$ref": "#/$defs/CagaConfiguration" - } - ], - "description": "System Configuration", - "examples": [ - { - "name": "AutoNavigation-System 1", - "vendor": "CompanyABC", - "vendorAutomaticManoeuverAcceptanceTime": 7.0, - "vendorCriticalTcpa": 1000.0, - "vendorManoeuverDelay": 20.0, - "vendorMinimumDistanceToTargets": 100.0, - "vendorSafetyDepth": 20.0, - "version": "1.2.3" - } - ] - }, - "timeSeriesData": { - "description": "Time series data from the system", - "examples": [ - [ - { - "internalStatus": null, - "targetShips": [ - { - "cog": 181.0, - "colregRulesApplied": [ - 12 - ], - "dcpa": 300.0, - "distanceToTarget": 874.0, - "encounterType": "Head-on", - "heading": 182.0, - "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8", - "navStatus": "Under way using engine", - "position": { - "latitude": 57.2343, - "longitude": 10.3432 - }, - "predictions": { - "position": [ - { - "time": "2024-03-14T15:29:40.201338", - "value": { - "latitude": 57.2343, - "longitude": 10.3432 - } - }, - { - "time": "2024-03-14T15:29:40.201351", - "value": { - "latitude": 57.2343, - "longitude": 10.3432 - } - }, - { - "time": "2024-03-14T15:29:40.201360", - "value": { - "latitude": 57.2343, - "longitude": 10.3432 - } - } - ] - }, - "sog": 10.2, - "tcpa": 1200.0 - } - ], - "time": "2024-03-14T15:29:40.201306" - } - ] - ], - "items": { - "$ref": "#/$defs/CagaTimeFrame" - }, - "title": "Timeseriesdata", - "type": "array" - }, - "eventData": { - "default": null, - "description": "Event data from the system", - "examples": [ - [ - { - "calculationTime": 1.242, - "route": [ - { - "data": { - "heading": { - "interpMethod": "linear", - "mAfterLegChange": 100.0, - "mBeforeLegChange": 100.0, - "value": 12.3 - }, - "sog": { - "interpMethod": "linear", - "mAfterLegChange": 100.0, - "mBeforeLegChange": 100.0, - "value": 12.3 - } - }, - "position": { - "latitude": 57.2343, - "longitude": 10.3432 - }, - "turnRadius": 500.0 - }, - { - "data": { - "heading": { - "interpMethod": "linear", - "mAfterLegChange": 100.0, - "mBeforeLegChange": 100.0, - "value": 12.3 - }, - "sog": { - "interpMethod": "linear", - "mAfterLegChange": 100.0, - "mBeforeLegChange": 100.0, - "value": 12.3 - } - }, - "position": { - "latitude": 57.2343, - "longitude": 10.3432 - }, - "turnRadius": 500.0 - }, - { - "data": { - "heading": { - "interpMethod": "linear", - "mAfterLegChange": 100.0, - "mBeforeLegChange": 100.0, - "value": 12.3 - }, - "sog": { - "interpMethod": "linear", - "mAfterLegChange": 100.0, - "mBeforeLegChange": 100.0, - "value": 12.3 - } - }, - "position": { - "latitude": 57.2343, - "longitude": 10.3432 - }, - "turnRadius": 500.0 - } - ], - "time": "2024-03-14T15:29:40.201449" - } - ] - ], - "items": { - "$ref": "#/$defs/CagaEvent" - }, - "title": "Eventdata", - "type": "array" - } - }, - "required": [ - "configuration", - "timeSeriesData" - ], - "title": "CagaData", - "type": "object" - }, - "CagaEvent": { - "additionalProperties": true, - "properties": { - "time": { - "anyOf": [ - { - "format": "date-time", - "type": "string" - }, - { - "type": "integer" - } - ], - "description": "Date and Time of the event", - "examples": [ - "2024-03-14T15:29:40.190651" - ], - "title": "Time" - }, - "route": { - "default": null, - "description": "Planned CAGA Route", - "examples": [ - [ - { - "data": { - "heading": { - "interpMethod": "linear", - "mAfterLegChange": 100.0, - "mBeforeLegChange": 100.0, - "value": 12.3 - }, - "sog": { - "interpMethod": "linear", - "mAfterLegChange": 100.0, - "mBeforeLegChange": 100.0, - "value": 12.3 - } - }, - "position": { - "latitude": 57.2343, - "longitude": 10.3432 - }, - "turnRadius": 500.0 - }, - { - "data": { - "heading": { - "interpMethod": "linear", - "mAfterLegChange": 100.0, - "mBeforeLegChange": 100.0, - "value": 12.3 - }, - "sog": { - "interpMethod": "linear", - "mAfterLegChange": 100.0, - "mBeforeLegChange": 100.0, - "value": 12.3 - } - }, - "position": { - "latitude": 57.2343, - "longitude": 10.3432 - }, - "turnRadius": 500.0 - }, - { - "data": { - "heading": { - "interpMethod": "linear", - "mAfterLegChange": 100.0, - "mBeforeLegChange": 100.0, - "value": 12.3 - }, - "sog": { - "interpMethod": "linear", - "mAfterLegChange": 100.0, - "mBeforeLegChange": 100.0, - "value": 12.3 - } - }, - "position": { - "latitude": 57.2343, - "longitude": 10.3432 - }, - "turnRadius": 500.0 - } - ] - ], - "items": { - "$ref": "#/$defs/Waypoint" - }, - "title": "Route", - "type": "array" - }, - "calculationTime": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Time to calculate new route", - "title": "Calculationtime" - } - }, - "required": [ - "time" - ], - "title": "CagaEvent", - "type": "object" - }, - "CagaTimeFrame": { - "properties": { - "time": { - "anyOf": [ - { - "format": "date-time", - "type": "string" - }, - { - "type": "integer" - } - ], - "description": "Date and Time of the predicted value `ISO 8601` format `YYYY-MM-DDThh:mm:ssZ`", - "examples": [ - "2024-03-14T15:29:40.181746" - ], - "title": "Time" - }, - "targetShips": { - "description": "list of target ships detected by the CAGA system", - "examples": [ - [ - { - "cog": 181.0, - "colregRulesApplied": [ - 12 - ], - "dcpa": 300.0, - "distanceToTarget": 874.0, - "encounterType": "Head-on", - "heading": 182.0, - "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8", - "navStatus": "Under way using engine", - "position": { - "latitude": 57.2343, - "longitude": 10.3432 - }, - "predictions": { - "position": [ - { - "time": "2024-03-14T15:29:40.181837", - "value": { - "latitude": 57.2343, - "longitude": 10.3432 - } - }, - { - "time": "2024-03-14T15:29:40.181851", - "value": { - "latitude": 57.2343, - "longitude": 10.3432 - } - }, - { - "time": "2024-03-14T15:29:40.181859", - "value": { - "latitude": 57.2343, - "longitude": 10.3432 - } - } - ] - }, - "sog": 10.2, - "tcpa": 1200.0 - } - ] - ], - "items": { - "$ref": "#/$defs/DetectedShip" - }, - "title": "Targetships", - "type": "array" - }, - "internalStatus": { - "default": null, - "description": "Dictionary containing additional internal information about the system (health, status..)", - "title": "Internalstatus" - } - }, - "required": [ - "time", - "targetShips" - ], - "title": "CagaTimeFrame", - "type": "object" - }, - "Data": { - "additionalProperties": { - "description": "The 'data' field can include additional properties. All additional properties should be DataPoint objects.", - "properties": { - "value": { - "type": "number" - }, - "mBeforeLegChange": { - "type": "number" - }, - "mAfterLegChange": { - "type": "number" - }, - "interpMethod": { - "type": "string" - } - }, - "required": [ - "value", - "mBeforeLegChange", - "mAfterLegChange", - "interpMethod" - ], - "type": "object" - }, - "properties": { - "sog": { - "anyOf": [ - { - "$ref": "#/$defs/DataPoint" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Speed data point", - "examples": [ - { - "interpMethod": "linear", - "mAfterLegChange": 100.0, - "mBeforeLegChange": 100.0, - "value": 12.3 - } - ] - }, - "heading": { - "anyOf": [ - { - "$ref": "#/$defs/DataPoint" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Heading data point", - "examples": [ - { - "interpMethod": "linear", - "mAfterLegChange": 100.0, - "mBeforeLegChange": 100.0, - "value": 180.0 - } - ] - } - }, - "title": "Data", - "type": "object" - }, - "DataPoint": { - "properties": { - "value": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "default": null, - "description": "the value of the data at the current timestep", - "examples": [ - 12.3 - ], - "title": "Value" - }, - "mBeforeLegChange": { - "default": null, - "description": "meters before the waypoint to start interpolating to the new value", - "examples": [ - 10 - ], - "title": "Mbeforelegchange", - "type": "number" - }, - "mAfterLegChange": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "default": null, - "description": "meters after the waypoint to finish interpolating to the new value", - "examples": [ - 10 - ], - "title": "Mafterlegchange" - }, - "interpMethod": { - "anyOf": [ - { - "$ref": "#/$defs/InterpolationMethod" - }, - { - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Method used for interpolation", - "title": "Interpmethod" - } - }, - "title": "DataPoint", - "type": "object" - }, - "DetectedShip": { - "additionalProperties": true, - "properties": { - "id": { - "description": "Unique Identifier", - "examples": [ - "904854fd-8ab0-4cf6-9bc3-3d54c5773b59" - ], - "format": "uuid", - "title": "Id", - "type": "string" - }, - "position": { - "allOf": [ - { - "$ref": "#/$defs/Position" - } - ], - "description": "A geographical coordinate", - "examples": [ - { - "latitude": 51.2123, - "longitude": 11.2313 - } - ], - "title": "Longitude and Latitude Values" - }, - "sog": { - "description": "Initial ship speed over ground in knots", - "examples": [ - 10.0 - ], - "minimum": 0.0, - "title": "ship speed over ground", - "type": "number" - }, - "cog": { - "description": "Initial ship course over ground in degrees", - "examples": [ - 45.0 - ], - "maximum": 360.0, - "minimum": 0.0, - "title": "ship course over ground", - "type": "number" - }, - "heading": { - "anyOf": [ - { - "maximum": 360.0, - "minimum": 0.0, - "type": "number" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Initial ship heading in degrees", - "examples": [ - 45.2 - ], - "title": "ship heading" - }, - "navStatus": { - "allOf": [ - { - "$ref": "#/$defs/AISNavStatus" - } - ], - "default": null, - "description": "AIS Navigational Status" - }, - "encounterType": { - "anyOf": [ - { - "$ref": "#/$defs/EncounterType" - }, - { - "type": "null" - } - ], - "default": null, - "description": "COLREG encounter type", - "examples": [ - "Overtaking stand-on" - ] - }, - "colregRulesApplied": { - "default": null, - "description": "COLREG rules the system is applying to the vessel. Each item in the list must be of type `int` corresponding to the COLREG rule number", - "examples": [ - [ - 16, - 17 - ] - ], - "items": { - "type": "integer" - }, - "title": "Colregrulesapplied", - "type": "array" - }, - "distanceToTarget": { - "default": null, - "description": "Calculated distance from the own ship to the target vessel", - "examples": [ - 1900.2 - ], - "title": "Distancetotarget", - "type": "number" - }, - "dcpa": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Calculated closest point of approach", - "examples": [ - 100.3 - ], - "title": "Dcpa" - }, - "tcpa": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "default": null, - "description": "calculated time to closest point of approach in seconds", - "examples": [ - 2131 - ], - "title": "Tcpa" - }, - "predictions": { - "additionalProperties": { - "items": { - "$ref": "#/$defs/PredictedPoint" - }, - "type": "array" - }, - "default": null, - "description": "List of predicted future values. This can be used to store data like a predicted path for each target vessel. The `value` field supports both numbers and objects", - "examples": [ - [ - { - "time": "2024-03-14T15:29:40.159886", - "value": { - "latitude": 57.2343, - "longitude": 10.3432 - } - }, - { - "time": "2024-03-14T15:29:40.159945", - "value": { - "latitude": 57.2343, - "longitude": 10.3432 - } - }, - { - "time": "2024-03-14T15:29:40.159969", - "value": { - "latitude": 57.2343, - "longitude": 10.3432 - } - } - ] - ], - "title": "Predictions", - "type": "object" - } - }, - "required": [ - "id", - "position", - "sog", - "cog" - ], - "title": "DetectedShip", - "type": "object" - }, - "EncounterType": { - "enum": [ - "Overtaking stand-on", - "Overtaking give-way", - "Head-on", - "Crossing give-way", - "Crossing stand-on", - "No Risk" - ], - "title": "EncounterType", - "type": "string" - }, - "Environment": { - "properties": { - "airTemperature": { - "default": null, - "description": "The air temperature in degrees Celsius", - "examples": [ - 20.0 - ], - "title": "Airtemperature", - "type": "number" - }, - "waterRemperature": { - "default": null, - "description": "The water temperature in degrees Celsius", - "examples": [ - 15.0 - ], - "title": "Waterremperature", - "type": "number" - }, - "precipitation": { - "allOf": [ - { - "$ref": "#/$defs/PrecipitationType" - } - ], - "default": null, - "description": "The type of precipitation", - "examples": [ - "Rain" - ] - }, - "windSpeed": { - "default": null, - "description": "The wind speed in m/s", - "examples": [ - 10.0 - ], - "title": "Windspeed", - "type": "number" - }, - "windDirection": { - "default": null, - "description": "The wind direction in degrees", - "examples": [ - 180.0 - ], - "title": "Winddirection", - "type": "number" - }, - "currentSpeed": { - "default": null, - "description": "The current speed in m/s", - "examples": [ - 1.0 - ], - "title": "Currentspeed", - "type": "number" - }, - "currentDirection": { - "default": null, - "description": "The current direction in degrees", - "examples": [ - 90.0 - ], - "title": "Currentdirection", - "type": "number" - }, - "waveSpectrum": { - "allOf": [ - { - "$ref": "#/$defs/WaveSpectra" - } - ], - "default": null, - "description": "The wave spectrum", - "examples": [ - "JONSWAP" - ] - }, - "significantWaveHeight": { - "default": null, - "description": "The significant wave height in meters", - "examples": [ - 3.0 - ], - "title": "Significantwaveheight", - "type": "number" - }, - "wavePeriod": { - "default": null, - "description": "The wave period in seconds", - "examples": [ - 12.0 - ], - "title": "Waveperiod", - "type": "number" - }, - "waveDirection": { - "default": null, - "description": "The wave direction in degrees", - "examples": [ - 270.0 - ], - "title": "Wavedirection", - "type": "number" - }, - "visibility": { - "default": null, - "description": "The visibility in nautical miles", - "examples": [ - 5.0 - ], - "title": "Visibility", - "type": "number" - }, - "conditions": { - "allOf": [ - { - "$ref": "#/$defs/WeatherCondition" - } - ], - "default": null, - "description": "The overall weather conditions", - "examples": [ - "Clear" - ] - } - }, - "title": "Environment", - "type": "object" - }, - "GeneralShipType": { - "enum": [ - "Wing in ground", - "Fishing", - "Towing", - "Dredging or underwater ops", - "Diving ops", - "Military ops", - "Sailing", - "Pleasure Craft", - "High speed craft", - "Pilot Vessel", - "Search and Rescue vessel", - "Tug", - "Port Tender", - "Anti-pollution", - "Law Enforcement", - "Medical Transport", - "Noncombatant ship", - "Passenger", - "Cargo", - "Tanker", - "Other Type" - ], - "title": "GeneralShipType", - "type": "string" - }, - "Initial": { - "properties": { - "position": { - "anyOf": [ - { - "$ref": "#/$defs/Position" - }, - { - "type": "null" - } - ], - "default": null, - "description": "A geographical coordinate", - "examples": [ - { - "latitude": 57.2343, - "longitude": 10.3432 - } - ], - "title": "Longitude and Latitude Values" - }, - "sog": { - "anyOf": [ - { - "minimum": 0.0, - "type": "number" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Initial ship speed over ground in knots", - "examples": [ - 10.0 - ], - "title": "Initial ship speed over ground" - }, - "cog": { - "anyOf": [ - { - "maximum": 360.0, - "minimum": 0.0, - "type": "number" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Initial ship course over ground in degrees", - "examples": [ - 45.0 - ], - "title": "Initial ship course over ground" - }, - "heading": { - "anyOf": [ - { - "maximum": 360.0, - "minimum": 0.0, - "type": "number" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Initial ship heading in degrees", - "examples": [ - 45.2 - ], - "title": "Initial ship heading" - }, - "navStatus": { - "anyOf": [ - { - "$ref": "#/$defs/AISNavStatus" - }, - { - "type": "null" - } - ], - "default": null, - "description": "AIS Navigational Status" - } - }, - "title": "Initial", - "type": "object" - }, - "InterpolationMethod": { - "enum": [ - "linear", - "cosine", - "smoothstep", - "accelerate", - "decelerate", - "ordinal" - ], - "title": "InterpolationMethod", - "type": "string" - }, - "OwnShip": { - "properties": { - "static": { - "anyOf": [ - { - "$ref": "#/$defs/ShipStatic" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Static ship information which does not change during a scenario.", - "examples": [ - { - "height": 15.0, - "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8", - "imo": 1000001, - "length": 230.0, - "mmsi": 123456789, - "name": "RMS Titanic", - "shipType": "Fishing", - "width": 30.0 - } - ] - }, - "initial": { - "anyOf": [ - { - "$ref": "#/$defs/Initial" - }, - { - "type": "null" - } - ], - "default": null, - "examples": [ - { - "cog": 284.2, - "heading": 283.1, - "navStatus": "Under way using engine", - "position": { - "latitude": 57.2343, - "longitude": 10.3432 - }, - "sog": 12.3 - } - ], - "title": "Initial own ship Initial" - }, - "waypoints": { - "anyOf": [ - { - "items": { - "$ref": "#/$defs/Waypoint" - }, - "type": "array" - }, - { - "type": "null" - } - ], - "default": null, - "description": "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. This allows varying parameters on a per-leg basis, such as speed and heading, or navigational status ", - "examples": [ - { - "data": { - "heading": { - "interpMethod": "linear", - "mAfterLegChange": 100.0, - "mBeforeLegChange": 100.0, - "value": 12.3 - }, - "sog": { - "interpMethod": "linear", - "mAfterLegChange": 100.0, - "mBeforeLegChange": 100.0, - "value": 12.3 - } - }, - "position": { - "latitude": 57.2343, - "longitude": 10.3432 - }, - "turnRadius": 500.0 - } - ], - "title": "Waypoints" - } - }, - "title": "OwnShip", - "type": "object" - }, - "Position": { - "additionalProperties": true, - "properties": { - "latitude": { - "anyOf": [ - { - "maximum": 90.0, - "minimum": -90.0, - "type": "number" - }, - { - "type": "null" - } - ], - "default": null, - "description": "WGS-84 latitude", - "examples": [ - 51.2131 - ], - "title": "Latitude" - }, - "longitude": { - "anyOf": [ - { - "maximum": 180.0, - "minimum": -180.0, - "type": "number" - }, - { - "type": "null" - } - ], - "default": null, - "description": "WGS-84 longitude", - "examples": [ - 11.2131 - ], - "title": "Longitude" - } - }, - "title": "Position", - "type": "object" - }, - "PrecipitationType": { - "enum": [ - "None", - "Rain", - "Snow", - "Sleet", - "Hail" - ], - "title": "PrecipitationType", - "type": "string" - }, - "PredictedPoint": { - "properties": { - "time": { - "anyOf": [ - { - "format": "date-time", - "type": "string" - }, - { - "type": "integer" - } - ], - "description": "Date and Time of the predicted value `ISO 8601` format `YYYY-MM-DDThh:mm:ssZ`", - "examples": [ - "2024-03-14T15:29:40.150491" - ], - "title": "Time" - }, - "value": { - "anyOf": [ - { - "type": "number" - }, - {} - ], - "description": "Value of the prediction", - "examples": [ - { - "latitude": 57.2343, - "longitude": 10.3432 - }, - 100 - ], - "title": "Value" - } - }, - "required": [ - "time", - "value" - ], - "title": "PredictedPoint", - "type": "object" - }, - "ShipStatic": { - "additionalProperties": true, - "description": "Static ship data that will not change during the scenario.", - "properties": { - "id": { - "description": "Unique Identifier", - "examples": [ - "59352249-4387-4aaa-bb4c-ab767950b373" - ], - "format": "uuid", - "title": "Id", - "type": "string" - }, - "length": { - "anyOf": [ - { - "exclusiveMinimum": 0.0, - "type": "number" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Length of the ship in meters", - "examples": [ - 230.0 - ], - "title": "Length" - }, - "width": { - "anyOf": [ - { - "exclusiveMinimum": 0.0, - "type": "number" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Width of the ship in meters", - "examples": [ - 30.0 - ], - "title": "Width" - }, - "height": { - "anyOf": [ - { - "exclusiveMinimum": 0.0, - "type": "number" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Height of the ship in meters", - "examples": [ - 15.0 - ], - "title": "Height" - }, - "mmsi": { - "anyOf": [ - { - "maximum": 999999999, - "minimum": 100000000, - "type": "integer" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Maritime Mobile Service Identity (MMSI)", - "examples": [ - 123456789 - ], - "title": "Mmsi" - }, - "imo": { - "anyOf": [ - { - "maximum": 9999999, - "minimum": 1000000, - "type": "integer" - }, - { - "type": "null" - } - ], - "default": null, - "description": "IMO Number", - "examples": [ - 1234567 - ], - "title": "Imo" - }, - "name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Ship title", - "examples": [ - "RMS Titanic" - ], - "title": "Name" - }, - "shipType": { - "anyOf": [ - { - "$ref": "#/$defs/GeneralShipType" - }, - { - "type": "null" - } - ], - "default": null, - "description": "General ship type, based on AIS" - } - }, - "required": [ - "id" - ], - "title": "ShipStatic", - "type": "object" - }, - "SimulatedShip": { - "additionalProperties": true, - "properties": { - "id": { - "description": "Unique Identifier", - "examples": [ - "c036828d-2dbe-45eb-929f-fb779d8c9e6a" - ], - "format": "uuid", - "title": "Id", - "type": "string" - }, - "position": { - "allOf": [ - { - "$ref": "#/$defs/Position" - } - ], - "description": "A geographical coordinate", - "examples": [ - { - "latitude": 51.2123, - "longitude": 11.2313 - } - ], - "title": "Longitude and Latitude Values" - }, - "sog": { - "description": "Initial ship speed over ground in knots", - "examples": [ - 10.0 - ], - "minimum": 0.0, - "title": "ship speed over ground", - "type": "number" - }, - "cog": { - "description": "Initial ship course over ground in degrees", - "examples": [ - 45.0 - ], - "maximum": 360.0, - "minimum": 0.0, - "title": "ship course over ground", - "type": "number" - }, - "heading": { - "anyOf": [ - { - "maximum": 360.0, - "minimum": 0.0, - "type": "number" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Initial ship heading in degrees", - "examples": [ - 45.2 - ], - "title": "ship heading" - }, - "navStatus": { - "allOf": [ - { - "$ref": "#/$defs/AISNavStatus" - } - ], - "description": "AIS Navigational Status" - }, - "acceleration": { - "default": null, - "description": "Ship acceleration in `ms^-2`", - "examples": [ - 0.01 - ], - "title": "Acceleration", - "type": "number" - }, - "rateOfTurn": { - "default": null, - "description": "Ship rate of turn in `deg/s`", - "examples": [ - 1.8 - ], - "title": "Rateofturn", - "type": "number" - } - }, - "required": [ - "id", - "position", - "sog", - "cog", - "navStatus" - ], - "title": "SimulatedShip", - "type": "object" - }, - "SimulationData": { - "properties": { - "configuration": { - "allOf": [ - { - "$ref": "#/$defs/SoftwareConfig" - } - ], - "description": "Simulator software configuration", - "examples": [ - { - "name": "AutoNavigation-System 1", - "vendor": "CompanyABC", - "version": "1.2.3" - } - ] - }, - "timeSeriesData": { - "description": "TimeSeries data originating from the Simulator", - "examples": [ - [ - { - "ownShip": { - "acceleration": 0.01, - "cog": 181.0, - "heading": 182.0, - "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8", - "navStatus": "Engaged in fishing", - "position": { - "latitude": 57.2343, - "longitude": 10.3432 - }, - "rateOfTurn": 1.0, - "sog": 10.0 - }, - "targetShips": [ - { - "acceleration": 0.01, - "cog": 181.0, - "heading": 182.0, - "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8", - "navStatus": "Engaged in fishing", - "position": { - "latitude": 57.2343, - "longitude": 10.3432 - }, - "rateOfTurn": 1.0, - "sog": 10.0 - }, - { - "acceleration": 0.01, - "cog": 181.0, - "heading": 182.0, - "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8", - "navStatus": "Engaged in fishing", - "position": { - "latitude": 57.2343, - "longitude": 10.3432 - }, - "rateOfTurn": 1.0, - "sog": 10.0 - } - ], - "time": "2024-03-14T15:29:40.229460" - }, - { - "ownShip": { - "acceleration": 0.01, - "cog": 181.0, - "heading": 182.0, - "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8", - "navStatus": "Engaged in fishing", - "position": { - "latitude": 57.2343, - "longitude": 10.3432 - }, - "rateOfTurn": 1.0, - "sog": 10.0 - }, - "targetShips": [ - { - "acceleration": 0.01, - "cog": 181.0, - "heading": 182.0, - "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8", - "navStatus": "Engaged in fishing", - "position": { - "latitude": 57.2343, - "longitude": 10.3432 - }, - "rateOfTurn": 1.0, - "sog": 10.0 - }, - { - "acceleration": 0.01, - "cog": 181.0, - "heading": 182.0, - "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8", - "navStatus": "Engaged in fishing", - "position": { - "latitude": 57.2343, - "longitude": 10.3432 - }, - "rateOfTurn": 1.0, - "sog": 10.0 - } - ], - "time": "2024-03-14T15:29:40.229630" - } - ] - ], - "items": { - "$ref": "#/$defs/SimulationTimeFrame" - }, - "title": "Timeseriesdata", - "type": "array" - }, - "eventData": { - "default": null, - "description": "Event data from the simulator", - "items": { - "$ref": "#/$defs/SimulatorEvent" - }, - "title": "Eventdata", - "type": "array" - } - }, - "required": [ - "configuration", - "timeSeriesData" - ], - "title": "SimulationData", - "type": "object" - }, - "SimulationTimeFrame": { - "properties": { - "time": { - "anyOf": [ - { - "format": "date-time", - "type": "string" - }, - { - "type": "integer" - } - ], - "description": "Date and Time of the predicted value `ISO 8601` format `YYYY-MM-DDThh:mm:ssZ`", - "examples": [ - "2024-03-14T15:29:40.219147" - ], - "title": "Time" - }, - "ownShip": { - "$ref": "#/$defs/SimulatedShip" - }, - "targetShips": { - "items": { - "$ref": "#/$defs/SimulatedShip" - }, - "title": "Targetships", - "type": "array" - } - }, - "required": [ - "time", - "ownShip", - "targetShips" - ], - "title": "SimulationTimeFrame", - "type": "object" - }, - "SimulatorEvent": { - "additionalProperties": true, - "properties": { - "time": { - "anyOf": [ - { - "format": "date-time", - "type": "string" - }, - { - "type": "integer" - } - ], - "description": "Date and Time of the event", - "examples": [ - "2024-03-14T15:29:40.199655" - ], - "title": "Time" - } - }, - "required": [ - "time" - ], - "title": "SimulatorEvent", - "type": "object" - }, - "SoftwareConfig": { - "additionalProperties": true, - "properties": { - "name": { - "description": "The name of the system", - "examples": [ - "AutoNavigation-System 1" - ], - "title": "Name", - "type": "string" - }, - "version": { - "description": "The software version", - "examples": [ - "1.2.3" - ], - "title": "Version", - "type": "string" - }, - "vendor": { - "description": "The name of the system vendor", - "examples": [ - "CompanyABC" - ], - "title": "Vendor", - "type": "string" - } - }, - "required": [ - "name", - "version", - "vendor" - ], - "title": "SoftwareConfig", - "type": "object" - }, - "TargetShip": { - "properties": { - "static": { - "anyOf": [ - { - "$ref": "#/$defs/ShipStatic" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Static ship information which does not change during a scenario.", - "examples": [ - { - "height": 15.0, - "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8", - "imo": 1000001, - "length": 230.0, - "mmsi": 123456789, - "name": "RMS Titanic", - "shipType": "Fishing", - "width": 30.0 - } - ] - }, - "initial": { - "anyOf": [ - { - "$ref": "#/$defs/Initial" - }, - { - "type": "null" - } - ], - "default": null, - "examples": [ - { - "cog": 284.2, - "heading": 283.1, - "navStatus": "Under way using engine", - "position": { - "latitude": 57.2343, - "longitude": 10.3432 - }, - "sog": 12.3 - } - ], - "title": "Initial own ship Initial" - }, - "waypoints": { - "anyOf": [ - { - "items": { - "$ref": "#/$defs/Waypoint" - }, - "type": "array" - }, - { - "type": "null" - } - ], - "default": null, - "description": "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. This allows varying parameters on a per-leg basis, such as speed and heading, or navigational status ", - "examples": [ - { - "data": { - "heading": { - "interpMethod": "linear", - "mAfterLegChange": 100.0, - "mBeforeLegChange": 100.0, - "value": 12.3 - }, - "sog": { - "interpMethod": "linear", - "mAfterLegChange": 100.0, - "mBeforeLegChange": 100.0, - "value": 12.3 - } - }, - "position": { - "latitude": 57.2343, - "longitude": 10.3432 - }, - "turnRadius": 500.0 - } - ], - "title": "Waypoints" - } - }, - "title": "TargetShip", - "type": "object" - }, - "TrafficSituation": { - "additionalProperties": true, - "omit_default": true, - "properties": { - "title": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "The title of the traffic situation", - "examples": [ - "overtaking_18" - ], - "title": "Title" - }, - "description": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "A description of the traffic situation", - "examples": [ - "Crossing situation with 3 target vessels in the Oslofjord" - ], - "title": "Description" - }, - "startTime": { - "anyOf": [ - { - "format": "date-time", - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Starting time of the situation in `ISO 8601` format `YYYY-MM-DDThh:mm:ssZ`", - "examples": [ - "2024-03-14T15:29:40.119791" - ], - "title": "Situation starting time" - }, - "ownShip": { - "allOf": [ - { - "$ref": "#/$defs/OwnShip" - } - ], - "description": "Own Ship data", - "examples": [ - { - "initial": { - "cog": 284.2, - "heading": 283.1, - "navStatus": "Under way using engine", - "position": { - "latitude": 57.2343, - "longitude": 10.3432 - }, - "sog": 12.3 - }, - "static": { - "height": 15.0, - "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8", - "imo": 1000001, - "length": 230.0, - "mmsi": 123456789, - "name": "RMS Titanic", - "shipType": "Fishing", - "width": 30.0 - }, - "waypoints": [ - { - "data": { - "heading": { - "interpMethod": "linear", - "mAfterLegChange": 100.0, - "mBeforeLegChange": 100.0, - "value": 12.3 - }, - "sog": { - "interpMethod": "linear", - "mAfterLegChange": 100.0, - "mBeforeLegChange": 100.0, - "value": 12.3 - } - }, - "position": { - "latitude": 57.2343, - "longitude": 10.3432 - }, - "turnRadius": 500.0 - } - ] - } - ], - "title": "Own Ship data" - }, - "targetShips": { - "default": null, - "description": "Target Ship data", - "examples": [ - [ - { - "initial": { - "cog": 284.2, - "heading": 283.1, - "navStatus": "Under way using engine", - "position": { - "latitude": 57.2343, - "longitude": 10.3432 - }, - "sog": 12.3 - }, - "static": { - "height": 15.0, - "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8", - "imo": 1000001, - "length": 230.0, - "mmsi": 123456789, - "name": "RMS Titanic", - "shipType": "Fishing", - "width": 30.0 - }, - "waypoints": [ - { - "data": { - "heading": { - "interpMethod": "linear", - "mAfterLegChange": 100.0, - "mBeforeLegChange": 100.0, - "value": 12.3 - }, - "sog": { - "interpMethod": "linear", - "mAfterLegChange": 100.0, - "mBeforeLegChange": 100.0, - "value": 12.3 - } - }, - "position": { - "latitude": 57.2343, - "longitude": 10.3432 - }, - "turnRadius": 500.0 - } - ] - } - ] - ], - "items": { - "$ref": "#/$defs/TargetShip" - }, - "title": "Target Ship data", - "type": "array" - }, - "environment": { - "anyOf": [ - { - "$ref": "#/$defs/Environment" - }, - { - "type": "null" - } - ], - "default": null, - "description": "environmental parameters", - "examples": [ - { - "airTemperature": 20.0, - "conditions": "Clear", - "currentDirection": 90.0, - "currentSpeed": 1.0, - "precipitation": "Rain", - "significantWaveHeight": 3.0, - "visibility": 5.0, - "waterRemperature": 15.0, - "waveDirection": 270.0, - "wavePeriod": 12.0, - "waveSpectrum": "JONSWAP", - "windDirection": 180.0, - "windSpeed": 10.0 - } - ] - } - }, - "required": [ - "ownShip" - ], - "title": "Test Input Schema", - "type": "object" - }, - "WaveSpectra": { - "enum": [ - "JONSWAP", - "Pierson-Moskowitz", - "Bretschneider" - ], - "title": "WaveSpectra", - "type": "string" - }, - "Waypoint": { - "properties": { - "position": { - "allOf": [ - { - "$ref": "#/$defs/Position" - } - ], - "description": "A geographical coordinate", - "examples": [ - { - "latitude": 51.2123, - "longitude": 11.2313 - } - ] - }, - "turnRadius": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Orthodrome turn radius as defined in RTZ format", - "examples": [ - 200 - ], - "title": "Turnradius" - }, - "data": { - "allOf": [ - { - "$ref": "#/$defs/Data" - } - ], - "default": null, - "description": "A `Data` object that includes `speed`, `course`, and `heading` data points" - } - }, - "required": [ - "position" - ], - "title": "Waypoint", - "type": "object" - }, - "WeatherCondition": { - "enum": [ - "Clear", - "Cloudy", - "Foggy", - "Rainy", - "Snowy" - ], - "title": "WeatherCondition", - "type": "string" - } - }, - "additionalProperties": true, - "description": "#### This is a JSON schema for result data originating from Collision and Grounding Avoidance systems", - "properties": { - "creationTime": { - "description": "Date and Time that this file was created, in `ISO 8601` format `YYYY-MM-DDThh:mm:ssZ`. This should be the simulation end time.", - "examples": [ - "2024-03-14T15:29:40.239602" - ], - "format": "date-time", - "title": "Creationtime", - "type": "string" - }, - "trafficSituation": { - "anyOf": [ - { - "$ref": "#/$defs/TrafficSituation" - }, - { - "type": "null" - } - ], - "default": null, - "description": "The traffic situation that was simulated (input file). This should remain unmofidied." - }, - "cagaData": { - "anyOf": [ - { - "$ref": "#/$defs/CagaData" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Data generated by the system under test (auto-navigation / collision and grounding avoidance system) during the scenario.", - "examples": [ - { - "configuration": { - "name": "AutoNavigation-System 1", - "vendor": "CompanyABC", - "vendorAutomaticManoeuverAcceptanceTime": 7.0, - "vendorCriticalTcpa": 1000.0, - "vendorManoeuverDelay": 20.0, - "vendorMinimumDistanceToTargets": 100.0, - "vendorSafetyDepth": 20.0, - "version": "1.2.3" - }, - "eventData": [ - { - "calculationTime": 1.242, - "route": [ - { - "data": { - "heading": { - "interpMethod": "linear", - "mAfterLegChange": 100.0, - "mBeforeLegChange": 100.0, - "value": 12.3 - }, - "sog": { - "interpMethod": "linear", - "mAfterLegChange": 100.0, - "mBeforeLegChange": 100.0, - "value": 12.3 - } - }, - "position": { - "latitude": 57.2343, - "longitude": 10.3432 - }, - "turnRadius": 500.0 - }, - { - "data": { - "heading": { - "interpMethod": "linear", - "mAfterLegChange": 100.0, - "mBeforeLegChange": 100.0, - "value": 12.3 - }, - "sog": { - "interpMethod": "linear", - "mAfterLegChange": 100.0, - "mBeforeLegChange": 100.0, - "value": 12.3 - } - }, - "position": { - "latitude": 57.2343, - "longitude": 10.3432 - }, - "turnRadius": 500.0 - }, - { - "data": { - "heading": { - "interpMethod": "linear", - "mAfterLegChange": 100.0, - "mBeforeLegChange": 100.0, - "value": 12.3 - }, - "sog": { - "interpMethod": "linear", - "mAfterLegChange": 100.0, - "mBeforeLegChange": 100.0, - "value": 12.3 - } - }, - "position": { - "latitude": 57.2343, - "longitude": 10.3432 - }, - "turnRadius": 500.0 - } - ], - "time": "2024-03-14T15:29:40.239867" - } - ], - "timeSeriesData": [ - { - "internalStatus": null, - "targetShips": [ - { - "cog": 181.0, - "colregRulesApplied": [ - 12 - ], - "dcpa": 300.0, - "distanceToTarget": 874.0, - "encounterType": "Head-on", - "heading": 182.0, - "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8", - "navStatus": "Under way using engine", - "position": { - "latitude": 57.2343, - "longitude": 10.3432 - }, - "predictions": { - "position": [ - { - "time": "2024-03-14T15:29:40.239809", - "value": { - "latitude": 57.2343, - "longitude": 10.3432 - } - }, - { - "time": "2024-03-14T15:29:40.239823", - "value": { - "latitude": 57.2343, - "longitude": 10.3432 - } - }, - { - "time": "2024-03-14T15:29:40.239832", - "value": { - "latitude": 57.2343, - "longitude": 10.3432 - } - } - ] - }, - "sog": 10.2, - "tcpa": 1200.0 - } - ], - "time": "2024-03-14T15:29:40.239777" - } - ] - } - ] - }, - "simulationData": { - "anyOf": [ - { - "$ref": "#/$defs/SimulationData" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Data generated by the simulator duirng the scenario", - "examples": [ - { - "configuration": { - "name": "AutoNavigation-System 1", - "vendor": "CompanyABC", - "version": "1.2.3" - }, - "eventData": [], - "timeSeriesData": [ - { - "ownShip": { - "acceleration": 0.01, - "cog": 181.0, - "heading": 182.0, - "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8", - "navStatus": "Engaged in fishing", - "position": { - "latitude": 57.2343, - "longitude": 10.3432 - }, - "rateOfTurn": 1.0, - "sog": 10.0 - }, - "targetShips": [ - { - "acceleration": 0.01, - "cog": 181.0, - "heading": 182.0, - "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8", - "navStatus": "Engaged in fishing", - "position": { - "latitude": 57.2343, - "longitude": 10.3432 - }, - "rateOfTurn": 1.0, - "sog": 10.0 - }, - { - "acceleration": 0.01, - "cog": 181.0, - "heading": 182.0, - "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8", - "navStatus": "Engaged in fishing", - "position": { - "latitude": 57.2343, - "longitude": 10.3432 - }, - "rateOfTurn": 1.0, - "sog": 10.0 - } - ], - "time": "2024-03-14T15:29:40.240033" - }, - { - "ownShip": { - "acceleration": 0.01, - "cog": 181.0, - "heading": 182.0, - "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8", - "navStatus": "Engaged in fishing", - "position": { - "latitude": 57.2343, - "longitude": 10.3432 - }, - "rateOfTurn": 1.0, - "sog": 10.0 - }, - "targetShips": [ - { - "acceleration": 0.01, - "cog": 181.0, - "heading": 182.0, - "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8", - "navStatus": "Engaged in fishing", - "position": { - "latitude": 57.2343, - "longitude": 10.3432 - }, - "rateOfTurn": 1.0, - "sog": 10.0 - }, - { - "acceleration": 0.01, - "cog": 181.0, - "heading": 182.0, - "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8", - "navStatus": "Engaged in fishing", - "position": { - "latitude": 57.2343, - "longitude": 10.3432 - }, - "rateOfTurn": 1.0, - "sog": 10.0 - } - ], - "time": "2024-03-14T15:29:40.240089" - } - ] - } - ] - } - }, - "required": [ - "creationTime" - ], - "title": "Test Output Schema", - "type": "object" +{ + "$defs": { + "AISNavStatus": { + "enum": [ + "Under way using engine", + "At anchor", + "Not under command", + "Restricted manoeuverability", + "Constrained by her draught", + "Moored", + "Aground", + "Engaged in fishing", + "Under way sailing", + "Reserved for future amendment of navigational status for HSC", + "Reserved for future amendment of navigational status for WIG", + "Reserved for future use 1", + "Reserved for future use 2", + "Reserved for future use 3", + "AIS SART is active", + "Not defined (default)" + ], + "title": "AISNavStatus", + "type": "string" + }, + "CagaConfiguration": { + "additionalProperties": true, + "properties": { + "name": { + "description": "The name of the system", + "examples": [ + "AutoNavigation-System 1" + ], + "title": "Name", + "type": "string" + }, + "version": { + "description": "The software version", + "examples": [ + "1.2.3" + ], + "title": "Version", + "type": "string" + }, + "vendor": { + "description": "The name of the system vendor", + "examples": [ + "CompanyABC" + ], + "title": "Vendor", + "type": "string" + }, + "vendorMinimumDistanceToTargets": { + "default": null, + "description": "Minimum distance in meters that the system will keep to other Vessels", + "examples": [ + 100 + ], + "title": "Vendorminimumdistancetotargets", + "type": "number" + }, + "vendorCriticalTcpa": { + "default": null, + "description": "If the projected CPA is less than minimumDistanceToTargets, and TCPA falls below criticalTCPA, a new manoeuver should be calculated", + "examples": [ + 1000 + ], + "title": "Vendorcriticaltcpa", + "type": "number" + }, + "vendorManoeuverDelay": { + "default": null, + "description": "Time given in seconds to the navigator / system, before the proposed manoeuver is no longer able to be excecuted", + "examples": [ + 20 + ], + "title": "Vendormanoeuverdelay", + "type": "number" + }, + "vendorSafetyDepth": { + "default": null, + "description": "Minimum safety depth", + "examples": [ + 30 + ], + "title": "Vendorsafetydepth", + "type": "number" + }, + "vendorAutomaticManoeuverAcceptanceTime": { + "default": null, + "description": "If automatic maneuver acceptance is enabled, the new route will be activated after a specified number of seconds", + "examples": [ + 20 + ], + "title": "Vendorautomaticmanoeuveracceptancetime", + "type": "number" + } + }, + "required": [ + "name", + "version", + "vendor" + ], + "title": "CagaConfiguration", + "type": "object" + }, + "CagaData": { + "properties": { + "configuration": { + "allOf": [ + { + "$ref": "#/$defs/CagaConfiguration" + } + ], + "description": "System Configuration", + "examples": [ + { + "name": "AutoNavigation-System 1", + "vendor": "CompanyABC", + "vendorAutomaticManoeuverAcceptanceTime": 7.0, + "vendorCriticalTcpa": 1000.0, + "vendorManoeuverDelay": 20.0, + "vendorMinimumDistanceToTargets": 100.0, + "vendorSafetyDepth": 20.0, + "version": "1.2.3" + } + ] + }, + "timeSeriesData": { + "description": "Time series data from the system", + "examples": [ + [ + { + "internalStatus": null, + "targetShips": [ + { + "cog": 181.0, + "colregRulesApplied": [ + 12 + ], + "dcpa": 300.0, + "distanceToTarget": 874.0, + "encounterType": "Head-on", + "heading": 182.0, + "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8", + "navStatus": "Under way using engine", + "position": { + "latitude": 57.2343, + "longitude": 10.3432 + }, + "predictions": { + "position": [ + { + "time": "2024-03-22T13:57:23.747932", + "value": { + "latitude": 57.2343, + "longitude": 10.3432 + } + }, + { + "time": "2024-03-22T13:57:23.747932", + "value": { + "latitude": 57.2343, + "longitude": 10.3432 + } + }, + { + "time": "2024-03-22T13:57:23.747932", + "value": { + "latitude": 57.2343, + "longitude": 10.3432 + } + } + ] + }, + "sog": 10.2, + "tcpa": 1200.0 + } + ], + "time": "2024-03-22T13:57:23.747932" + } + ] + ], + "items": { + "$ref": "#/$defs/CagaTimeFrame" + }, + "title": "Timeseriesdata", + "type": "array" + }, + "eventData": { + "default": null, + "description": "Event data from the system", + "examples": [ + [ + { + "calculationTime": 1.242, + "route": [ + { + "data": { + "heading": { + "interpMethod": "linear", + "mAfterLegChange": 100.0, + "mBeforeLegChange": 100.0, + "value": 12.3 + }, + "sog": { + "interpMethod": "linear", + "mAfterLegChange": 100.0, + "mBeforeLegChange": 100.0, + "value": 12.3 + } + }, + "position": { + "latitude": 57.2343, + "longitude": 10.3432 + }, + "turnRadius": 500.0 + }, + { + "data": { + "heading": { + "interpMethod": "linear", + "mAfterLegChange": 100.0, + "mBeforeLegChange": 100.0, + "value": 12.3 + }, + "sog": { + "interpMethod": "linear", + "mAfterLegChange": 100.0, + "mBeforeLegChange": 100.0, + "value": 12.3 + } + }, + "position": { + "latitude": 57.2343, + "longitude": 10.3432 + }, + "turnRadius": 500.0 + }, + { + "data": { + "heading": { + "interpMethod": "linear", + "mAfterLegChange": 100.0, + "mBeforeLegChange": 100.0, + "value": 12.3 + }, + "sog": { + "interpMethod": "linear", + "mAfterLegChange": 100.0, + "mBeforeLegChange": 100.0, + "value": 12.3 + } + }, + "position": { + "latitude": 57.2343, + "longitude": 10.3432 + }, + "turnRadius": 500.0 + } + ], + "time": "2024-03-22T13:57:23.747932" + } + ] + ], + "items": { + "$ref": "#/$defs/CagaEvent" + }, + "title": "Eventdata", + "type": "array" + } + }, + "required": [ + "configuration", + "timeSeriesData" + ], + "title": "CagaData", + "type": "object" + }, + "CagaEvent": { + "additionalProperties": true, + "properties": { + "time": { + "anyOf": [ + { + "format": "date-time", + "type": "string" + }, + { + "type": "integer" + } + ], + "description": "Date and Time of the event", + "examples": [ + "2024-03-22T13:57:23.747932" + ], + "title": "Time" + }, + "route": { + "default": null, + "description": "Planned CAGA Route", + "examples": [ + [ + { + "data": { + "heading": { + "interpMethod": "linear", + "mAfterLegChange": 100.0, + "mBeforeLegChange": 100.0, + "value": 12.3 + }, + "sog": { + "interpMethod": "linear", + "mAfterLegChange": 100.0, + "mBeforeLegChange": 100.0, + "value": 12.3 + } + }, + "position": { + "latitude": 57.2343, + "longitude": 10.3432 + }, + "turnRadius": 500.0 + }, + { + "data": { + "heading": { + "interpMethod": "linear", + "mAfterLegChange": 100.0, + "mBeforeLegChange": 100.0, + "value": 12.3 + }, + "sog": { + "interpMethod": "linear", + "mAfterLegChange": 100.0, + "mBeforeLegChange": 100.0, + "value": 12.3 + } + }, + "position": { + "latitude": 57.2343, + "longitude": 10.3432 + }, + "turnRadius": 500.0 + }, + { + "data": { + "heading": { + "interpMethod": "linear", + "mAfterLegChange": 100.0, + "mBeforeLegChange": 100.0, + "value": 12.3 + }, + "sog": { + "interpMethod": "linear", + "mAfterLegChange": 100.0, + "mBeforeLegChange": 100.0, + "value": 12.3 + } + }, + "position": { + "latitude": 57.2343, + "longitude": 10.3432 + }, + "turnRadius": 500.0 + } + ] + ], + "items": { + "$ref": "#/$defs/Waypoint" + }, + "title": "Route", + "type": "array" + }, + "calculationTime": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Time to calculate new route", + "title": "Calculationtime" + } + }, + "required": [ + "time" + ], + "title": "CagaEvent", + "type": "object" + }, + "CagaTimeFrame": { + "properties": { + "time": { + "anyOf": [ + { + "format": "date-time", + "type": "string" + }, + { + "type": "integer" + } + ], + "description": "Date and Time of the predicted value `ISO 8601` format `YYYY-MM-DDThh:mm:ssZ`", + "examples": [ + "2024-03-22T13:57:23.747932" + ], + "title": "Time" + }, + "targetShips": { + "description": "list of target ships detected by the CAGA system", + "examples": [ + [ + { + "cog": 181.0, + "colregRulesApplied": [ + 12 + ], + "dcpa": 300.0, + "distanceToTarget": 874.0, + "encounterType": "Head-on", + "heading": 182.0, + "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8", + "navStatus": "Under way using engine", + "position": { + "latitude": 57.2343, + "longitude": 10.3432 + }, + "predictions": { + "position": [ + { + "time": "2024-03-22T13:57:23.747932", + "value": { + "latitude": 57.2343, + "longitude": 10.3432 + } + }, + { + "time": "2024-03-22T13:57:23.747932", + "value": { + "latitude": 57.2343, + "longitude": 10.3432 + } + }, + { + "time": "2024-03-22T13:57:23.747932", + "value": { + "latitude": 57.2343, + "longitude": 10.3432 + } + } + ] + }, + "sog": 10.2, + "tcpa": 1200.0 + } + ] + ], + "items": { + "$ref": "#/$defs/DetectedShip" + }, + "title": "Targetships", + "type": "array" + }, + "internalStatus": { + "default": null, + "description": "Dictionary containing additional internal information about the system (health, status..)", + "title": "Internalstatus" + } + }, + "required": [ + "time", + "targetShips" + ], + "title": "CagaTimeFrame", + "type": "object" + }, + "Data": { + "additionalProperties": { + "description": "The 'data' field can include additional properties. All additional properties should be DataPoint objects.", + "properties": { + "value": { + "type": "number" + }, + "mBeforeLegChange": { + "type": "number" + }, + "mAfterLegChange": { + "type": "number" + }, + "interpMethod": { + "type": "string" + } + }, + "required": [ + "value", + "mBeforeLegChange", + "mAfterLegChange", + "interpMethod" + ], + "type": "object" + }, + "properties": { + "sog": { + "anyOf": [ + { + "$ref": "#/$defs/DataPoint" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Speed data point", + "examples": [ + { + "interpMethod": "linear", + "mAfterLegChange": 100.0, + "mBeforeLegChange": 100.0, + "value": 12.3 + } + ] + }, + "heading": { + "anyOf": [ + { + "$ref": "#/$defs/DataPoint" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Heading data point", + "examples": [ + { + "interpMethod": "linear", + "mAfterLegChange": 100.0, + "mBeforeLegChange": 100.0, + "value": 180.0 + } + ] + } + }, + "title": "Data", + "type": "object" + }, + "DataPoint": { + "properties": { + "value": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "default": null, + "description": "the value of the data at the current timestep", + "examples": [ + 12.3 + ], + "title": "Value" + }, + "mBeforeLegChange": { + "default": null, + "description": "meters before the waypoint to start interpolating to the new value", + "examples": [ + 10 + ], + "title": "Mbeforelegchange", + "type": "number" + }, + "mAfterLegChange": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "default": null, + "description": "meters after the waypoint to finish interpolating to the new value", + "examples": [ + 10 + ], + "title": "Mafterlegchange" + }, + "interpMethod": { + "anyOf": [ + { + "$ref": "#/$defs/InterpolationMethod" + }, + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Method used for interpolation", + "title": "Interpmethod" + } + }, + "title": "DataPoint", + "type": "object" + }, + "DetectedShip": { + "additionalProperties": true, + "properties": { + "id": { + "description": "Unique Identifier", + "examples": [ + "180a7ec6-e0c2-473b-b764-f8a7ccc68f58" + ], + "format": "uuid", + "title": "Id", + "type": "string" + }, + "position": { + "allOf": [ + { + "$ref": "#/$defs/Position" + } + ], + "description": "A geographical coordinate", + "examples": [ + { + "latitude": 51.2123, + "longitude": 11.2313 + } + ], + "title": "Longitude and Latitude Values" + }, + "sog": { + "description": "Initial ship speed over ground in knots", + "examples": [ + 10.0 + ], + "minimum": 0.0, + "title": "ship speed over ground", + "type": "number" + }, + "cog": { + "description": "Initial ship course over ground in degrees", + "examples": [ + 45.0 + ], + "maximum": 360.0, + "minimum": 0.0, + "title": "ship course over ground", + "type": "number" + }, + "heading": { + "anyOf": [ + { + "maximum": 360.0, + "minimum": 0.0, + "type": "number" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Initial ship heading in degrees", + "examples": [ + 45.2 + ], + "title": "ship heading" + }, + "navStatus": { + "allOf": [ + { + "$ref": "#/$defs/AISNavStatus" + } + ], + "default": null, + "description": "AIS Navigational Status" + }, + "encounterType": { + "anyOf": [ + { + "$ref": "#/$defs/EncounterType" + }, + { + "type": "null" + } + ], + "default": null, + "description": "COLREG encounter type", + "examples": [ + "Overtaking stand-on" + ] + }, + "colregRulesApplied": { + "default": null, + "description": "COLREG rules the system is applying to the vessel. Each item in the list must be of type `int` corresponding to the COLREG rule number", + "examples": [ + [ + 16, + 17 + ] + ], + "items": { + "type": "integer" + }, + "title": "Colregrulesapplied", + "type": "array" + }, + "distanceToTarget": { + "default": null, + "description": "Calculated distance from the own ship to the target vessel", + "examples": [ + 1900.2 + ], + "title": "Distancetotarget", + "type": "number" + }, + "dcpa": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Calculated closest point of approach", + "examples": [ + 100.3 + ], + "title": "Dcpa" + }, + "tcpa": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "default": null, + "description": "calculated time to closest point of approach in seconds", + "examples": [ + 2131 + ], + "title": "Tcpa" + }, + "predictions": { + "additionalProperties": { + "items": { + "$ref": "#/$defs/PredictedPoint" + }, + "type": "array" + }, + "default": null, + "description": "List of predicted future values. This can be used to store data like a predicted path for each target vessel. The `value` field supports both numbers and objects", + "examples": [ + [ + { + "time": "2024-03-22T13:57:23.747932", + "value": { + "latitude": 57.2343, + "longitude": 10.3432 + } + }, + { + "time": "2024-03-22T13:57:23.747932", + "value": { + "latitude": 57.2343, + "longitude": 10.3432 + } + }, + { + "time": "2024-03-22T13:57:23.747932", + "value": { + "latitude": 57.2343, + "longitude": 10.3432 + } + } + ] + ], + "title": "Predictions", + "type": "object" + } + }, + "required": [ + "id", + "position", + "sog", + "cog" + ], + "title": "DetectedShip", + "type": "object" + }, + "EncounterType": { + "enum": [ + "Overtaking stand-on", + "Overtaking give-way", + "Head-on", + "Crossing give-way", + "Crossing stand-on", + "No Risk" + ], + "title": "EncounterType", + "type": "string" + }, + "Environment": { + "properties": { + "airTemperature": { + "default": null, + "description": "The air temperature in degrees Celsius", + "examples": [ + 20.0 + ], + "title": "Airtemperature", + "type": "number" + }, + "waterRemperature": { + "default": null, + "description": "The water temperature in degrees Celsius", + "examples": [ + 15.0 + ], + "title": "Waterremperature", + "type": "number" + }, + "precipitation": { + "allOf": [ + { + "$ref": "#/$defs/PrecipitationType" + } + ], + "default": null, + "description": "The type of precipitation", + "examples": [ + "Rain" + ] + }, + "windSpeed": { + "default": null, + "description": "The wind speed in m/s", + "examples": [ + 10.0 + ], + "title": "Windspeed", + "type": "number" + }, + "windDirection": { + "default": null, + "description": "The wind direction in degrees", + "examples": [ + 180.0 + ], + "title": "Winddirection", + "type": "number" + }, + "currentSpeed": { + "default": null, + "description": "The current speed in m/s", + "examples": [ + 1.0 + ], + "title": "Currentspeed", + "type": "number" + }, + "currentDirection": { + "default": null, + "description": "The current direction in degrees", + "examples": [ + 90.0 + ], + "title": "Currentdirection", + "type": "number" + }, + "waveSpectrum": { + "allOf": [ + { + "$ref": "#/$defs/WaveSpectra" + } + ], + "default": null, + "description": "The wave spectrum", + "examples": [ + "JONSWAP" + ] + }, + "significantWaveHeight": { + "default": null, + "description": "The significant wave height in meters", + "examples": [ + 3.0 + ], + "title": "Significantwaveheight", + "type": "number" + }, + "wavePeriod": { + "default": null, + "description": "The wave period in seconds", + "examples": [ + 12.0 + ], + "title": "Waveperiod", + "type": "number" + }, + "waveDirection": { + "default": null, + "description": "The wave direction in degrees", + "examples": [ + 270.0 + ], + "title": "Wavedirection", + "type": "number" + }, + "visibility": { + "default": null, + "description": "The visibility in nautical miles", + "examples": [ + 5.0 + ], + "title": "Visibility", + "type": "number" + }, + "conditions": { + "allOf": [ + { + "$ref": "#/$defs/WeatherCondition" + } + ], + "default": null, + "description": "The overall weather conditions", + "examples": [ + "Clear" + ] + } + }, + "title": "Environment", + "type": "object" + }, + "GeneralShipType": { + "enum": [ + "Wing in ground", + "Fishing", + "Towing", + "Dredging or underwater ops", + "Diving ops", + "Military ops", + "Sailing", + "Pleasure Craft", + "High speed craft", + "Pilot Vessel", + "Search and Rescue vessel", + "Tug", + "Port Tender", + "Anti-pollution", + "Law Enforcement", + "Medical Transport", + "Noncombatant ship", + "Passenger", + "Cargo", + "Tanker", + "Other Type" + ], + "title": "GeneralShipType", + "type": "string" + }, + "Initial": { + "properties": { + "position": { + "anyOf": [ + { + "$ref": "#/$defs/Position" + }, + { + "type": "null" + } + ], + "default": null, + "description": "A geographical coordinate", + "examples": [ + { + "latitude": 57.2343, + "longitude": 10.3432 + } + ], + "title": "Longitude and Latitude Values" + }, + "sog": { + "anyOf": [ + { + "minimum": 0.0, + "type": "number" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Initial ship speed over ground in knots", + "examples": [ + 10.0 + ], + "title": "Initial ship speed over ground" + }, + "cog": { + "anyOf": [ + { + "maximum": 360.0, + "minimum": 0.0, + "type": "number" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Initial ship course over ground in degrees", + "examples": [ + 45.0 + ], + "title": "Initial ship course over ground" + }, + "heading": { + "anyOf": [ + { + "maximum": 360.0, + "minimum": 0.0, + "type": "number" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Initial ship heading in degrees", + "examples": [ + 45.2 + ], + "title": "Initial ship heading" + }, + "navStatus": { + "anyOf": [ + { + "$ref": "#/$defs/AISNavStatus" + }, + { + "type": "null" + } + ], + "default": null, + "description": "AIS Navigational Status" + } + }, + "title": "Initial", + "type": "object" + }, + "InterpolationMethod": { + "enum": [ + "linear", + "cosine", + "smoothstep", + "accelerate", + "decelerate", + "ordinal" + ], + "title": "InterpolationMethod", + "type": "string" + }, + "OwnShip": { + "properties": { + "static": { + "anyOf": [ + { + "$ref": "#/$defs/ShipStatic" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Static ship information which does not change during a scenario.", + "examples": [ + { + "height": 15.0, + "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8", + "imo": 1000001, + "length": 230.0, + "mmsi": 123456789, + "name": "RMS Titanic", + "shipType": "Fishing", + "width": 30.0 + } + ] + }, + "initial": { + "anyOf": [ + { + "$ref": "#/$defs/Initial" + }, + { + "type": "null" + } + ], + "default": null, + "examples": [ + { + "cog": 284.2, + "heading": 283.1, + "navStatus": "Under way using engine", + "position": { + "latitude": 57.2343, + "longitude": 10.3432 + }, + "sog": 12.3 + } + ], + "title": "Initial own ship Initial" + }, + "waypoints": { + "anyOf": [ + { + "items": { + "$ref": "#/$defs/Waypoint" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null, + "description": "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. This allows varying parameters on a per-leg basis, such as speed and heading, or navigational status ", + "examples": [ + { + "data": { + "heading": { + "interpMethod": "linear", + "mAfterLegChange": 100.0, + "mBeforeLegChange": 100.0, + "value": 12.3 + }, + "sog": { + "interpMethod": "linear", + "mAfterLegChange": 100.0, + "mBeforeLegChange": 100.0, + "value": 12.3 + } + }, + "position": { + "latitude": 57.2343, + "longitude": 10.3432 + }, + "turnRadius": 500.0 + } + ], + "title": "Waypoints" + } + }, + "title": "OwnShip", + "type": "object" + }, + "Position": { + "additionalProperties": true, + "properties": { + "latitude": { + "anyOf": [ + { + "maximum": 90.0, + "minimum": -90.0, + "type": "number" + }, + { + "type": "null" + } + ], + "default": null, + "description": "WGS-84 latitude", + "examples": [ + 51.2131 + ], + "title": "Latitude" + }, + "longitude": { + "anyOf": [ + { + "maximum": 180.0, + "minimum": -180.0, + "type": "number" + }, + { + "type": "null" + } + ], + "default": null, + "description": "WGS-84 longitude", + "examples": [ + 11.2131 + ], + "title": "Longitude" + } + }, + "title": "Position", + "type": "object" + }, + "PrecipitationType": { + "enum": [ + "None", + "Rain", + "Snow", + "Sleet", + "Hail" + ], + "title": "PrecipitationType", + "type": "string" + }, + "PredictedPoint": { + "properties": { + "time": { + "anyOf": [ + { + "format": "date-time", + "type": "string" + }, + { + "type": "integer" + } + ], + "description": "Date and Time of the predicted value `ISO 8601` format `YYYY-MM-DDThh:mm:ssZ`", + "examples": [ + "2024-03-22T13:57:23.747932" + ], + "title": "Time" + }, + "value": { + "anyOf": [ + { + "type": "number" + }, + {} + ], + "description": "Value of the prediction", + "examples": [ + { + "latitude": 57.2343, + "longitude": 10.3432 + }, + 100 + ], + "title": "Value" + } + }, + "required": [ + "time", + "value" + ], + "title": "PredictedPoint", + "type": "object" + }, + "ShipStatic": { + "additionalProperties": true, + "description": "Static ship data that will not change during the scenario.", + "properties": { + "id": { + "description": "Unique Identifier", + "examples": [ + "bc4f51b6-316d-4d5d-921d-0979eb1fb0a1" + ], + "format": "uuid", + "title": "Id", + "type": "string" + }, + "length": { + "anyOf": [ + { + "exclusiveMinimum": 0.0, + "type": "number" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Length of the ship in meters", + "examples": [ + 230.0 + ], + "title": "Length" + }, + "width": { + "anyOf": [ + { + "exclusiveMinimum": 0.0, + "type": "number" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Width of the ship in meters", + "examples": [ + 30.0 + ], + "title": "Width" + }, + "height": { + "anyOf": [ + { + "exclusiveMinimum": 0.0, + "type": "number" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Height of the ship in meters", + "examples": [ + 15.0 + ], + "title": "Height" + }, + "mmsi": { + "anyOf": [ + { + "maximum": 999999999, + "minimum": 100000000, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Maritime Mobile Service Identity (MMSI)", + "examples": [ + 123456789 + ], + "title": "Mmsi" + }, + "imo": { + "anyOf": [ + { + "maximum": 9999999, + "minimum": 1000000, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, + "description": "IMO Number", + "examples": [ + 1234567 + ], + "title": "Imo" + }, + "name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Ship title", + "examples": [ + "RMS Titanic" + ], + "title": "Name" + }, + "shipType": { + "anyOf": [ + { + "$ref": "#/$defs/GeneralShipType" + }, + { + "type": "null" + } + ], + "default": null, + "description": "General ship type, based on AIS" + } + }, + "required": [ + "id" + ], + "title": "ShipStatic", + "type": "object" + }, + "SimulatedShip": { + "additionalProperties": true, + "properties": { + "id": { + "description": "Unique Identifier", + "examples": [ + "40cfe9f5-a131-491d-9752-223f490ce183" + ], + "format": "uuid", + "title": "Id", + "type": "string" + }, + "position": { + "allOf": [ + { + "$ref": "#/$defs/Position" + } + ], + "description": "A geographical coordinate", + "examples": [ + { + "latitude": 51.2123, + "longitude": 11.2313 + } + ], + "title": "Longitude and Latitude Values" + }, + "sog": { + "description": "Initial ship speed over ground in knots", + "examples": [ + 10.0 + ], + "minimum": 0.0, + "title": "ship speed over ground", + "type": "number" + }, + "cog": { + "description": "Initial ship course over ground in degrees", + "examples": [ + 45.0 + ], + "maximum": 360.0, + "minimum": 0.0, + "title": "ship course over ground", + "type": "number" + }, + "heading": { + "anyOf": [ + { + "maximum": 360.0, + "minimum": 0.0, + "type": "number" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Initial ship heading in degrees", + "examples": [ + 45.2 + ], + "title": "ship heading" + }, + "navStatus": { + "allOf": [ + { + "$ref": "#/$defs/AISNavStatus" + } + ], + "description": "AIS Navigational Status" + }, + "acceleration": { + "default": null, + "description": "Ship acceleration in `ms^-2`", + "examples": [ + 0.01 + ], + "title": "Acceleration", + "type": "number" + }, + "rateOfTurn": { + "default": null, + "description": "Ship rate of turn in `deg/s`", + "examples": [ + 1.8 + ], + "title": "Rateofturn", + "type": "number" + } + }, + "required": [ + "id", + "position", + "sog", + "cog", + "navStatus" + ], + "title": "SimulatedShip", + "type": "object" + }, + "SimulationData": { + "properties": { + "configuration": { + "allOf": [ + { + "$ref": "#/$defs/SoftwareConfig" + } + ], + "description": "Simulator software configuration", + "examples": [ + { + "name": "AutoNavigation-System 1", + "vendor": "CompanyABC", + "version": "1.2.3" + } + ] + }, + "timeSeriesData": { + "description": "TimeSeries data originating from the Simulator", + "examples": [ + [ + { + "ownShip": { + "acceleration": 0.01, + "cog": 181.0, + "heading": 182.0, + "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8", + "navStatus": "Engaged in fishing", + "position": { + "latitude": 57.2343, + "longitude": 10.3432 + }, + "rateOfTurn": 1.0, + "sog": 10.0 + }, + "targetShips": [ + { + "acceleration": 0.01, + "cog": 181.0, + "heading": 182.0, + "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8", + "navStatus": "Engaged in fishing", + "position": { + "latitude": 57.2343, + "longitude": 10.3432 + }, + "rateOfTurn": 1.0, + "sog": 10.0 + }, + { + "acceleration": 0.01, + "cog": 181.0, + "heading": 182.0, + "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8", + "navStatus": "Engaged in fishing", + "position": { + "latitude": 57.2343, + "longitude": 10.3432 + }, + "rateOfTurn": 1.0, + "sog": 10.0 + } + ], + "time": "2024-03-22T13:57:23.747932" + }, + { + "ownShip": { + "acceleration": 0.01, + "cog": 181.0, + "heading": 182.0, + "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8", + "navStatus": "Engaged in fishing", + "position": { + "latitude": 57.2343, + "longitude": 10.3432 + }, + "rateOfTurn": 1.0, + "sog": 10.0 + }, + "targetShips": [ + { + "acceleration": 0.01, + "cog": 181.0, + "heading": 182.0, + "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8", + "navStatus": "Engaged in fishing", + "position": { + "latitude": 57.2343, + "longitude": 10.3432 + }, + "rateOfTurn": 1.0, + "sog": 10.0 + }, + { + "acceleration": 0.01, + "cog": 181.0, + "heading": 182.0, + "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8", + "navStatus": "Engaged in fishing", + "position": { + "latitude": 57.2343, + "longitude": 10.3432 + }, + "rateOfTurn": 1.0, + "sog": 10.0 + } + ], + "time": "2024-03-22T13:57:23.747932" + } + ] + ], + "items": { + "$ref": "#/$defs/SimulationTimeFrame" + }, + "title": "Timeseriesdata", + "type": "array" + }, + "eventData": { + "default": null, + "description": "Event data from the simulator", + "items": { + "$ref": "#/$defs/SimulatorEvent" + }, + "title": "Eventdata", + "type": "array" + } + }, + "required": [ + "configuration", + "timeSeriesData" + ], + "title": "SimulationData", + "type": "object" + }, + "SimulationTimeFrame": { + "properties": { + "time": { + "anyOf": [ + { + "format": "date-time", + "type": "string" + }, + { + "type": "integer" + } + ], + "description": "Date and Time of the predicted value `ISO 8601` format `YYYY-MM-DDThh:mm:ssZ`", + "examples": [ + "2024-03-22T13:57:23.747932" + ], + "title": "Time" + }, + "ownShip": { + "$ref": "#/$defs/SimulatedShip" + }, + "targetShips": { + "items": { + "$ref": "#/$defs/SimulatedShip" + }, + "title": "Targetships", + "type": "array" + } + }, + "required": [ + "time", + "ownShip", + "targetShips" + ], + "title": "SimulationTimeFrame", + "type": "object" + }, + "SimulatorEvent": { + "additionalProperties": true, + "properties": { + "time": { + "anyOf": [ + { + "format": "date-time", + "type": "string" + }, + { + "type": "integer" + } + ], + "description": "Date and Time of the event", + "examples": [ + "2024-03-22T13:57:23.747932" + ], + "title": "Time" + } + }, + "required": [ + "time" + ], + "title": "SimulatorEvent", + "type": "object" + }, + "SoftwareConfig": { + "additionalProperties": true, + "properties": { + "name": { + "description": "The name of the system", + "examples": [ + "AutoNavigation-System 1" + ], + "title": "Name", + "type": "string" + }, + "version": { + "description": "The software version", + "examples": [ + "1.2.3" + ], + "title": "Version", + "type": "string" + }, + "vendor": { + "description": "The name of the system vendor", + "examples": [ + "CompanyABC" + ], + "title": "Vendor", + "type": "string" + } + }, + "required": [ + "name", + "version", + "vendor" + ], + "title": "SoftwareConfig", + "type": "object" + }, + "TargetShip": { + "properties": { + "static": { + "anyOf": [ + { + "$ref": "#/$defs/ShipStatic" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Static ship information which does not change during a scenario.", + "examples": [ + { + "height": 15.0, + "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8", + "imo": 1000001, + "length": 230.0, + "mmsi": 123456789, + "name": "RMS Titanic", + "shipType": "Fishing", + "width": 30.0 + } + ] + }, + "initial": { + "anyOf": [ + { + "$ref": "#/$defs/Initial" + }, + { + "type": "null" + } + ], + "default": null, + "examples": [ + { + "cog": 284.2, + "heading": 283.1, + "navStatus": "Under way using engine", + "position": { + "latitude": 57.2343, + "longitude": 10.3432 + }, + "sog": 12.3 + } + ], + "title": "Initial own ship Initial" + }, + "waypoints": { + "anyOf": [ + { + "items": { + "$ref": "#/$defs/Waypoint" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null, + "description": "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. This allows varying parameters on a per-leg basis, such as speed and heading, or navigational status ", + "examples": [ + { + "data": { + "heading": { + "interpMethod": "linear", + "mAfterLegChange": 100.0, + "mBeforeLegChange": 100.0, + "value": 12.3 + }, + "sog": { + "interpMethod": "linear", + "mAfterLegChange": 100.0, + "mBeforeLegChange": 100.0, + "value": 12.3 + } + }, + "position": { + "latitude": 57.2343, + "longitude": 10.3432 + }, + "turnRadius": 500.0 + } + ], + "title": "Waypoints" + } + }, + "title": "TargetShip", + "type": "object" + }, + "TrafficSituation": { + "additionalProperties": true, + "omit_default": true, + "properties": { + "title": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The title of the traffic situation", + "examples": [ + "overtaking_18" + ], + "title": "Title" + }, + "description": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "A description of the traffic situation", + "examples": [ + "Crossing situation with 3 target vessels in the Oslofjord" + ], + "title": "Description" + }, + "startTime": { + "anyOf": [ + { + "format": "date-time", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Starting time of the situation in `ISO 8601` format `YYYY-MM-DDThh:mm:ssZ`", + "examples": [ + "2024-03-22T13:57:23.732204" + ], + "title": "Situation starting time" + }, + "ownShip": { + "allOf": [ + { + "$ref": "#/$defs/OwnShip" + } + ], + "description": "Own Ship data", + "examples": [ + { + "initial": { + "cog": 284.2, + "heading": 283.1, + "navStatus": "Under way using engine", + "position": { + "latitude": 57.2343, + "longitude": 10.3432 + }, + "sog": 12.3 + }, + "static": { + "height": 15.0, + "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8", + "imo": 1000001, + "length": 230.0, + "mmsi": 123456789, + "name": "RMS Titanic", + "shipType": "Fishing", + "width": 30.0 + }, + "waypoints": [ + { + "data": { + "heading": { + "interpMethod": "linear", + "mAfterLegChange": 100.0, + "mBeforeLegChange": 100.0, + "value": 12.3 + }, + "sog": { + "interpMethod": "linear", + "mAfterLegChange": 100.0, + "mBeforeLegChange": 100.0, + "value": 12.3 + } + }, + "position": { + "latitude": 57.2343, + "longitude": 10.3432 + }, + "turnRadius": 500.0 + } + ] + } + ], + "title": "Own Ship data" + }, + "targetShips": { + "default": null, + "description": "Target Ship data", + "examples": [ + [ + { + "initial": { + "cog": 284.2, + "heading": 283.1, + "navStatus": "Under way using engine", + "position": { + "latitude": 57.2343, + "longitude": 10.3432 + }, + "sog": 12.3 + }, + "static": { + "height": 15.0, + "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8", + "imo": 1000001, + "length": 230.0, + "mmsi": 123456789, + "name": "RMS Titanic", + "shipType": "Fishing", + "width": 30.0 + }, + "waypoints": [ + { + "data": { + "heading": { + "interpMethod": "linear", + "mAfterLegChange": 100.0, + "mBeforeLegChange": 100.0, + "value": 12.3 + }, + "sog": { + "interpMethod": "linear", + "mAfterLegChange": 100.0, + "mBeforeLegChange": 100.0, + "value": 12.3 + } + }, + "position": { + "latitude": 57.2343, + "longitude": 10.3432 + }, + "turnRadius": 500.0 + } + ] + } + ] + ], + "items": { + "$ref": "#/$defs/TargetShip" + }, + "title": "Target Ship data", + "type": "array" + }, + "environment": { + "anyOf": [ + { + "$ref": "#/$defs/Environment" + }, + { + "type": "null" + } + ], + "default": null, + "description": "environmental parameters", + "examples": [ + { + "airTemperature": 20.0, + "conditions": "Clear", + "currentDirection": 90.0, + "currentSpeed": 1.0, + "precipitation": "Rain", + "significantWaveHeight": 3.0, + "visibility": 5.0, + "waterRemperature": 15.0, + "waveDirection": 270.0, + "wavePeriod": 12.0, + "waveSpectrum": "JONSWAP", + "windDirection": 180.0, + "windSpeed": 10.0 + } + ] + } + }, + "required": [ + "ownShip" + ], + "title": "Test Input Schema", + "type": "object" + }, + "WaveSpectra": { + "enum": [ + "JONSWAP", + "Pierson-Moskowitz", + "Bretschneider" + ], + "title": "WaveSpectra", + "type": "string" + }, + "Waypoint": { + "properties": { + "position": { + "allOf": [ + { + "$ref": "#/$defs/Position" + } + ], + "description": "A geographical coordinate", + "examples": [ + { + "latitude": 51.2123, + "longitude": 11.2313 + } + ] + }, + "turnRadius": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Orthodrome turn radius as defined in RTZ format", + "examples": [ + 200 + ], + "title": "Turnradius" + }, + "data": { + "anyOf": [ + { + "$ref": "#/$defs/Data" + }, + { + "type": "null" + } + ], + "default": null, + "description": "A `Data` object that includes `speed`, `course`, and `heading` data points" + } + }, + "required": [ + "position" + ], + "title": "Waypoint", + "type": "object" + }, + "WeatherCondition": { + "enum": [ + "Clear", + "Cloudy", + "Foggy", + "Rainy", + "Snowy" + ], + "title": "WeatherCondition", + "type": "string" + } + }, + "additionalProperties": true, + "description": "#### This is a JSON schema for result data originating from Collision and Grounding Avoidance systems", + "properties": { + "creationTime": { + "description": "Date and Time that this file was created, in `ISO 8601` format `YYYY-MM-DDThh:mm:ssZ`. This should be the simulation end time.", + "examples": [ + "2024-03-22T13:57:23.747932" + ], + "format": "date-time", + "title": "Creationtime", + "type": "string" + }, + "trafficSituation": { + "anyOf": [ + { + "$ref": "#/$defs/TrafficSituation" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The traffic situation that was simulated (input file). This should remain unmofidied." + }, + "cagaData": { + "anyOf": [ + { + "$ref": "#/$defs/CagaData" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Data generated by the system under test (auto-navigation / collision and grounding avoidance system) during the scenario.", + "examples": [ + { + "configuration": { + "name": "AutoNavigation-System 1", + "vendor": "CompanyABC", + "vendorAutomaticManoeuverAcceptanceTime": 7.0, + "vendorCriticalTcpa": 1000.0, + "vendorManoeuverDelay": 20.0, + "vendorMinimumDistanceToTargets": 100.0, + "vendorSafetyDepth": 20.0, + "version": "1.2.3" + }, + "eventData": [ + { + "calculationTime": 1.242, + "route": [ + { + "data": { + "heading": { + "interpMethod": "linear", + "mAfterLegChange": 100.0, + "mBeforeLegChange": 100.0, + "value": 12.3 + }, + "sog": { + "interpMethod": "linear", + "mAfterLegChange": 100.0, + "mBeforeLegChange": 100.0, + "value": 12.3 + } + }, + "position": { + "latitude": 57.2343, + "longitude": 10.3432 + }, + "turnRadius": 500.0 + }, + { + "data": { + "heading": { + "interpMethod": "linear", + "mAfterLegChange": 100.0, + "mBeforeLegChange": 100.0, + "value": 12.3 + }, + "sog": { + "interpMethod": "linear", + "mAfterLegChange": 100.0, + "mBeforeLegChange": 100.0, + "value": 12.3 + } + }, + "position": { + "latitude": 57.2343, + "longitude": 10.3432 + }, + "turnRadius": 500.0 + }, + { + "data": { + "heading": { + "interpMethod": "linear", + "mAfterLegChange": 100.0, + "mBeforeLegChange": 100.0, + "value": 12.3 + }, + "sog": { + "interpMethod": "linear", + "mAfterLegChange": 100.0, + "mBeforeLegChange": 100.0, + "value": 12.3 + } + }, + "position": { + "latitude": 57.2343, + "longitude": 10.3432 + }, + "turnRadius": 500.0 + } + ], + "time": "2024-03-22T13:57:23.747932" + } + ], + "timeSeriesData": [ + { + "internalStatus": null, + "targetShips": [ + { + "cog": 181.0, + "colregRulesApplied": [ + 12 + ], + "dcpa": 300.0, + "distanceToTarget": 874.0, + "encounterType": "Head-on", + "heading": 182.0, + "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8", + "navStatus": "Under way using engine", + "position": { + "latitude": 57.2343, + "longitude": 10.3432 + }, + "predictions": { + "position": [ + { + "time": "2024-03-22T13:57:23.747932", + "value": { + "latitude": 57.2343, + "longitude": 10.3432 + } + }, + { + "time": "2024-03-22T13:57:23.747932", + "value": { + "latitude": 57.2343, + "longitude": 10.3432 + } + }, + { + "time": "2024-03-22T13:57:23.747932", + "value": { + "latitude": 57.2343, + "longitude": 10.3432 + } + } + ] + }, + "sog": 10.2, + "tcpa": 1200.0 + } + ], + "time": "2024-03-22T13:57:23.747932" + } + ] + } + ] + }, + "simulationData": { + "anyOf": [ + { + "$ref": "#/$defs/SimulationData" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Data generated by the simulator duirng the scenario", + "examples": [ + { + "configuration": { + "name": "AutoNavigation-System 1", + "vendor": "CompanyABC", + "version": "1.2.3" + }, + "eventData": [], + "timeSeriesData": [ + { + "ownShip": { + "acceleration": 0.01, + "cog": 181.0, + "heading": 182.0, + "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8", + "navStatus": "Engaged in fishing", + "position": { + "latitude": 57.2343, + "longitude": 10.3432 + }, + "rateOfTurn": 1.0, + "sog": 10.0 + }, + "targetShips": [ + { + "acceleration": 0.01, + "cog": 181.0, + "heading": 182.0, + "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8", + "navStatus": "Engaged in fishing", + "position": { + "latitude": 57.2343, + "longitude": 10.3432 + }, + "rateOfTurn": 1.0, + "sog": 10.0 + }, + { + "acceleration": 0.01, + "cog": 181.0, + "heading": 182.0, + "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8", + "navStatus": "Engaged in fishing", + "position": { + "latitude": 57.2343, + "longitude": 10.3432 + }, + "rateOfTurn": 1.0, + "sog": 10.0 + } + ], + "time": "2024-03-22T13:57:23.747932" + }, + { + "ownShip": { + "acceleration": 0.01, + "cog": 181.0, + "heading": 182.0, + "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8", + "navStatus": "Engaged in fishing", + "position": { + "latitude": 57.2343, + "longitude": 10.3432 + }, + "rateOfTurn": 1.0, + "sog": 10.0 + }, + "targetShips": [ + { + "acceleration": 0.01, + "cog": 181.0, + "heading": 182.0, + "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8", + "navStatus": "Engaged in fishing", + "position": { + "latitude": 57.2343, + "longitude": 10.3432 + }, + "rateOfTurn": 1.0, + "sog": 10.0 + }, + { + "acceleration": 0.01, + "cog": 181.0, + "heading": 182.0, + "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8", + "navStatus": "Engaged in fishing", + "position": { + "latitude": 57.2343, + "longitude": 10.3432 + }, + "rateOfTurn": 1.0, + "sog": 10.0 + } + ], + "time": "2024-03-22T13:57:23.747932" + } + ] + } + ] + } + }, + "required": [ + "creationTime" + ], + "title": "Test Output Schema", + "type": "object" } \ No newline at end of file