Spire Maritime AIS Data Sample - Standard Format

Details of file format and data values provided in standard AIS data samples.

Spire Maritime AIS data samples are normally provided in CSV format with data fields as listed  in the table of data fields below.

Different AIS Messages:

It is important to understand the data and in particular that the file contains data from 2 different type of AIS messages. AIS positions messages that report the position, speed, heading, rate of turn and status of vessels and AIS static voyage messages that report identity, type, size and voyage information.

These 2 types of data are linked only by the vessels MMSI number which is used as the vessel identifier for both.

Message Types 1, 2, 3, 18, 19, 27 are position messages and contain values in the position related fields.

Message Types 5 & 24 are static voyage messages and contain values in the static details and voyage related fields.

To identify the Name, IMO number or type of ships related to the AIS Position reports, the MMSI number must be used to join together the 2 different sets of AIS data.

IE if position reports are recorded against MMSI 636018333 in AIS message type 1 then the IMO and name of that vessel is discovered by looking for AIS message type 5 reported using the same MMSI number as shown below.

static_position_table

Table showing the distribution of values in key fields from different AIS messages

value_counts_ais


AIS Data Sample File Column Descriptions:

Column Data Type Descriptions
created_at date ISO 8601 formatted timestamp in UTC of the time the vessel record was created
timestamp string ISO 8601 formatted timestamp in UTC of the time the AIS message was transmitted
msg_type integer

AIS message type

Common values:

1, 2, 3, 5, 18, 19, 24, 27

AIS message types are explained in more details here 

mmsi integer

The  Maritime Mobile Service Identity of the vessel transmitting the AIS message

Possible values:

000000000 - 999999999

latitude float

Vessel latitude in degrees

(North = positive, South = negative)

range -90 to +90

longitude float

Vessel longitude in degrees

(East = positive, West = negative)

range = -180 to +180

speed number

Vessel speed over ground represented in knots

Possible values:

0 - 102.2 knots, 102.3 (not available)

course number

Vessel course over ground in degrees

Possible values:

0 - 359.9 degrees, 360.0 (not available)

heading number

Vessel true heading in degrees

Possible values:

0 - 359 degrees, 511 (not available)

rot  integer

 

Vessel rate of turn

Possible values:

-127 - 127; -128 (not available)

imo integer

IMO number of the ship 

Unique International Maritime Organization number for the vessel that stays with the ship for it's life

valid values 7 digit number

name string

Vessel name

call_sign string

Vessel call sign

draught float

Vessel draught represented in 1/10 meters

Possible values:

0.1 - 255, 0 (not available; default)

ship_and_cargo_type integer

Vessel ship and cargo type code

Some common values:

30 (fishing vessel), 52 (tug boat), 70 (cargo/fishing ship)

more information on determining the ship type is detailed here

 

length number

Vessel length extracted from ship dimensions to_bow and to_stern in meters

width number

Vessel width extracted from ship dimensions to_port and to_starboard in meters

eta string

Vessel estimated time of arrival as entered by the captain, represented in ISO 8601 format

Possible values:

Month: 1 - 12, 0 (not available; default); Day: 1 - 31, 0 (not available; default); Hour: 0 - 23, 24 (not available; default); Minute: 0 - 59, 60 (not available; default)

destination string

Vessel destination as entered by the vessel captain

status integer

Vessel navigation status

Some common values:

0 (under way using engine), 1 (at anchor), 3 (restricted maneuverability), 7 (engaged in fishing), 15

maneuver  integer

Vessel maneuver code

Valid values:

0 (not available; default), 1 (not engaged in special maneuver), 2 (engaged in special maneuver)

accuracy integer

Vessel GPS geo location accuracy in meters

Possible values:

1 (high, <=10 meters); 0 (low, >10 meters, default)

collection_type string

 How the message was captured

Possible values:

satellite or terrestrial or dynamic