1. Help Center
  2. Spire Sense Maritime
  3. Spire Maritime 2.0 - GraphQL API

Spire Maritime 2.0 - matching and updating rules

Handling duplicate vessels

product: Maritime 2.0


While using AIS data, there is a chance that you may have encountered the duplicate vessel challenge. AIS does not enforce data integrity, so there are many vessels globally that, in their AIS messages, are transmitting the same MMSI and/or IMO number as other vessels. 

AIS data alone does not allow identification of which vessel is correctly using an MMSI or IMO number and which is not. Because of this challenge, in our Vessels 1.0 (RESTful API), you may have seen instances of:

  • 2+ vessels reporting the same MMSI number (different IMO)
  • 2+ vessels transmitting only the same IMO number (different MMSI)
  • 2+ vessels transmitting the same IMO and MMSI number

New Update Rules

We are excited to announce that the Spire Maritime 2.0 API has improved logic for vessel identification that helps combat this issue.

In Vessels 1.0 API, an update would only be made if the same value for a vessel was seen at least three times for static values and at least two times for voyage related fields.

In Spire Maritime 2.0 API, all static messages will be considered after just two occurrences. The criteria for updating is now based on identity variables to match and create vessels. All position messages are considered for possible update after one occurrence based on two criteria: feasibility criterion on positions and selection of most plausible vessel in case of duplicated MMSIs

In Spire Maritime 2.0 tests, we have already seen a great reduction in duplicate IMO and MMSI positions. Below are two data visualizations that illustrate Spire Maritime 2.0's improvement over the Vessels 1.0 API:

Screen Shot 2021-08-12 at 10.17.01 AM

Screen Shot 2021-08-12 at 10.18.26 AM

There is a web version of the illustrations above here https://insights.spire.com/-temporary-slug-8fb0f806-ce2f-4461-b490-2593391b6258?hs_preview=uasQnMnk-55735310170