Sailing Exodus
Projects · navigation

Internet AIS
on the chart.

Our own AIS only hears ships out to the horizon. A script we wrote pulls the rest down from the internet and puts it on the chart, and in return we feed our own AIS to the networks that make it possible.

own AIS receiver internet AIS adds everything out here

A schematic, not to scale. The gold ring is what the boat's own AIS hears; the dashed ring is what the internet adds.

Why bother

Because offshore, the horizon is the limit

AIS is VHF radio, and VHF is line of sight. Your own receiver sees ships out to the horizon and no further. Offshore, that can be too late to be useful.

But thousands of volunteers and coastal stations are hearing those same ships from the other side, and sharing what they hear over the internet. If you can reach the internet, you can see targets far beyond the range of your own AIS.

Where your own AIS comes from

Two ways onto the Pi

Either one gives you the local picture. The internet part below is what adds everything beyond the horizon.

Two halves

We give, and we get

1. Sending ours out

A small relay takes the AIS the boat already receives and forwards it to AISHub and MarineTraffic, two networks built almost entirely from volunteers. That is how coverage exists in the first place: nobody is watching your creek from orbit. AISHub is a sharing co-operative, so feeding it is also what entitles you to pull the network's data back. Why that matters →

2. Pulling theirs in: the custom script

This part is custom. We wrote it ourselves, because the built-in alternative needs a paid subscription and we wanted a free route. It does one job:

  1. Reads the boat's live position from Signal K.
  2. Asks AISHub, about once a minute, for every vessel in a box around that position.
  3. Turns the answer into standard AIS sentences, which is the language chart software already understands.
  4. Drops our own boat from the list, so we never appear next to ourselves.
  5. Serves the result on the boat's network, where the chart software picks it up as a second AIS source.

The chart software, qtVlm, keys every target by its MMSI number, so a ship heard both locally and over the internet is one target and not two. A switch on the desktop turns the feed off or picks how far out to look. In one test it returned about 580 vessels.

Want the source code? It's custom, and it's yours if you want it. The script is on our Discord. Ask there and we'll send it.

Rules we kept

Because delayed data can mislead you

The honest limits

All projects Crowdsourcing The DataHub