Create S-57 Exchange Set (Maritime)

Available with ArcGIS Maritime license.

Summary

Allows a mariner to view the Electronic Navigational Chart (ENC) datasets in an Electronic Chart Display and Information System (ECDIS) for shipboard navigation.

An exchange set is a package of files that contains one catalog file and at least one S-57 dataset file (New Edition [EN] and Revised Edition [ER]). Once you have exported and published your S-57 data, you need to package the S-57 dataset files into a valid S-57 exchange set.

Usage

  • Validate the S-57 product and clear it for publishing before creating the exchange set.

  • This tool packages external files referenced by features in the following formats:

    • ENC—*.txt, *.jpg, and *.tif
    • IENC—*.txt, *.jpg, *.tif, and *.xml
    • AML—*.txt, *.tif, *.pdf, *.html, *.htm, .jpeg, *.jpg, *.avi, .mpeg, and *.mpg
    • Additional file types can be configured for each product type in <install location>\Resources\Maritime\S57ISO8211.xml.

  • If an external file with the same name exists in multiple input folders, the one in the same folder as the S-57 product is given highest priority, followed by the order in which the folders appear in the input.

  • The LFIL File parameter provides a method to populate the long file description tag (LFIL) on the catalog directory field in the output exchange set. This is a text file with entries separated by new lines, conforming to the format: [File name pattern]|[Long file description]

    When a file contained in the exchange set matches the file name patterns, its long file description is populated with the text following the '|' character on that line.

    The following are examples:

    • US5ESRI.000|Navigable waters of Paradise Bay
    • US1Z*|General view of coast
    • US1ZABC|North coast

    The wildcard character * can be used to match several files when pattern matching. A more specific name match will take precedence over a more generic match: US1ZABC is a better match than US1Z* for a cell named US1ZABC.000.

Parameters

LabelExplanationData Type
Input Directories

Folders that contain at least one S-57 base cell (*.000) and, optionally, any of the following:

  • S-57 update datasets
  • README.txt file
  • Any referenced files in the S-57 cells (*.txt, *.tif, and *.jpg)

Folder
Output Directory

The location of an empty folder where the ENC_ROOT folder will be written. The folder must be empty for the tool to run successfully.

Folder
Layout Format

Specifies the directory and folder structure of the exchange set.

  • VERSION_LAYOUT The exchange set will be written in the format ENC_ROOT\CATALOG.031, ENC_ROOT\<Agency>\<ProductName>\<MajorEdition>\<MinorEdition>\<S57Product>, <Referenced Files>. This is the default.
  • PRODUCT_LAYOUTThe exchange set will be written in the format ENC_ROOT\CATALOG.031, ENC_ROOT\<ProductName>\<S57Product>, <Referenced Files>.
  • FLAT_LAYOUTThe exchange set will be written in the format ENC_ROOT\CATALOG.031, <S57Product(s)>, <Referenced Files>.
String
Updates Only
(Optional)

Specifies how S-57 update datasets in the input folder will be processed.

  • Checked—The output exchange set will include all the updates but not the S-57 base dataset. If there are no updates, the output will include the S-57 base dataset.
  • Unchecked—The output exchange set will include the S-57 base dataset and any update datasets. This is the default.
    Note:

    An S-57 base dataset is required in the input folder when creating an update exchange set.

Boolean
LFIL File
(Optional)

A text file that will be used to match file names in the output exchange set to the long file descriptions populated on the catalog file records.

File

Derived Output

LabelExplanationData Type
S-57 Exchange Set Directory

The location of an empty folder where the ENC_ROOT folder will be written.

Folder

arcpy.maritime.CreateS57ExchangeSet(in_directories, out_directory, layout_format, {updates_only}, {lfil_file})
NameExplanationData Type
in_directories
[in_directories,...]

Folders that contain at least one S-57 base cell (*.000) and, optionally, any of the following:

  • S-57 update datasets
  • README.txt file
  • Any referenced files in the S-57 cells (*.txt, *.tif, and *.jpg)

Folder
out_directory

The location of an empty folder where the ENC_ROOT folder will be written. The folder must be empty for the tool to run successfully.

Folder
layout_format

Specifies the directory and folder structure of the exchange set.

  • VERSION_LAYOUT The exchange set will be written in the format ENC_ROOT\CATALOG.031, ENC_ROOT\<Agency>\<ProductName>\<MajorEdition>\<MinorEdition>\<S57Product>, <Referenced Files>. This is the default.
  • PRODUCT_LAYOUTThe exchange set will be written in the format ENC_ROOT\CATALOG.031, ENC_ROOT\<ProductName>\<S57Product>, <Referenced Files>.
  • FLAT_LAYOUTThe exchange set will be written in the format ENC_ROOT\CATALOG.031, <S57Product(s)>, <Referenced Files>.
String
updates_only
(Optional)

Specifies how S-57 update datasets in the input folder will be processed.

  • INCLUDE_ALLThe output exchange set will include the S-57 base dataset and any updates. This is the default.
  • INCLUDE_ONLY_UPDATESThe output exchange set will include all the updates but not the base dataset. If there are no updates, the output will include the S-57 base dataset.
Boolean
lfil_file
(Optional)

A text file that will be used to match file names in the output exchange set to the long file descriptions populated on the catalog file records.

File

Derived Output

NameExplanationData Type
derived_out_directory

The location of an empty folder where the ENC_ROOT folder will be written.

Folder

Code sample

CreateS57ExchangeSet example (stand-alone script)

The following code example demonstrates how to use the CreateS57ExchangeSet function.

# Import arcpy module
import arcpy

input_directories = [r"C:\data\AML\cells", r"C:\data\AML\external_files"]
output_directory = r"C:\output"
layout_format = "FLAT_LAYOUT"
updates_only = "INCLUDE_ALL"
lfil_file = r"C:\exchange\LFIL.txt"

# Process: Create S-57 Exchange Set
arcpy.maritime.CreateS57ExchangeSet(input_directories, output_directory, layout_format, updates_only, lfil_file)

Environments

Licensing information

  • Basic: No
  • Standard: Requires ArcGIS Maritime
  • Advanced: Requires ArcGIS Maritime

Related topics