Electronic Chart Options

With the upcoming support for underwater positioning systems (like the WaterLinked system), and QGC not having any charts available for marine use, Jacob had asked me what resources might be available to make this happen. I know a bit about charting standards and what products are out there, but if anyone else has anything, please chime in. I also have more of a background with US charts made by NOAA, but I know our international friends have other hydrographic agencies, but I have not had a chance to use these.

Charts authorized for use for navigation are available in two different formats: Raster Navigational Charts and Electronic Navigational Charts. We will also get to other charts that are used for “situational awareness” but not authorized for navigation.

Raster Navigational Charts (RNCs) are what most older mariners are accustomed to and what vessels navigated by before computers. These have been traditionally made of paper and corrections had been done by hand. Now, paper charts are considered relics and no longer officially manufactured. However, RNCs are still available in a number of formats and can be printed if desired. Below is what an RNC looks like:
RNC (1)

Products available for RNCs:

  1. PDF/BSB through the chart locator: Chart Locator
  2. Seamless Raster and Web Map Services via Esri REST: https://www.nauticalcharts.noaa.gov/csdl/seamlessraster.html
  3. RNC Tile Service: https://tileservice.charts.noaa.gov/

An Electronic Navigational Chart (ENC) is a database (as opposed to a sheet) created by a hydrographic office for use on an electronic chart display. Data is in a vector format so resizing the screen will amplify or shrink details so the display is less cluttered. It is also possible to select units and desired details. Below is what an ENC looks like of the same area:

You’ll probably hear of a few different standards for ENCs:

S-57: This is the current standard for ENCs to be accepted by the International Hydrographic Office (IHO) for navigational purposes.
S-63: This is visually identical to S-57 but adds encryption and digital signing.
S-100/101: The next generation of electronic charts. Still in draft phase, not available to the public. S-57 will remain a standard for many years.

Products available for ENCs:

  1. ENC by region: U.S. Office of Coast Survey
  2. ENC to GIS services (with KML support): https://www.nauticalcharts.noaa.gov/csdl/ctp/encdirect_help.htm

Other Chart sources I am aware of (these are not free and come on chart cards):
Navionics: Navionics
C-Map: http://lightmarine.c-map.com/
Garmin (proprietary)

Desired: S-57 ENCs at the highest zoom level that QGC can support. The issue with this is that ENCs are in vector format and QGC only works with map tiles. I am unsure go to get that working and there is probably a good reason NOAA doesn’t have an ENC tile service.

Recommendation: See if we can get the RNC tile service working as another map database we can select or figure out a way to get either the Esri or Mapbox token function to work and individuals can set up their own map server.


Great start Kevin, I’ve got some homework to do.

1 Like

Nice overview Kevin. I second the request for RNC or ENC (preferred) support. Operating in a marine environment it would be very useful to see soundings and other bottom features. OpenCPN is an open source marine charting system, and runs on all platforms. Maybe parts of their engine could be implemented without too much pain. https://opencpn.org/


That Opencpn looks like an interesting site thanks for posting I shall down load their software and give it a whirl.

IMO ENC is way too much information for my use, Raster Charts and the ability to see where I am with respect to the rest of the planet will do me.


Many nice things about ENC… they don’t pixelate when zoomed in, and all text and symbols scale appropriately. Also every type of information on an ENC is contained in it’s own layer, so depending on the software you can turn off any elements that you don’t want to see. You can do custom depth contours, change color schemes, etc etc.

Yes I totally agree with you wrt to ENC, but its mainly all to to do with surface navigation. I would be quite happy to see the object of interest on the sea bed and my position relative to it and the rest of the planet.

In fact the charting side of things is peripheral, I would like to see the ROV position/heading relative to my position without that information the ROV is extremely awkward in any meaningful way subsea.

ENC/RNC’s are freely available for much of the planet and are frequently updated. ENC’s are more portable and easier to update because of their smaller size.

If you can import NMEA 0183 (usually via serial input) to OpenCPN (or any chart plotter for that matter), you can use the software to track your vehicle’s position. NMEA 0183 is simple text strings, the most common sentence for GPS is RMC (more info here).

OpenCPN also supports plugins, which could be used for things like overlaying a sonar or side scan image (more info here).

I’m ok with an OpenCPN display being fed NMEA information from the ROV positioning system. There are some pros and cons to that method:


  1. A second display monitor will be required. I’m ok with this because I have enough room inside my boat cabin to spread out. I was going to start hooking up dual monitors anyway. Some of the smaller, portable setups might have an issue with dual monitors.
    2, A plugin will have to be built for NMEA OUT in QGC. The Mavlink messages are not set up to output NMEA so some rearranging will be required.
  2. Users will have to learn OpenCPN architecture in addition to QGC.


  1. One entire monitor can be dedicated for ROV video, the other for position.
  2. We will have GCS position, ROV position and whatever charts/functions the user wants.

Question: How do we deconflict NMEA streams in OpenCPN? One stream is going to be from the GCS location, the other from the ROV. Is it possible to display both at the same time? Is this something we can test now with two computers?

You’ll need a NMEA multiplexer to combine more than one data stream.

Aside from hardware, You can work with software multiplexing also.
That way NMEA can be both combined and split.
I use Franson GPS splitter a lot:

My thought with OpenCPN was that code could be borrowed from OpenCPN and incorporated (with reduced feature set) into QGC as a means to display nautical charts within QGC. To conflict NMEA streams maybe it’s possible to use the ROV position as “own ship”, and have it so the GCS position shows up as an AIS target… that way you could assign waypoints and routes to the ROV.

That may not be possible due to licensing restrictions. But OpenCPN supports custom plugins and that might be used to interface with qGC. OpenCPN also supports output to autopilots which could also be interfaced with ROV control via NMEA 0183.

I didn’t consider that, hopefully they would be supportive of a fellow opensource project. I see they recently allowed someone to monetize an Android version. Haven’t tried it yet.

If you are building your own system running some flavor of Linux you can build it on top of this as well.


It comes with these charts.