Raymarine GPX File Editing

May 28, 2015
280
Catalina 385 Atlantic Highlands, NJ
I just archived my entire Raymarine database of waypoints, routes, and tracks. The archive file is now a GPX file which is essentially an XML text file. Raymarine has done a really nice job of using custom extensions and GUIDs to allow the association of waypoints and routes.

Anyway, this file is huge and its an amalgamation of stuff that I've done over the years with Raymarine Software, Fugawi, and most recently Navionics. Admittedly its a major mess. Some of my waypoints are organized into groups, others are not.

Has anyone used software they like that is compatible with Raymarine's custom GPX extensions to organize the data on a PC and then upload it. Stuff like renaming waypoints, organizing into groups, etc.

I have OpenCPN but I want to be able to maintain the Raymarine custom extensions and I haven't yet tested OpenCPN for that.

Since this is an "object by object" thing, I've even thought about maybe importing into a database that can read xml and write xml but again, I don't want to lose Raymarine's custom stuff because I want to re-import the data back into my MFD. I've even thought about using a Python routine to re-produce the file as needed.

Has anyone done anything like this recently ... or should I buck up and stand at my helm and organize this stuff on the MFD?
 
Nov 21, 2007
661
Beneteau Oceanis 34 Kingston, WA
Sounds like a good question for an OpenCPN forum or support group, or Raymarine support. I'd be nervous that any non Raymarine tool would either strip the proprietary extensions out, or fail to properly parse the file to start with. You could try editing a copy of the file with a simple text editor. It would be cumbersome, but not as bad as standing at an MFD, editing one waypoint at a time! You could also try importing just the data using a database or Excel to edit in the missing elements like groups identifiers, etc., then export that again as a CSV or delimited file. If you can set up the data structure in Python and maintain data integrity, go for it. It would be a least as rewarding as any "work" related coding project.

Good luck!

[Edit:] Its been a LONG TIME since I did anything like this. Just my initial thoughts and reaction.
 
Feb 10, 2004
3,997
Hunter 40.5 Warwick, RI
This GPS utility will read/write and covert between many GPS formats. The utility is called GPSU. You can download the latest version (5.51) from the link below. This is a fully functioning software program.
GPS Utility - Download
It is freeware, but you can donate if you wish.
Start with the tutorial under help to learn how to use it. The learning curve is a bit steep, so allow time to understand.
My recollection was that there was a small positioning error after conversion. It was due to the number of decimal places in the waypoint values. I wish I could be more specific on this. Google to see if this error is documented- that was how I found out about it and learned the fix.
This program may do what you need. I have only used it to convert waypoints from Garmin to Raymarine.
 
  • Like
Likes: SoSound

Ward H

.
Nov 7, 2011
3,699
Catalina 30 Mk II Cedar Creek, Bayville NJ
@jssailem May be able to help. He uses OpenCPN and knows it quite well.
I know I exported a track as a GPX file from my Axiom 7, opened it in OpenCPN and converted it to a Route. I edited waypoints and exported it as a GPX file and loaded it into my Axiom, successfully.
I doubt my little exercise compares to the complexity of what you need to do though.
 

jssailem

SBO Weather and Forecasting Forum Jim & John
Oct 22, 2014
21,573
CAL 35 Cruiser #21 moored EVERETT WA
GPX file which is essentially an XML text file. Raymarine has done a really nice job of using custom extensions and GUIDs to allow the association of waypoints and routes.

Anyway, this file is huge and its an amalgamation of stuff that I've done over the years with Raymarine Software, Fugawi, and most recently Navionics. Admittedly its a major mess. Some of my waypoints are organized into groups, others are not.
WOW... This is an interesting project. I have not done anything this complex with OpenCPN.

While I can conceive of the process, there are issues I have experienced with simple projects that involve the way waypoints / tracks / routes are created and interpreted by different software packages. The GUI result of an exported single track (which when created was a series of time separated waypoints) then imported required lengthy massaging (deleting of both intermediate and stray waypoints) to yield a usable track to route conversion in OpenCPN.

I am unclear as to the nature of "Custom extensions and GUID's" you identify. I do not know how OpenCPN will handle them on import.

While GPX file format is a usable tool to transfer waypoint data between disparate often proprietary software. The complexities of one is likely to be lost, ignored, or randomized when imported from one source to a different system. Waypoint data and Route associations may work just fine. If I was to attempt to tackle the idea, I would start there.

What the hey... This could be an interesting experiment.
 
  • Helpful
Likes: JamesG161
May 28, 2015
280
Catalina 385 Atlantic Highlands, NJ
Thanks guys ... great info as usual. I downloaded the GPS utility Rich suggested. Its a pretty nice piece of freeware but I think what I'm looking at is both simpler and more complex than it can handle. As I work though this I figure I'd write down what I learn in the process.

I have about 1,000 waypoints with about 800 uncategorized or categorized as "Current Waypoint" due to imports from other systems.

I have a reasonable number of routes (probably 2 dozen). About 10 of the routes were built with autorouting on either the Raymarine itself or my Navionics iOS software. These have about 500 different waypoints all with the cryptic waypoint naming convention but since they are tied to routes, I figured out a way to organize them using search and bulk categorize them into groups based on the route they are tied to. This will clean up about half of them. Right now I only need to keep one of these routes so I think I can make quick work of about half of the waypoints.

The other half follow my naming convention and I think I can get pretty close to grouping them using the same method as the waypoints above.

I have the Raymarine e125 (circa 2016) running Lighthouse software and by studying the XML file I noticed something really slick that Raymarine did with their custom extensions and software.

Raymarine stores their GUID's as custom extensions. I don't know whether a GUID could be created by someone by simply storing a GUID in a GPX/XML file or whether Raymarine automatically creates GUIDs and looks for a specific structure. I do know that if you export an object, edit it in the raw XML, and reimport it with its GUIDs intact it will "update/overwrite" the existing item and it won't create a new item.

Also, based on my research, native GPX stores waypoints and route points independently without linkage. What this means is that native GPX does not have functionality for "create one waypoint, reuse same waypoint in many routes". However Raymarine's storage of the GUID of the waypoint is also used in their route point custom extension so that when you use a waypoint in a route there is a reference to the waypoint's GUID.

What I don't know is if you edit the waypoint outside of the route whether the Raymarine software under the covers is smart enough to change the Lat/Lons in all the places it is used in routes.

Below see my waypoint SHB00 ... note its GUID and note the same GUID in the Route Point. I use this waypoint in 4 routes and the Route Point appears the same in all four routes.

What I think someone would need to efficiently maintain a large route/waypoint library for Raymarine Lighthouse based devices is either the ability to read GPS/XML in a text file or a database capable of importing XML and then exporting the XML in the proper structure, but in either case maintain the integrity of the extensions.


<wpt lon="-74.0242216" lat="40.471974">
<time>2014-06-15T00:00:57Z</time>
<name>SHB00</name>
<sym>Red Cross</sym>
<extensions>
<raymarine:WaypointExtension>
<raymarine:GUID>be80-c045-0001-8d15</raymarine:GUID>
<raymarine:GroupGUID>be80-c045-0036-4af5</raymarine:GroupGUID>
<raymarine:GroupName>Sandy Hook Bay</raymarine:GroupName>
</raymarine:WaypointExtension>
</extensions>
</wpt>


<rtept lon="-74.0242216" lat="40.471974">
<time>2014-06-15T00:00:57Z</time>
<name>SHB00</name>
<sym>Red Cross</sym>
<extensions>
<raymarine:RoutePointExtension>
<raymarine:GUID>be80-c045-0001-8d15</raymarine:GUID>
<raymarine:GroupGUID>be80-c045-0036-4af5</raymarine:GroupGUID>
<raymarine:GroupName>Sandy Hook Bay</raymarine:GroupName>
</raymarine:RoutePointExtension>
</extensions>
</rtept>
 
Last edited: