Converting S-57/ENC -> Garmin Format?

Hi Folks, I'm looking for a method to convert S-57/ENC NOAA marine charts to Garmin format. I suspect similar functionality would also be useful for pulling this data into OSM format as well. NOAA updates their vector based charts regularly, so it's a good data source now. My research has shown there doesn't exist a utility to do this and I'm considering developing a utility. I'm a software developer and reviewed mkgmap, GDL ogr and OpenCPN, all of which have some of the functionality to put this together. The mkgmap Java source is pretty extensive and well organized, so I'm hoping to start with this as a basis or add to the project. It looks like the an S-57 "reader" would be required to get the data through mkgmap. So a new reader would be created in mkgmap.reader.s57. I'm also noticing a more code for "sea" in sea.optional. Any reason why this requires different algorithm for conversion? I see there are dependencies on Geotools, however unsure why. I'm new at the whole map processor, however am willing to learn. Any pointers are appreciated. Thanks, Nick

Nick, You may interested in this thread: http://sourceforge.net/p/openseamap/mailman/message/31270792 Also, RheinSkipper, a regular contributor to this newsgroup, has done a lot of work on making marine charts with mkgmap and will doubtless share his experiences.

Malcolm, I feel a bit relieved that others have some knowledge in this area. Interestingly enough, I'm in the New York area as the post mentions. Your utility claims to convert S57->OSM. Do you happen to know how much of the original data is retained and/or milage this convertor has seen? I followed the thread, compiling both "ISO8211-text convertor" and "S57-OSM convertor". You mention that "these charts have many overlapping areas, so removal of duplicates will be necessary in the merging process". Wow, that could be very time consuming for all the NOAA Maps even with OpenCPN (maps change almost yearly). Any fuzzy thoughts on automating this? I recall that mkgmap has a bunch of layering code in it. I'm wondering if that code could help here? Would integrating searender converter into mkgmap derivative help? Alternatively, OpenCPN seems to correctly draws layers in order from the NOAA S57 charts, so perhaps that code would help, however it's a bit challenging to read as it's very flat in nature. Any fuzzy thoughts are helpful. The goal is to get the S57 ENC NOAA charts into both OSM and Garmin retaining as much information as possible. Thanks again, Nick On Fri, Aug 16, 2013 at 2:57 PM, Malcolm Herring < malcolm.herring@btinternet.com> wrote:
Nick,
You may interested in this thread: http://sourceforge.net/p/openseamap/mailman/message/31270792 Also, RheinSkipper, a regular contributor to this newsgroup, has done a lot of work on making marine charts with mkgmap and will doubtless share his experiences.
_______________________________________________ mkgmap-dev mailing list mkgmap-dev@lists.mkgmap.org.uk http://lists.mkgmap.org.uk/mailman/listinfo/mkgmap-dev

On 16/08/2013 20:45, Nick Hughes wrote:
Do you happen to know how much of the original data is retained and/or milage this convertor has seen?
It converts all the S57 objects & attributes within the ENC file, with the option to selectively filter. The converter is an unfinished project, in that the line/area object processing is incomplete. Since I am in the the process of porting searender to Java, I have stopped work on the original, with the long-term aim of doing direct 8211-OSM conversion. However, the renderer must come first! The only mileage s57toosm has seen is my testing it with random NOAA, Dutch RWS & German WSV charts.

On Fri, Aug 16, 2013 at 4:25 PM, Malcolm Herring < malcolm.herring@btinternet.com> wrote:
On 16/08/2013 20:45, Nick Hughes wrote:
Do you happen to know how much of the original data is retained and/or milage this convertor has seen?
It converts all the S57 objects & attributes within the ENC file, with the option to selectively filter. The converter is an unfinished project, in that the line/area object processing is incomplete. Since I am in the the process of porting searender to Java, I have stopped work on the original, with the long-term aim of doing direct 8211-OSM conversion. However, the renderer must come first!
The only mileage s57toosm has seen is my testing it with random NOAA, Dutch RWS & German WSV charts.
Ok, how far along is the Java port? I converted one NOAA chart and opened the OSM.xml with JOSM. Apologies if I'm a bit new to this, I'm usually developing kernel code. It was just a bunch of dots representing nodes. There were no icons for each node, which I suspect is correct behavior. There was no information on depth soundings or buoy pathways. So I'm suspecting that the converter needs enhancements in this area? I will start by reading up on S-57 and ISO 8211. Thanks again, Nick

On Fri, Aug 16, 2013 at 6:38 PM, Nick Hughes <nixon8890@gmail.com> wrote:
On Fri, Aug 16, 2013 at 4:25 PM, Malcolm Herring < malcolm.herring@btinternet.com> wrote:
On 16/08/2013 20:45, Nick Hughes wrote:
Do you happen to know how much of the original data is retained and/or milage this convertor has seen?
It converts all the S57 objects & attributes within the ENC file, with the option to selectively filter. The converter is an unfinished project, in that the line/area object processing is incomplete. Since I am in the the process of porting searender to Java, I have stopped work on the original, with the long-term aim of doing direct 8211-OSM conversion. However, the renderer must come first!
The only mileage s57toosm has seen is my testing it with random NOAA, Dutch RWS & German WSV charts.
Ok, how far along is the Java port?
I converted one NOAA chart and opened the OSM.xml with JOSM. Apologies if I'm a bit new to this, I'm usually developing kernel code. It was just a bunch of dots representing nodes. There were no icons for each node, which I suspect is correct behavior. There was no information on depth soundings or buoy pathways. So I'm suspecting that the converter needs enhancements in this area?
FYI I saw the "all" option. I tested "ways" and JOSM has issues reading the OSM file.
I will start by reading up on S-57 and ISO 8211.
Thanks again, Nick

Hi Nick,
I will start by reading up on S-57 and ISO 8211.
There is a ISO 8211 plugin for FME: http://docs.safe.com/fme/reader_writerPDF/iso8211.pdf Best regards, Markus

On Sat, Aug 17, 2013 at 2:03 AM, Markus <liste12A45q7@gmx.de> wrote:
Hi Nick,
I will start by reading up on S-57 and ISO 8211.
There is a ISO 8211 plugin for FME: http://docs.safe.com/fme/reader_writerPDF/iso8211.pdf
FME looks promising, however has no information about license fee's. I also see the S57 plugin is extra purchase. Also, was looking for "Polish Map Format aka .mp" in the list and could not find it. PMF is required as an intermediate stage to convert to Garmin using existing tools like cgpsmapper, maptk and mkgmap.

On 16/08/2013 23:38, Nick Hughes wrote:
Ok, how far along is the Java port?
I converted one NOAA chart and opened the OSM.xml with JOSM. Apologies if I'm a bit new to this, I'm usually developing kernel code. It was just a bunch of dots representing nodes. There were no icons for each node, which I suspect is correct behavior. There was no information on depth soundings or buoy pathways. So I'm suspecting that the converter needs enhancements in this area?
I am well into the Java port, but have not done any work in the last couple of months owing to a house move. My first priority is the renderer - the S57 conversion will come later (NB: s57toosm was a subsidiary project of searender to leverage use of the look-up tables). I recommend that only the "nodes" option is used in s57toosm as the line/area processing is incomplete & can generate invalid OSM files (or crash). I have since delved deeper into the encoding of S57 vector objects & have addressed these issues in the Java code. This new work cannot easily be ported back to s57toosm as I have completely changed the architecture and internal map model structure in the new program.

Hi Nick,
I'm looking for a method to convert S-57/ENC NOAA marine charts to Garmin format.
:-) Transform it first to OSM (see OpenSeaMap scheme). There is a approved tool working as plugin with FME. If you find an access, the transformation seems to be easy. Malcolm has written a S-57-to-OSM writer... May be you like to join in to the OpenSeaMap-dev-ML: https://lists.sourceforge.net/lists/listinfo/openseamap-develop Than we can transform it to Garmin: http://wiki.openstreetmap.org/wiki/OpenSeaMap_and_Garmin_nautical_chart_plot...
NOAA updates their vector based charts regularly, so it's a good data source now.
:-)
mkgmap, GDL ogr and OpenCPN, all of which have some of the functionality to put this together.
:-)
The mkgmap Java source is pretty extensive and well organized
There are some unsolved tasks to do around areas etc. Jürgen is talking about on this list. Best regards, Markus

Hi,
I'm looking for a method to convert S-57/ENC NOAA marine charts to Garmin format.
S-57 is supported by ogr2ogr, Quantum GIS and Gloabal Mapper. First two are free, you can use them to convert data to shp, which should be easy to process further. Global Mapper is commercial software and it supports Garmin mp format directly. -- Best regards, Andrzej
participants (4)
-
Andrzej Popowski
-
Malcolm Herring
-
Markus
-
Nick Hughes