The Chartplotter functionality of my off-season project is complete, due to the fact that the OpenCPN software package is, for the most part, a turn-key solution that had all the necessary features already included. It is a remarkable solution. I prefer the Raspberry Pi platform, for a low-powered dedicated device, but on a small laptop or dedicated PC, it is even faster and extremely effective.
However, like any piece of software, it doesn’t have every feature that every user desires. So they also have a plugin mechanism that allows a user to build their own extensions to the base system, and create those features themselves.
I have done exactly this during the winter, writing a pair of plugins that I think enhance product and make it even more perfectly suited to my particular desires.
The first plugin is Remembrancer. Remembrancer is a mostly-made-up word that describes the notion that it is used as a reminder. The concept is simple. All it does is bring up an alert box, and play a sound, after a configured length of time.
The idea is that on a long route, with the autopilot steering, the helmsman may become distracted or forgetful, and this plugin will force him/her to remember to do a safety sweep of the water, route, and equipment. The time delay is fully configurable, as is the sound that is played.
The source files for the plugin can be found on GitHub.
The second plugin, NOAA Doppler, is much more involved. Quite often while cruising we just want to know where it’s raining, so we jump online or on our phone, and view one of the many apps that show the current weather map. This plugin is designed to incorporate that feature into OpenCPN, and renders doppler radar imagery directly over the chart.
NOAA provides free images of the current radar returns for all domestic ground stations. If you live in the United States and know your station ID (Seattle area is ATX (Everett), you can find the live reflectivity, storm velocity, precipitation, and other readings. They also provide a GIS “world file”. The values in this file can then be used to calculate the projection.
I also added a blur factor to the image before rendering, so that the blockiness is reduced. It works fairly well.
However, the NOAA Doppler plugin is still not complete:
- The rendering works, though there are bugs with OpenGL’s transparency
- The blur feature works perfectly
- The overlay is correctly positioned, and matches up with NOAA’s own rendering as well as Google Earth
- It does not download live images, and instead only uses the image previously stored
- The world file values are hard-coded and don’t change when the stations change
The source files can also be found on GitHub