NeuWave Ship Tracking
A Python tool for tracking vessels from their AIS (Automatic Identification System) broadcasts, decoding position, speed, course, heading, and navigational status into a live, clustered map.
What it covers
Ships broadcast their position and state continuously over AIS, a maritime radio system originally intended for collision avoidance; that data stream is also a rich, freely available source of vessel-traffic information once it's decoded and put on a map. NeuWave ingests these broadcasts and extracts, per vessel, its Maritime Mobile Service Identity (MMSI, used as a ship ID), position, speed over ground (SOG), course over ground (COG), true heading, rate of turn, and navigational status (under way, at anchor, moored, and so on). With enough vessels in a busy shipping lane, plotting every marker individually gets unreadable fast, so the map clusters nearby ships and expands to individual markers with full detail on click or zoom.
Headline results
- Live decoding of AIS messages into per-vessel state: ID, timestamp, navigational status, speed, course, heading, and rate of turn, all shown in the click-through popup pictured.
- Marker clustering keeps busy shipping lanes (the Strait of Malacca and the waters around Singapore and Borneo, pictured) readable at a glance, while still allowing drill-down to an individual ship's exact state.
- The pictured area shows the kind of traffic density AIS tracking is most useful for: dense clusters at anchorages and port approaches, thinning out along open transit routes.
Discussion