Skip to content
ENDIGE BOATING

ENDIGE BOATING

Boats, boat electronics and software

  • Home
  • My boat
  • My electronics and software
  • Products and Downloads
  • English
    • Suomi
  • Home
  • OpenCPN hacks: visual changes to oeSENC vector charts

OpenCPN hacks: visual changes to oeSENC vector charts

Posted on October 26, 2020November 9, 2020 By Jaykay No Comments on OpenCPN hacks: visual changes to oeSENC vector charts
OpenCPN, Boating software

One of the great things about OpenCPN is the ability to modify (or hack) it to your liking. The problem is that there is really not much documentation on how to do it except the brief instructions on vector palette on OpenCPN manual. Below are instructions on how to change the outlook of oeSENC (S-57) charts. oeSENC charts are available from o-charts.org.

oesenc changes

How OpenCPN shows the vector maps is defined by a few files. I am only going to talk about chartsymbols.xml which can be found on Linux at /usr/share/opencpn/s57data folder.

Below are the changes I have made. Please note that with every OpenCPN update, the chartsymbols.xml will be overwritten, so you need to copy your file for example as chartsymbols.xml.own and then replace chartsymbols.xml after the update with your own file.

Changing deep water color to white

For more unified look with the chart plotters, I wanted the deep water to be white (whitewater).

Original

<color name="DEPDW" r="212" g="234" b="238"/>

changed to

<color name="DEPDW" r="255" g="249" b="245"/>

Changing boat routes from gray to dark pink

For better visibility, I wanted the boat routes (they are called non-regulated recommended tracks (RECTRC) in OpenCPN) to be dark pink (which is also what Navionics Boating app uses) instead or gray.

You can do it by changing all <color-ref> entries for RECTRC (i.e. RECTRC09, RECTRC10, RECTRC11 and RECTRC12) from CHGRD to CHMGD. These can be found under <line-style> element (see example below, note that the color has already been changed here)

<line-style RCID="3336">
	<name>RECTRC09</name>
	<vector width="2220" height="310">
		<distance min="0" max="0" />
			<pivot x="932" y="1415" />
			<origin x="1107" y="1260" />
	</vector>
	<description>non-regulated recommended two-way track, not based on fixed marks</description>	<HPGL>SPA;SW1;PU1107,1415;PD1423,1415;SPA;SW1;PU1596,1415;PD1921,1415;SPA;SW1;PU2299,1415;PD2624,1415;SPA;SW1;PU3002,1415;PD3327,1415;SPA;SW1;PU2299,1570;PD2094,1415;PD2299,1260;SPA;SW1;PU2624,1570;PD2829,1415;PD2624,1260;</HPGL>
	<color-ref>ACHMGD</color-ref>
</line-style>

Changing boat route orientation texts from black to gray

To reduce the clutter, I have changed the boat route orientation texts (degrees) from black (CHBLK) to gray (CHGRD).

Original (please note that on the file, these are not grouped together like this, see example of the actual file below)

<instruction>LC(RECTRC09);TE('%03.0lf deg','ORIENT',3,1,2,'15110',1,-1,CHBLK,11)</instruction>
<instruction>LC(RECTRC11);TE('%03.0lf deg','ORIENT',3,1,2,'15110',1,-1,CHBLK,11)</instruction>
<instruction>LC(RECTRC11);TE('%03.0lf deg','ORIENT',3,1,2,'15110',1,-1,CHBLK,11)</instruction>
<instruction>LC(RECTRC11);TE('%03.0lf deg','ORIENT',3,1,2,'15110',1,-1,CHBLK,11)</instruction>
<instruction>LC(RECTRC09);TE('%03.0lf deg','ORIENT',3,1,2,'15110',1,-1,CHBLK,11)</instruction>

changed to

<instruction>LC(RECTRC09);TE('%03.0lf deg','ORIENT',3,1,2,'15110',1,-1,CHGRD,11)</instruction>
<instruction>LC(RECTRC11);TE('%03.0lf deg','ORIENT',3,1,2,'15110',1,-1,CHGRD,11)</instruction>
<instruction>LC(RECTRC11);TE('%03.0lf deg','ORIENT',3,1,2,'15110',1,-1,CHGRD,11)</instruction>
<instruction>LC(RECTRC11);TE('%03.0lf deg','ORIENT',3,1,2,'15110',1,-1,CHGRD,11)</instruction>
<instruction>LC(RECTRC09);TE('%03.0lf deg','ORIENT',3,1,2,'15110',1,-1,CHGRD,11)</instruction>

Example of where these can be found is below

<lookup id="820" RCID="31896" name="RECTRC">
	<type>Line</type>
	<disp-prio>Area Symbol</disp-prio>
	<radar-prio>On Top</radar-prio>
	<table-name>Lines</table-name>
	<attrib-code index="0">CATTRK2</attrib-code>
	<attrib-code index="1">TRAFIC4</attrib-code>
	<instruction>LC(RECTRC09);TE('%03.0lf deg','ORIENT',3,1,2,'15110',1,-1,CHGRD,11)</instruction>
	<display-cat>Standard</display-cat>
	<comment>25020</comment>
</lookup>

Hiding underwater cables and pipelines

Underwater cables and pipelines clutter the chart considerably. They are basically only useful when anchoring or doing certain types of fishing (e.g. trawling), but in all other cases, they make reading the map slower. They can be hidden from “User standard” view, but there are always shown on “All” view. Therefore, if you are not doing any anchoring or have an additional chart plotter which shows the cables, it may make sense hiding them permanently on OpenCPN. You can also change the color of these, but the problem is that the water color on the chart varies based on the depth, so these will always stand out on some depth and also in night mode.

To do that, change symbol CBLSUB to CBLSUB_DISABLED and PIPSOL to PIPSOL_SISABLED

Original (please note that on the file, these are not grouped together like this, see example of the actual file below)

<lookup id="709" RCID="31785" name="CBLSUB">
<lookup id="710" RCID="31786" name="CBLSUB">
<lookup id="785" RCID="31861" name="PIPSOL">
<lookup id="786" RCID="31862" name="PIPSOL">
<lookup id="787" RCID="31863" name="PIPSOL">
<lookup id="788" RCID="31864" name="PIPSOL">
<lookup id="789" RCID="31865" name="PIPSOL">
<lookup id="790" RCID="31866" name="PIPSOL">

changed to

<lookup id="709" RCID="31785" name="CBLSUB_DISABLED">
<lookup id="710" RCID="31786" name="CBLSUB_DISABLED">
<lookup id="785" RCID="31861" name="PIPSOL_DISABLED">
<lookup id="786" RCID="31862" name="PIPSOL_DISABLED">
<lookup id="787" RCID="31863" name="PIPSOL_DISABLED">
<lookup id="788" RCID="31864" name="PIPSOL_DISABLED">
<lookup id="789" RCID="31865" name="PIPSOL_DISABLED">
<lookup id="790" RCID="31866" name="PIPSOL_DISABLED">

Example of where these can be found is below

<lookup id="709" RCID="31785" name="CBLSUB_DISABLED">
	<type>Line</type>
	<disp-prio>Area Symbol</disp-prio>
	<radar-prio>On Top</radar-prio>
	<table-name>Lines</table-name>
	<attrib-code index="0">CATCBL6</attrib-code>
	<instruction>LS(DASH,1,CHMGD)</instruction>
	<display-cat>Standard</display-cat>
	<comment>24010</comment>
</lookup>

I am sure there are numerous other things you can change to make oeSENC maps better suited for your taste. The different object acronyms for S-57 ENC charts can be found here.

Share this:

  • Twitter
  • Facebook
  • LinkedIn
  • WhatsApp
  • Reddit

Related

Tags: chart plotter code hack o-charts oesenc s-57 vector chart

Post navigation

❮ Previous Post: Welcome!
Next Post: Remote control keyboard for OpenCPN ❯

Leave a ReplyCancel reply

Cart

Categories

  • Boats general
  • Boating software
    • OpenCPN
    • Mobile apps
  • Boating electronics and hardware
    • Sensors, cameras and IoT
    • Displays
    • Control devices
    • 3D printing
  • Commercial marine equipment and products
  • Nautical charts
  • Finland-specific

Subscribe to posts



Search

Tags

AI Antares 980 archipelago boat brands boat hooks boating app buoy hook chart plotter dashboard diesel DYI finnish fuel fuel station Furuno gasoline glass cockpit guest harbors hack instructions islands issue lakes marine engine marine gear ML monitor navionics neural networks nmea0183 no wash o-charts oesenc outboard pod drive pumpout Radio Ocean remote control RO4800 screen shaft drive speed limit stern drive sunlight readable vector chart
  • About this blog
  • Contact
  • RSS
  • Privacy Policy
  • Suomi

Copyright © 2025 ENDIGE BOATING.

Theme: Oceanly by ScriptsTown