Logo
Integration Guide

AIS

Receive maritime vessel positions and identity via AIS/NMEA

The AIS integration receives Automatic Identification System data from maritime receivers over TCP or UDP. It decodes AIVDM/AIVDO NMEA sentences and creates vessel entities in the Hydris world, including position, course, speed, vessel identity, and destination.

Setup

  1. Open the command menu with Ctrl+K (or ⌘+K) and select Configuration
  2. Find NMEA under Feeds in the sidebar
  3. Select a connection mode and click Create:
    • NMEA TCP Client — connect out to a remote NMEA source (AIS feeds, GPS aggregators, marine traffic)
    • NMEA TCP Server — listen for inbound TCP connections that send NMEA sentences
    • NMEA UDP Server — listen for inbound UDP packets (default port 10110)
  4. Enter the Address and click Apply Configuration

For the TCP client, the address should point to a source streaming NMEA sentences — for example an AIS receiver, RTL-SDR decoder like rtl_ais, or an AIS aggregation service. Multiple sources can be given comma-separated.

Once applied, the device shows an Active badge and vessels begin appearing on the map as sentences arrive. New to adding sources? Start with Connect Your Systems.

Settings

SettingDefaultDescription
AddressrequiredTCP client: remote sources, comma-separated (host:port). TCP/UDP server: listen address (default :10110)
Entity Expiry300Seconds without update before a track expires
LatitudeCenter latitude for geo filter
LongitudeCenter longitude for geo filter
Radius (km)Only vessels within this radius are ingested
StandalonenoneEmit the receiver itself as a standalone vehicle: vehicle_sea, vehicle_land, vehicle_air, equipment_sensor, or person
Position SourcebestNMEA sentence used for self position (best = GGA > RMC > AIS; desperate also accepts void RMC)
Heading SourcebestNMEA sentence used for self heading (best = HDT > OSD > AIS)
Velocity SourcebestNMEA sentence used for self speed/course (best = VTG > OSD > RMC > AIS)
Own MMSITreat this MMSI from AIS as own ship position

Ownship Position

On ships, when the AIS transponder and GNSS receiver share the same NMEA bus, the stream contains both AIS sentences (AIVDM/AIVDO) and GNSS position fixes interleaved. When the integration sees position sentences in the stream, it creates an ownship entity so your vessel appears on the map alongside the AIS traffic.

The Self Position settings control which sentences feed the ownship entity: choose per-quantity sources for position, heading, and velocity, use Standalone to emit the receiver as its own vehicle entity, and use Own MMSI to treat a specific AIS MMSI as your own ship. The desperate position source additionally accepts void (no-lock) RMC fixes.

Data Flow

Inbound only. Automatically reconnects on disconnect with a few seconds of backoff.

Entity Mapping

Vessel entities are created with the ID format mmsi:{mmsi} (e.g. mmsi:211234567).

AIS FieldHydris Component
Position (lat/lon)geo (with accuracy-based covariance: DGPS ±5m, autonomous ±50m)
Speed + Course Over Groundkinematics (knots → m/s, ENU velocity)
True Headingorientation (quaternion)
Nav Statusnavigation (underway / stationary / moored / etc.)
MMSI, Callsign, IMO, Nametransponder.ais
Vessel Name or Callsignlabel
Destination, ETAmission

Message Types

AIS TypeDescription
1, 2, 3Position report (Class A)
5Ship static and voyage data (name, IMO, destination, ETA)
18Position report (Class B)
19Extended position report (Class B)

Geo Filtering

When latitude, longitude, and radius_km are set, only vessels within the specified radius are ingested. This is useful for reducing noise from global AIS feeds.

On this page