Search Open menu

Latest Vessel Information (LVI)

The Latest Vessel Information (LVI) Web Service is part of Spire Maritime’s Geospatial Web Services™ (GWS).

This web service provides the latest information for a vessel using Spire AIS data, and delivers the data in two formats that are Open Geospatial Consortium (OGC) compliant:

  • The Web Feature Services (WFS) allow users to get features (data) in a variety of standard formats, including CSV, GML, GeoJSON, and Shapefile.
  • The Web Map Services (WMS)  allow users to get requested images of Spire AIS data in a variety of formats including PNG, JPEG, KML, etc.

An Identifier (eEID) is generated for each unique vessel based on reported characteristics, to help improve the detection of erroneous messages and track a vessel’s entire Voyage of Life (VoL).

Data set content

Data sets returned by LVI in response to requests made by end users contain fields in a specific sequential order.

The order in which those fields are returned is documented in the data schema tables listed in this section. Data ingest methods that depend on field order, specifically commas separated values (.csv) format, need to take this into account.

The data content description, including field descriptions and schemas are presented below.

Latest Vessel Information by unique identifier (MMSI) in the last 7 days. LVI provides vessel information based on the latest position, static, and voyage information associated to any given MMSI or exactEarth ID (eEID).
Data Sources
Satellite-AIS (S-AIS); Satellite and Terrestrial-AIS (S/T-AIS); or Satellite, Terrestrial and Dynamic AIS (S/T/D-AIS)
Geographic Area of Interest
Global or User-Defined
AOI Vessel Types
Class A and B
Geographic Data
Point (WGS84)
Vessel Identification Data Fields
mmsi, imo, vessel_name, callsign, vessel_type, vessel_type_code, vessel_type_cargo, flag_country, flag_code, vessel_class, vessel_type_main, vessel_type_sub, eeid
Vessel Positional Data Fields
ts_pos_utc, dt_pos_utc, position (Point – WGS84), longitude, latitude, sog, cog, rot, heading, nav_status, nav_status_code, source, ts_insert_utc, dt_insert_utc, message_type
Vessel Static/Voyage Information Data Fields
ts_static_utc, dt_static_utc, length, width, destination, eta, draught
Point (WGS84)

OGC Support

GWS supports all OGC WMS operations from implementation WMS 1.3.0 and all OGC WFS operations from implementations WFS 1.1.0, excluding Transaction.

Service TypeService ModesVersionsCommon ParametersOutput FormatsOutput File SizesResponse Times
WMSGetMap, GetCapabilities, GetFeatureInfo, and GetLegendGraphic1.3.0SERVICE, VERSION, REQUEST, LAYERS, STYLES, BBOX, WIDTH, HEIGHT, SRS, FORMAT, and FILTERPNG, JPEG, GIF, and KML/KMZDynamic <1MB< 3s
WFSGetCapabilities, GetFeature, and DescribeFeatureType1.1.0SERVICE, VERSION, REQUEST, TYPENAME, MAXFEATURES, OUTPUTFORMAT, and FILTERCSV, GML (2, 3.1, 3.2), GeoJSON, and ShapefileApprox. 1 KB / Record< 1.5s / 50 Records

Data schema

[0] id      #Json
    fid.    #CSV, GML 2
    gml:id  #GML 3 & 3.2 Xml Attribute
[1] mmsi
[2] imo
[3] vessel_name
[4] callsign
[5] vessel_type
[6] vessel_type_code
[7] vessel_type_cargo
[8] vessel_class
[9] length
[10] width
[11] flag_country
[12] flag_code
[13] destination
[14] eta
[15] draught
[16] position
[17] longitude
[18] latitude
[19] sog
[20] cog
[21] rot
[22] heading
[23] nav_status
[24] nav_status_code
[25] source
[26] ts_pos_utc
[27] ts_static_utc
[28] ts_insert_utc
[29] dt_pos_utc
[30] dt_static_utc
[31] dt_insert_utc
[32] vessel_type_main
[33] vessel_type_sub
[34] message_type
[35] eeid

Data definition guide

MMSI Number
Maritime Mobile Service Identity (MMSI)
IMO Number
International Maritime Organization (IMO)
Vessel Name
Vessel Call Sign
Vessel Type
Vessel Type Code
Vessel Type Cargo
Vessel Type Main
Vessel Type Sub-Category
Country of Registration
Country of Registration Code
Class of Vessel (A/B)
exactEarth Identifier (eEID)
TS_POS_UTC Timestamp
Date and Time of Last Position AIS Message in UTC [YYYYMMDDHHmmSS]
DT_POS_UTC Timestamp
Date and Time of Last Position AIS Message in UTC [YYYY-MM-DD HH24:MI:SS]
WGS84 Point, Geographic Location
SEGMENT Geometry
WGS84 LineString/MultiLineString, Geographic Segment
LONGITUDE Number, Decimal Degrees
WGS 84 Longitude Coordinate
LATITUDE Number, Decimal Degrees
WGS 84 Latitude Coordinate
SOG Number, Knots
Speed over Ground
COG Number, Degrees
Course over Ground
ROT Number, Degrees / Min
Rate of Turn
HEADING Number, Degrees
Navigational Status
Navigational Status Code
Source of Position Report (Satellite AIS [S-AIS], Terrestrial AIS [T-AIS], or Vessel AIS [V-AIS])
DTG Timestamp
ISO 8601 Date and Time of Last Position AIS Message in UTC [YYYY-MM-DDTHH:mm:ssZ]
Date and Time of Last Static AIS Message in UTC [YYYYMMDDHHmmSS]
Date and Time of Last Static AIS Message in UTC [YYYY-MM-DD HH24:MI:SS]
LENGTH Number, Metres
Length of Bow to Main Tower and Main Tower to Stern
WIDTH Number, Metres
Length of Port to Main Tower and Main Tower to Starboard
Port of Destination
ETA Timestamp
Month, Day, Hour, and Minute of Estimated Time of Arrival in UTC [MMDDHHmm]
DRAUGHT Number, Metres
Vessel Draught
Date and Time of Last Insert in UTC [YYYYMMDDHHmmSS]
Date and Time of Last Insert in UTC [YYYY-MM-DD HH24:MI:SS]
AIS Position Message type (1,2,3,4,18,19,27)

Accessing the web service


GWS uses HTTPS and user authentication via user token or user name and password to access information and is available at

Service typeURL

GWS allows users to authenticate access to the services using either a token or basic authentication. Spire provides both a unique token and user name and password for each user. The [authKey] query string parameter of a WMS/WFS request provides the interface to enter a token to access the services using the following notation, “authKey=[TOKEN]”.

For basic authentication, users are required to enter user name and password credentials to access the services, for example, a web browser, OGC-compliant client, or application-level requestor.

Sorting & filtering

GWS supports optional parameters and capabilities to enhance the usability of the service.

Maximum Features (maxFeatures)
Provides an ability to limit the number of features by request to the WFS services.
Sorting (sortBy)
Provides an ability to sort the values in a column in ascending or descending order by request to the WFS services. Sorting by ascending order is the default setting, using “+D” will change the response to sorting by descending order.
Feature Counts (resultType)
Provides an ability to retrieve the number of features by request to the WFS services.
Fields / Columns (propertyName)
Provides an ability to specify the output fields / columns per request. The [propertyName] query string parameter of a WFS request provides the interface to limit the fields / columns returned in the GetFeature request, for example, “propertyName=eeid,mmsi,vessel_name,ts_pos_utc”.,mmsi,vessel_name,ts_pos_utc&outputFormat=json&maxFeatures=1

Geospatial filtering

OGC filtering

GWS supports OGC Filtering to allow for dynamic/ad-hoc customization of data responses based on geography, time, and AIS message attributes.

Filter examples using OGC XML-based filtering:
Filter ExampleFilter example syntax
Equal To (MMSI: AIS Message Attribute)


Between (SOG: AIS Message Attribute)



&filter=<Filter xmlns:gml=""><Intersects><PropertyName>position</PropertyName><gml:Polygon srsName="EPSG:4326"><gml:exterior><gml:LinearRing><gml:posList>-120 -8 -120 30 55 30 55 -8 -120 -8</gml:posList></gml:LinearRing></gml:exterior></gml:Polygon></Intersects></Filter>

Latest Insert Update (Fetch Delta Updates)&filter=<Filter><PropertyIsGreaterThanOrEqualTo><PropertyName>ts_insert_utc</PropertyName><Literal>20130724134900</Literal></PropertyIsGreaterThanOrEqualTo></Filter>

WMS examples

PNG image for a specific MMSI:,-90.0,180.0,90.0&width=640&height=480&crs=crs:84&format=image/png&filter=<Filter><PropertyIsEqualTo><PropertyName>mmsi</PropertyName><Literal>372934000</Literal></PropertyIsEqualTo></Filter>

PNG image for all vessels with Speed over Ground (SOG) reported between 10 and 20 knots within a specific area of interest using the BBOX parameter:,-23,32,34&width=660&height=330&crs=crs:84&format=image/png&filter=<Filter><PropertyIsBetween><PropertyName>sog</PropertyName><LowerBoundary><Literal>10</Literal></LowerBoundary><UpperBoundary><Literal>20</Literal></UpperBoundary></PropertyIsBetween></Filter>

WFS example

JSON output for 10 vessels within a specific area of interest:<Filter xmlns:gml=""><Intersects><PropertyName>position</PropertyName><gml:Polygon xmlns:gml="" srsName="EPSG:4326"><gml:exterior><gml:LinearRing><gml:posList>-55 -8 -55 8 55 8 55 -8 -55 -8</gml:posList></gml:LinearRing></gml:exterior></gml:Polygon></Intersects></Filter>

CQL filtering

Extended Common Query Language (ECQL) is a query language supported by GWS and offers familiar text-based syntax with strong similarities to SQL for filtering.

For more information, please refer to

Examples using ECQL filtering:
Filter ExampleFilter example syntax
Equal To (MMSI: AIS Message Attribute)&cql_filter=mmsi=372934000
Between (SOG: AIS Message Attribute)&cql_filter=sog BETWEEN 10 AND 2
Geography&cql_filter=INTERSECTS(position, POLYGON((-120 -8, -120 30, 55 30, 55 -8, -120 -8)))
Latest Insert Update (Fetch Delta Updates)&cql_filter=ts_insert_utc>=20130724134900

WMS customization

Layer style

LVI allows users to request styles (symbolization) to be applied to Web Map Service (WMS) GetMap (image) responses.

Spire Maritime provides a variety of styles that can be used to customize the look and feel of rendered maps.

The [styles] query string parameter of a WMS request provides the interface to enter a style to define the symbology to apply to the map output, “styles=[STYLE]”.

Vessel (Default)
Vessel symbol, single color, rotation by [cog]
Vessel symbol, color by [vessel_type], rotation by [cog]
Vessel symbol, single color, rotation by [cog], leader line symbol by [sog]
Vessel symbol, color by [sog], rotation by [cog]
Vessel symbol, color by [vessel_type_code], rotation by [cog], leader line symbol by [sog]
Leader line symbol by [sog], rotation by [cog]
Vessel symbol, color by [source], rotation by [cog]
Vessel symbol, color by [class], rotation by [cog]
Vessel symbol, single color, rotation by [cog], label by [vessel_name]
Label by [vessel_name]
Circle point symbol, single color, label by [ts_pos_utc]
Label by [ts_pos_utc]


GWS allows users to generate legends based on supported styles (symbolization).

The [request] query string parameter, GetLegendGraphic, of a WMS request provides the interface to generate legends.

The [scale], [style], and [layer] query string parameters control the appearance of the legend.


The below WMS 1.3.0 request provides a PNG image (legend) for the latest vessel information data set using the [style] and [scale] parameters to generate a legend based on the VesselByTypeSpeed style at a map scale of 1:80,000.;forceLabels:on;fontName:Helvetica;fontAntiAliasing:true;fontColor:0x000000;fontSize:9;bgColor:0xFFFFFF;dpi:120;

Custom symbolization

GWS supports custom symbology to allow for dynamic/ad-hoc rendering of vessels.

The [env] query string parameter of a WMS request provides the interface to change the vessel symbols using the following notation, “env=[PARAM]:[VALUE]”. [env] query string parameters are delimited by “;”, for example, “env=[PARAM1]:[VALUE1];[PARAM2]:[VALUE2]”.

Custom vessel color

To adjust the rendering of vessels by color, add the [color] parameters to the [env] query string parameter of a WMS request using the following notation, “env=color:hexadecimal”.

The hexadecimal is an RGB color code, defined as RRGGBB.


The below WMS 1.3.0 request provides a PNG image for all global vessels from the latest vessel information data set using the [env] parameter specifying all vessel be rendered as magenta (FF3366):,-90.0,180.0,90.0&width=640&height=480&crs=crs:84&format=image/png&env=color:FF3366


Web Feature Service (WFS) example

GWS allows users to request data sets of geospatial data. Here is an example of a sample WFS GML request for the latest vessel information data set:

 <exactAIS:LVI gml:id="48752423661E2262128">
  <exactAIS:vessel_name>COSCO BOSTON</exactAIS:vessel_name>
   <gml:Point srsName="urn:x-ogc:def:crs:EPSG:4326" srsDimension="2">
    <gml:pos>24.54373333 119.41136667</gml:pos>
  <exactAIS:nav_status>Under Way Using Engine</exactAIS:nav_status>
  <exactAIS:dt_pos_utc>2019-05-09 22:56:03</exactAIS:dt_pos_utc>
  <exactAIS:dt_static_utc>2019-05-09 22:50:05</exactAIS:dt_static_utc>
  <exactAIS:dt_insert_utc>2019-05-09 22:56:08</exactAIS:dt_insert_utc>
  <exactAIS:vessel_type_main>Container Ship</exactAIS:vessel_type_main>

Web Map Service (WMS) example

GWS allows users to request images of geospatial data in a variety of formats. Here is an example of a WMS request for the latest vessel information data set as an image (PNG).,-90.0,180.0,90.0&width=640&height=480&crs=CRS:84&format=image/png

Web Map Service Example

Data schema example

GWS allows users to request the schema of the geospatial data services. A sample WFS request, DescribeFeatureType, for the latest vessel information data set is included below.
<xsd:extension base="gml:AbstractFeatureType">
  <xsd:element maxOccurs="1" minOccurs="0" name="mmsi" nillable="true" type="xsd:long"/>
  <xsd:element maxOccurs="1" minOccurs="0" name="imo" nillable="true" type="xsd:int"/>
  <xsd:element maxOccurs="1" minOccurs="0" name="vessel_name" nillable="true" type="xsd:string"/>
  <xsd:element maxOccurs="1" minOccurs="0" name="callsign" nillable="true" type="xsd:string"/>
  <xsd:element maxOccurs="1" minOccurs="0" name="vessel_type" nillable="true" type="xsd:string"/>
  <xsd:element maxOccurs="1" minOccurs="0" name="vessel_type_code" nillable="true" type="xsd:int"/>
  <xsd:element maxOccurs="1" minOccurs="0" name="vessel_type_cargo" nillable="true" type="xsd:string"/>
  <xsd:element maxOccurs="1" minOccurs="0" name="vessel_class" nillable="true" type="xsd:string"/>
  <xsd:element maxOccurs="1" minOccurs="0" name="length" nillable="true" type="xsd:int"/>
  <xsd:element maxOccurs="1" minOccurs="0" name="width" nillable="true" type="xsd:int"/>
  <xsd:element maxOccurs="1" minOccurs="0" name="flag_country" nillable="true" type="xsd:string"/>
  <xsd:element maxOccurs="1" minOccurs="0" name="flag_code" nillable="true" type="xsd:int"/>
  <xsd:element maxOccurs="1" minOccurs="0" name="destination" nillable="true" type="xsd:string"/>
  <xsd:element maxOccurs="1" minOccurs="0" name="eta" nillable="true" type="xsd:string"/>
  <xsd:element maxOccurs="1" minOccurs="0" name="draught" nillable="true" type="xsd:double"/>
  <xsd:element maxOccurs="1" minOccurs="0" name="position" nillable="true" type="gml:PointPropertyType"/>
  <xsd:element maxOccurs="1" minOccurs="0" name="longitude" nillable="true" type="xsd:double"/>
  <xsd:element maxOccurs="1" minOccurs="0" name="latitude" nillable="true" type="xsd:double"/>
  <xsd:element maxOccurs="1" minOccurs="0" name="sog" nillable="true" type="xsd:double"/>
  <xsd:element maxOccurs="1" minOccurs="0" name="cog" nillable="true" type="xsd:double"/>
  <xsd:element maxOccurs="1" minOccurs="0" name="rot" nillable="true" type="xsd:double"/>
  <xsd:element maxOccurs="1" minOccurs="0" name="heading" nillable="true" type="xsd:double"/>
  <xsd:element maxOccurs="1" minOccurs="0" name="nav_status" nillable="true" type="xsd:string"/>
  <xsd:element maxOccurs="1" minOccurs="0" name="nav_status_code" nillable="true" type="xsd:int"/>
  <xsd:element maxOccurs="1" minOccurs="0" name="source" nillable="true" type="xsd:string"/>
  <xsd:element maxOccurs="1" minOccurs="0" name="ts_pos_utc" nillable="true" type="xsd:string"/>
  <xsd:element maxOccurs="1" minOccurs="0" name="ts_static_utc" nillable="true" type="xsd:string"/>
  <xsd:element maxOccurs="1" minOccurs="0" name="ts_insert_utc" nillable="true" type="xsd:string"/>
  <xsd:element maxOccurs="1" minOccurs="0" name="dt_pos_utc" nillable="true" type="xsd:string"/>
  <xsd:element maxOccurs="1" minOccurs="0" name="dt_static_utc" nillable="true" type="xsd:string"/>
  <xsd:element maxOccurs="1" minOccurs="0" name="dt_insert_utc" nillable="true" type="xsd:string"/>
  <xsd:element maxOccurs="1" minOccurs="0" name="vessel_type_main" nillable="true" type="xsd:string"/>
  <xsd:element maxOccurs="1" minOccurs="0" name="vessel_type_sub" nillable="true" type="xsd:string"/>
  <xsd:element maxOccurs="1" minOccurs="0" name="message_type" nillable="true" type="xsd:int"/>
  <xsd:element maxOccurs="1" minOccurs="0" name="eeid" nillable="true" type="xsd:long"/>

Find MMSIs example

Here is an example of a sample WFS request, GetFeature, to find the Maritime Mobile Service Identity (MMSI) number of a vessel by International Maritime Organization (IMO) number from the Latest Vessel Information (LVI) service.



  <exactAIS:LVI gml:id="48752423661E2262128">
   <exactAIS:vessel_name>COSCO BOSTON</exactAIS:vessel_name>

Find eEID example

GWS 2.0 introduced the concept of an exactEarth Identifier (eEID) that is given to vessels based on their underlying characteristics. An eEID is used to uniquely target a vessel when working with Spire web services.

Here is an example of a sample WFS request, GetFeature, to find the eEID of a vessel with an existing Maritime Mobile Service Identity (MMSI) number from LVI:



  <exactAIS:LVI gml:id="48752423661E2262128">