Why Westerschelde?

  1. The Westerschelde is a busy shipping lane with continuous activity of a variety of vessels.
  2. There are several land-based AIS receivers, providing good coverage.
  3. I am familiar with the waterway, harbours and some of the ships.

Implementations:

RedNavigationArrow#1: firebase AIS

My local server runs the python backend, for asynchroneous parsing of a somewhat downsampled realtime AIS datastream. The backend script updates a google firebase database several times per second. In the javascript frontend, hosted on a commercial webspace, database events trigger realtime updates to a google custom map, rendered on the firebase_AIS webpage.

RedNavigationArrow#2: open source AIS

Currently still a work in progress. Another local python backend parses the AIS datastream to a data object in memory, which is supplied to the javascript frontend as a JSON object, at a specified time interval (once every minute). Ship data are refreshed via AJAX. Map visualization employs the Leaflet javascript library. Map tiles are sourced from OpenStreetMap, Bing Aerial and OpenSeaMap. opensource_AIS, as of now, is just a rudimentary development snapshot.

Green Computing

The backends run on a headless Raspberry Pi 4, that consumes less than 5 Watts of power.

Why conceive a homemade AIS viewer?

As ever so often, the project spiraled out of hand, starting off from a sailing skipper's interest in the technical principles and data structures of AIS, including the peculiar 6 bit encoding.

Encouraged by a humble GPS parser and navigation program, decoding AIS datastreams in a python backend was a logical next step. With that, the need for visualization arose, leading to the javascript frontend.

Once a working solution, depending on proprietary services, was at hand, the idea of a second implementation with open source tools was born.

All very basic.

All just for fun.