28 August 2010 12:36
The last post dealt with loose cells. Now we are going to consider Exchange Sets and finally Transmittals.
The Navigation software needs to import cells and updates. The result of this is stored in some kind of SENC. That is a System Electronic Navigation Chart (Google for SENC and you’ll find many definitions other than this one but just bear with me). The thing is that while a single .000 file can be displayed directly the cell update files need to be applied to the corresponding base file first. They also need to be applied in order. The SENC then is the result of installing base files, update files and possibly other files. The SENC is what your navigation system reads to display charts. An Exchange Set is the standards definition of the set of files that can be applied to a SENC.
The ENC product specification states that an exchange set contains a catalog file, one or more data files maybe a readme file and possibly some text and picture files. These last two are referred to as auxiliary files and contain information which is supplementary to the cells. That is, an object in a cell may refer to one or more auxiliary files to provide addition information.
The catalog file contains an entry for every other file in the exchange set. It describes where the file is in the exchange set (different organizations may use different folder structures) and also some checksums to ensure that none of the files are damaged. Bearing in mind the previous discussion about updating cells you might also hope that it contained the edition and update number of the cell files in the exchange set but sadly this is not the case. Some organizations put this information in a comment field but since this is not mandated it is not reliably present. So you can have update logic that uses the edition and update numbers from the catalog but it also needs to be able to fall back to reading this information from the cells themselves – which is perfectly possible but takes longer.
The standard describes how the volume label of the exchange set should be made up. If you are not savvy about volume labels then no matter because nobody really takes much notice of this. In principle an exchange set could be split across several volumes but I don’t think this ever happens. In the volume is a folder called ENC_ROOT which contains the catalog. The cell files may be in this folder or are commonly placed in sub-folders. A directory listing might look like this:
Does that bring back memories of those heady DOS days c:\ > ?
So the basic update algorithm is to locate ENC_ROOT\CATALOG.031, read it and then install all the files it mentions. Overall the mechanism is a bit clunky and can lead to some seriously cryptic error messages. It can be made to work but there are corners which have not been thought out very well. Management of the auxiliary files is one example of this. In fact some of the omissions are possibly evidence that the standard preceded any real implementation.
A Transmittal is a super set of an Exchange Set. Each producer of data tends to have their own take on the standard and often include additional files. This is allowed by the standard. The trouble is that if any software relies on the additional data then it can only be used with data from that supplier. This is a pity because some of the additional information can be quite useful. There is often a complete catalog of what is available (albeit just from that producer) and other information. Check for a folder called \INFO or the such.
The standard actually prohibits the use of compression (S57 Appendix B1 5.2 if you care) which seems a bit unfair. NOAA go ahead and compress it anyhow so when you download charts from http://www.nauticalcharts.noaa.gov/ they will arrive in a zip file. Decompress this and you will find the transmittal contains an exchange set pretty much as above. Each cell has its own folder which contains the base cell and sometimes quite a lot of updates. The readme file contains a catalog which is not in the most readable form but can still be quite useful.
The catalog information in a transmittal can make for a useful geographical display.