After visiting with some fellow cruisers bound for Australia, I got curious to research some free NOAA charts they were telling me about online. Sure enough, within a few seconds I was able to dig up a link to both Raster Navigational Charts and Electronic Navigational Charts. I downloaded a few samples, then started searching for software to allow me to use them. Within an hour, I had downloaded hundreds of charts and was playing with OpenCPN, feeling the excitement of browsing thousands of dollars in NOAA charts that I had freely and legally downloaded off the Internet.

NOAA describes its Raster Navigation Charts as "full-color digital images of NOAA's entire suite of paper charts. NOAA provides weekly updates to the RNCs, which are available for free on this site in the BSB format. NOAA RNCs are official data that can be used in many types of electronic charting systems, including Raster Chart Display Systems (RCDS) and Electronic Chart Display and Information Systems (ECDIS)." Sure enough, once downloaded they proved to be high quality, full-color, digital copies of NOAA's complete collection of nautical navigation charts. From the link above, the vast majority of NOAA charts are freely available, at every level of detail.

Having found these charts, the next step was finding software that runs on my Linux laptop that could use them. Searching around, I found several references to OpenCPN, a simple open source chart plotter running not only on Linux, but also on Windows and Mac OS X. Visiting the project's website, I noted that he specifically supported Ubuntu, my Linux distribution, but was only providing 32-bit packages. An attempt to force install the 32-bit package ("sudo dpkg --install --force-architecture opencpn_1.2.8_i386.deb") got the software installed, but then it refused to run when it couldn't find a necessary library. In the end, I simply downloaded the source code and compiled the program myslef (I did first have to download libwxgtk2.8 and libwxbase2.8, not immediately obvious to me from the compilation errors I ran into).

The program's user interface is so simple that it is ironically at first a little daunting. From the options screen I pointed it at my freshly downloaded NOAA charts which it quickly loaded into memory. Enabling chart outlines, I zoomed way out and saw a red square for every NOAA chart that was installed on my laptop, an impressive array stretching from the Gulf of Mexico, around Florida and up the east coast to Washington DC. (Very soon this collection will grow, as I see no good reason to not download all available charts.)

There are in and out buttons which zoom you in and out of the chart you're currently viewing, as well as scale in and out buttons which move you between the different charts covering the same area. Buttons at the bottom of the screen also allow you to easily preview available charts and quickly switch the scale. Finally, simply dragging the image around, the software automatically jumps from one chart to another for you, allowing me to drag all around the coastline as we plot our upcoming cruise. The program also can display tidal and current information, accurate for the current day (or easily viewed in the future for planning).

The final piece that I needed to get working was integrating our Garmin GPSMap 76cs handheld GPS with my laptop. The device has a mini-USB in the back, and plugging it into my laptop it was clear that my Linux OS recognized the device. Unfortunately, however, I couldn't get the program to actually talk to the device. I dug around for a couple of hours, getting closer but not quite solving the problem, and finally posted to a bulletin board asking for help. Within a few hours, the primary author of the program responded with some helpful tips, and I was quickly up and running. (It turns out that on Linux OpenCPN can't talk directly to a Garmin device. I instead had to set up gpsd and then talk to that. Full details are here.)

I now have a completely functional chart plotter running on my laptop. It tracks our boat in real time as it moves through the water, plotting its location on actual NOAA charts. And, most impressive of all, it was completely free.

We plan to test the software out in a real situation for the first time today. I've plotted a course from our location in the Key West mooring field to the nearby Boca Grande Key, a direction we hope to head today if weather and waves cooperate. The software doesn't have all the features that are in our expensive Garmin 4208 chart plotter, but it is more than sufficient as a navigational aide (which is all that we use our existing plotter for anyway), and will be an excellent backup should something happen to our primary plotter.

I'm still experimenting with NOAA's ENC chart format. OpenCPN loads them in fine, but either it's not displaying them completely, or I don't fully understand their purpose. From what I read on the NOAA website, it's worth getting them fully working. Regardless, the NOAA raster files which already work perfectly are amazing -- having free access to the entire NOAA chart collection is a wonderful feeling. And I can't help to wonder what these charts would look like if printed out in full color (which is also legally allowed by NOAA so long as it's not for commercial purposes) -- very inexpensive, high quality, paper charts... Beyond that, I'm now beginning my search for other free sources of raster charts for areas outside of the United States.

1 comments on Free, Open Source Chart Plotter

The OpenCPN software worked quite nicely under actual testing. Under way, it agrees exactly with our Garmin chart plotter, except that it displays our position on actual NOAA charts which is quite nice.

Having used the software a bit now, I think the two biggest missing features are 1) a speed display, and 2) a "track" record of where we've already gone. The former is simply handy and something I refer to frequently while under sail using our built in plotter, and the latter is quite useful for navigation in that I know exactly where I've been before and therefor where it's safe to go again.