AIS
What is AIS data, what can it be used for, and what do you need to know about it to avoid common pitfalls? This is not going to be an exhaustive document on the subject but instead something to provide a novice user some basic knowledge and resources to advance themselves.
AIS stands for “Automated Identification System” and is a protocol used by ocean going crafts (ships, drones, aids-to-navigation and some aircraft) to identify themselves and report their position and trajectory. The goal of this is to avoid collisions at sea. It was intended to be a real time system that was for local use only and therefore has some limitations that make it a little more complex to use for regional traffic monitoring than you might expect. The data packets are transmitted via VHF radio and can be one of dozens of message types. Accuracy of data is not guarenteed and incorrect or missing values should be expected.
The AIS protocol is a Time Domain Multiple Access protocol, this means that the various vessels in an area negotiate between themselves for a slot to transmit their messages in. The messages transmitted can be one of 27 different types, many containing different fields. Tracking vessels and identifying them would only use a handful of the 27 message types but more complex systems could derive some information from almost any message.
The best place to read up about the bits and bytes on the protocol is here; AIVDM/AIVDO protocol decoding.
The actual AIS transceivers are split into two classes; Class A and Class B. There are some differences in who is expected to be using Class A vs B, the kind of information that they transmit and the power allowed for transmission. Class A transceivers are generally found on large vessels involved with international travel; cargo ships, passenger liners, tankers etc. Class B transceivers are generally lower cost and found on vessels not going into international waters; fishing vessels, pleasure craft etc.
Class A are limited to 12.5 watts of transmit power while Class B to 2 watts. This significant difference in power, along with the lower mounting location of the antennas (A large cargo vessel’s bridge can be 35+ meters above the waterline while a fishing boat could only be 1-2 m high) results in significantly further reception of Class A messages. This needs to be taken into account when monitoring vessels using coastal AIS receivers. This also can result in fewer messages being received from overhead AIS receivers, like satellites.
Generally speaking, AIS messages are received about 40 nautical miles away but tropospheric ducting can increase this to several hundred, or a thousand, miles. Don’t rely on this though, it’s very rare.
The vessels reporting rate is dependant on a couple of factors:
- Whether the vessel is using a Class A or Class B transceiver
- The amount of other vessels in the area; since vessels negotiate for a transmit slot more vessels would result in fewer available slots.
- The actions of the vessel; more turns and accelerations/deceleration require more regular transmissions to ensure safety.
- Orbital mechanics; when satellite receivers are used there could be gaps in the coverage due to platforms not being overhead
- Reception quality; stations that are far away from vessel might only receive messages every now and then.
- Highly sensitive receivers; receivers that have a reception footprint much larger than the expected vessel transmit footprint can often receive multiple messages in the same timeslot. There are fancy ways to seperate the two (or more) messages using phased array antenna’s but this is fairly complex.
In general it is difficult to provide a firm estimate on how often to hear from a specific vessel but, from experience, good reception quality will result in hearing from a vessel every couple of minutes while poor quality would be at least once or twice an hour.
Vessels generally transmit messages containing their location and vector information (Position Reports) and messages containing their identity and voyage information (Voyage Reports). The position reports are derived from on board sensors like GPS/GlONASS while voyage reports contain information manually inserted by the sailors on board. Each of the messages sent by a vessel is tagged with the vessels Mobile Maritime Service Identify number (MMSI) so get used to seeing references to the MMSI being seperate from other identifiers of vessels.
Something that you might expect that is missing from AIS messages is a timestamp. The expectation is that the data is going to be used in real time, when you receive the message is when it was sent (plus speed of light delays). When using this in a network of receivers, or processing old data a timestamp MUST be added. There is no protocol specific way of adding these timestamps so every data provider seems to have their own way of doing it.
The AIVDM/AIVDO protocol decoding website contains exhaustive examples of each of the different message types and the fields that are contained therein so we won’t go through them again here. In short we’re interested in the following:
- Position of the vessel (Lat/Lon)
- Vector of the vessel (Speed Over Ground, Course Over Ground, True Heading)
- Class and Identity of the vessel (MMSI, Name, Callsign )
- Characteristics of the vessel (Country Flag, Size, Type and Cargo)
There are multiple vessel classes that can be reported in AIS but these often are seperate from human defined classes. It is common to refer to a fishing vessel as a Trawler on Long-Liner but these classes are not available from AIS fields.
Not everything in the AIS message is reliable. There can be malicious and non malicious alterations to a vessels identity, the location of the vessel is limited to GPS accuracy and can be vulnerable to multipath errors or scattering caused by high structures around ports. Multiple vessels do also report using the same MMSI, this is not permitted but it does happen. Lately GPS jamming and position alterations have become more common but it is still unlikely that a single vessel would spoof its position data to reflect a nearby (but not suspicous) position. It is far more common to see gaps in AIS data where a vessel disabled its transmission.
The identity information, like name, callsign, ETA etc are often not correct. This can result in different names for the same vessel and centralised data stores, like the Lloyds Ship Register are often behind pay walls. Currently there is no machine accesible, open data store for vessel details.
- Vessels are limited in their transmit range by RF power, competing transmissions in timeslots, and VHF propogation.
- Location data is mostly accurate but relies on users to understand the difference between malicious disabling of AIS transmissions vs poor reception
- Vessel ID and characteristics are often not reliable and require third party data stores to confirm
- Classes are often overlapping in AIS data and require third party data stores to seperate into more common types.