Table of Contents

Class Vessel

Namespace
NominalSystems.Maritime
Assembly
NominalSystems.Maritime.dll

This class defines a vessel that can represent the state of a particular object at sea based on the AIS information.

public class Vessel : GroundObject
Inheritance
Vessel
Inherited Members

Constructors

Vessel()

Default constructor for the vessel

public Vessel()

Fields

MMSI

[-] The unique identifier for the ship which is the ID of the vessel from AIS.

public int MMSI

Field Value

int

Name

[-] The publically known vessel name

public string Name

Field Value

string

Out_PositionReportMsg

[-] The message information about the current position of the vessel from the AIS system.

public PositionReportMessage Out_PositionReportMsg

Field Value

PositionReportMessage

RecentUpdate

[-] The most recent data update time from the metadata

public DateTime RecentUpdate

Field Value

DateTime

Speed

[m/s] The velocity of the vessel relative to its heading in the direction of the heading.

public double Speed

Field Value

double

Properties

Heading

[deg] The degree of heading angle that is clockwise from true north relative to the surface of the Earth.

public double Heading { get; set; }

Property Value

double

Latitude

[deg] The latitude location of the ship in degrees

public override double Latitude { get; set; }

Property Value

double

Longitude

[deg] The longitude location of the ship in degrees

public override double Longitude { get; set; }

Property Value

double

Methods

CalculatePCPF(GeodeticElements)

[m] Calculates the PCPF coordinates from a particular LLA set of coordinates. This can be overriden for some more advanced calculations, such as a WGS one.

protected override Vector3 CalculatePCPF(GeodeticElements lla)

Parameters

lla GeodeticElements

[deg] The LLA value

Returns

Vector3

[m] The PCPF position

OnBegin(double)

Called when the 'Component' is beginning

protected override void OnBegin(double time)

Parameters

time double

current time (seconds)

OnUpdate(double, double)

Called when the 'Component' should update

protected override void OnUpdate(double time, double step)

Parameters

time double

current time (seconds)

step double

the time step (seconds)

SetLocation(double, double, double, string)

Updates the location of the ground body relative to the planet. If the location needs to be changed during the runtime, this function should be called and not the updating of the fields.

public override void SetLocation(double latitude, double longitude, double altitude, string planet = "earth")

Parameters

latitude double

[deg] Latitude of the body

longitude double

[deg] Longitude of the body

altitude double

[m] Altitude of the body

planet string

[-] The name of the stationed body