Compose : Compose Support Files : Product Information File
 

Product Information File

A product information file is an XML file that defines product types. When a product is created using the Create S-57 Product wizard, the parameters in the wizard dialog boxes are read from the appropriate product information file.

Product information files are located in ...\CARIS\BASE Editor\4.3\modules\Feature Editing\support\ProductInfoFiles. All files in this folder are listed in any dialog box that asks you to select a product information file. If you create only a small variety of products, you can move the files you will not use into the NotInUse folder.

Some products require specific tags:

Product

Tags

AML

<securityClassification>, <IDOStatusList>, <natoCodesFile>

Generic

<ExchangeSet>, <dataSetName>

IENC and IENC overlay

<riverCodes>

IENC overlays

<usageChar>

Marine Information Overlays (MIO)

<MIOCategories>

Not all of these product types and tags are used in the default product information files. Some are only used in custom files.

Each file must contain the following header lines:

<?xml version="1.0" encoding="UTF-8" ?>

<ProductTable version="2.0" title="Product descriptions" type="S-57 ENC and AML">

Tags can be placed in any order, but child tags must be inside parent tags.

This is an example of the product information file structure. Tags are shown without attributes.

<ProductTable>

   <Product>

      <UseWaterWayCode/>

      <prsp value/>

      <psdn/>

      <prof/>

      <sted value/>

      <pred value/>

      <usageChar/>

      <lines_as_arcs/>

      <dsid_comt/>

      <dspm_comt/>

      <COMF/>

      <SOMF/>

      <usages>

         <band/>

      </usages>

      <full_precision/>

      <catalogue/>

      <group_table/>

      <national_attributes>

         <acronym/>

      </national_attributes>

      <units>

         <unit/>

      </units>

      <datums>

         <dat/>

      </datums>

      <lexicalLevels>

         <level/>

      </lexicalLevels>

      <securityClassifications>

         <classification>

            <default/>

         </classification>

      </securityClassifications>

      <IDOStatusList>

         <status/>

      </IDOStatusList>

      <dataSetName>

         <prefixes>

            <prefix/>

         </prefixes>

      </dataSetName>

      <ExchangeSet/>

      <natoCodesFile/>

      <riverCodes>

         <code/>

      </RiverCodes>

      <metaObjects>

         <object>

            <attribute/>

         </object>

      </metaObjects>

      <productFileZResolution/>

      <MIOCategories>

         <categories/>

      </MIOCategories>

   </product>

</ProductTable>

Tags and attributes

The tags and attributes that can be used in a product information file are listed in the table below.

Red tags are parent tags that act as containers for child tags. The others are either child tags within a parent tag or tags that do not contain child tags.

Tags marked with an asterisk (*) are not included in any of the default product information files. If a parent tag is marked with an asterisk, the associated child tags are also not included. These tags can be added manually or used in a custom file.

Tag

Attributes

Description

ProductTable

[Mandatory] The root tag for all tags in this file.

<ProductTable version="2.0" title="Product Descriptions" type="S-57 ENC, AML, IENC">

version

The version of the product information file. It must be 2.0

title

Text description for the file

type

The product type that can created using this file. If you add custom products, add the product to this list.

product

[Mandatory] All necessary information about the product.

Example:

<product id="ENC" version="3.1" key="ENC">

ID

The type of product. It can be used with a version attribute to retrieve particular product information or it can used by itself to retrieve a set of product information data. This attribute is mandatory.

version

The version of the product. This attribute is mandatory.

key

The type of product. This is used as a keyword to group products into types. It is used by the Create Product wizard to list products and to decide which dialog boxes to display and which data to file.

The following keys are valid:

AML (S-57 AML products)

AML 3.0 (S-57 AML 3.0 products)

ENC (S-57 ENC products)

IENC (inland ENC)

IENC_Overlay (IENC overlay)

MIO (Marine Information Overlay)

GENERIC (other non-standard S-57 products)

This attribute is mandatory

UseWaterWayCode

value

True: The Waterway Code field is displayed in the Step 2 dialog box of the Create S-57 Product wizard.

False: The Individual Cell Code field is displayed.

Example:

<UseWaterWayCode value="false"/>

This is used only for IENC Brazil and IENC_Overlay Brazil products.

prsp

value

[Mandatory] The product specification number. The value can be between 0 and 255.

Example:

<prsp value="1" />

psdn

value

[Mandatory] The product specification description.

Example:

<psdn value="Contour Line Bathymetry" />

prof

The value to export to the S-57 file’s application profile identification (PROF) field. Values for the base and update cells must be provided.

<prof base="1" revision="2" />

base

A value between 0 and 255.

revision

A value between 0 and 255

sted

value

[Mandatory] The S-57 edition number.

Example:

<sted value="3.1" />

pred

value

[Mandatory] The product edition number.

Example:

<pred value="2.0" />

usageChar

value

A character to describe an IENC overlay:

L: IENC overlay 2.0

A: IENC Overlay

This tag is optional and is used only with IENC overlay products.

Example:

<usageChar value="L" />

lines_as_arcs

value

A Boolean flag to indicate if lines should be treated as arcs: T for true or F for false. This tag is optional.

Example:

<lines_as_arcs value="T" />

dsid_comt

value

The dataset identification (DSID) value. The value is displayed in the Create Product wizard.

Example:

<dsid_comt value="STED:3.1.1;" mandatory="T" />

mandatory

A Boolean flag to indicate whether the value attribute is included in the New S-57 Product wizard: T for true or F for false.

dspm_comt*

value

The dataset parameter (DSPM) values.

Example

<dspm_comt value="comments" />

COMF*

value

The default coordinate multiplication factor. If this tag is omitted, the default value is 10,000,000.

Example:

<COMF value="1000000" />

SOMF*

value

Sounding multiplication factor. If this tag is omitted, the default is 10

Example:

<SOMF value="100" />

usages

[Mandatory] Parent tag for a list of valid usages associated with the product. This tag must contain at least one child layer.

Example:

<usages>
  <band value="1" intu="1" description="Overview" />
  <band value="2" intu="2" description="General" />
  <band value="3" intu="3" description="Coastal" />
  <band value="4" intu="4" description="Approach" />
  <band value="5" intu="5" description="Harbour" />
  <band value="6" intu="6" description="Berthing" />
</usages>

band

Child of the usages tag. Defines each usage in the product.

value

Value for the usage band

intu

Intended usage value of the band (from 0-255)

description

Short description of the band

full_precision*

A flag to indicate if float-type attributes will be exported using full precision. If this tag is omitted, attributes are rounded using the precision in the feature catalogue.

Example:

<full_precision />

catalogue

value

[Mandatory] A reference to the catalogue ID that maps to the catalogue control file. This enables the selection of product information (e.g., AML plus matching catalogue) in a single step.

Example

<catalogue value="S-57 CLB 1.0" />

group_table

value

[Mandatory] The full path to the group lookup table.

<group_table value="%S57Config%/system/ENCGroupTable.xml" />

national_attributes

Parent tag for a list of valid national attributes for each product. This is an optional tag.

Example:

<national_attributes>
  <acronym value=”NINFOM” />
  <acronym value=”NOBJNM” />
  <acronym value=”NPLDST” />
  <acronym value=”$NTXST” />
  <acronym value=”NTXTDS” />
</national_attributes>

acronym

value

national attributes.

units

Type

Type of unit and description for exporting depth, height, position accuracy, and Z values to the S-57 file. These are optional tags. If they are not included, then metres is used as the default unit of measurement.

Examples:

<units type="depth">

<units type="height">

<units type="positional accuracy">

ApplySoundingRoundingToDepthAttributes*

Apply the sounding rounding rule to depth attribute values when the product is exported to an S-57 exchange set.

Example:

<ApplySoundingRoundingToDepthAttributes />

unit

A child tag to further define the units tag.

Example of the depth units tag:

<units type="depth">
  <unit id="1" description="metres" />
</units>

Other depth unit examples are shown below.

<unit id="2" description="fathoms and feet" />
<unit id="3" description="feet" />
<unit id="4" description="fathoms and fractions" />

Height unit example for metres:

<units type="height">
  <unit id="1" description="metres" />
</units>

Height unit example for feet:

<unit id="2" description="feet" />

Example of the position unit tag:

<units type="positional accuracy">
  <unit id="1" description="metres" />
</units>

Position unit example for feet:

<unit id="4" description="feet" />

ID

Numeric value for positional accuracy unit. The values are as follows:

1 - metres

2 - fathoms and feet

3 - feet

4 - fathoms and fractions

The ID values can be applied to the following unit types

Depth units - 1,2, 3, or 4.

Height units - 1 or 2.

Positional accuracy units - 1, 3, or 4

description

A brief description of the unit.

RoundingRules

A parent tag containing sounding rounding rules.

Example:

<RoundingRules>
  <Rule>Default Feet</Rule>
  <Rule>NOAA Feet</Rule>
</RoundingRules>

Rule

A child tag for individual sounding rounding rules.

datums

type

Parent tag for horizontal, vertical, and sounding datum information. Each datum type must have at least one entry.

Example:

<datums type="horizontal">

dat

Child tag of the datum tag for individual horizontal, vertical, and sounding datum entries

Example:

<datums type="horizontal">
  <dat id="2" description="WGS 84" />
</datums>

ID

A numerical value for the datum. It must be between 0 and 255. If the datum type is horizontal, it must be set to 2.

description

A description that is shown in the Create Product wizard dialog box.

lexicalLevel

type

Parent tag for the lexical level for the product. Each lexical level type must have one entry.

Example:

<lexicalLevels type="ATTF">

or

<lexicalLevels type="NATF">

level

Child tag of lexicalLevel.

Example

<lexicalLevels type="ATTF">
  <level id="0" description="Lexical Level 0" />
  <level id="1" description="Lexical Level 1" />
</lexicalLevels>

ID

Numerical value for the lexical level entry.

description

Textual description of the level.

securityClassification

[Mandatory] A parent tag for security classification of AML products. The tag must contain at least one entry.

Example:

<securityClassifications>
  <classification id="503" value="T" description="TOP SECRET"/>

  <classification id="504" value="S" description="SECRET"/>

  <classification id="505" value="C" description="CONFIDENTIAL"/>

  <classification id="506" value="R" description="RESTRICTED"/>

  <classification id="507" value="U" description="UNCLASSIFIED">

  <default/>
</securityClassifications>

classification

Child tag of sercurityClassification. It contains specific classification levels.

ID

Numeric value for the security rating. Must be greater than 0.

value

The enumerated value for the security classification.

description

Textual description of the classification.

default

Child tag of securityClassification. This sets the classification level that is displayed in the Security Classification field in the Create S‑57 Product wizard. The default tag can be applied only to a single classification level. In the above example, the classification with the value “U” is made the default.

IDOStatusList

[Mandatory for AML products] A parent tag for listing International Defense Organization (IDO) status information for AML. Must contain at least one entry.

Example:

<IDOStatusList>
  <status id="501" description="NATO: North Atlantic Treaty Organisation" />
  <status id="502" description="NACC: North Atlantic Co-operation Council" />
  <status id="503" description="PfP: Partnership for Peace" />
  <status id="504" description="WEU: Western European Union" />
</IDOStatusList>

status

Child tag of IDOStatusList for IDO types.

ID

The enumerated status entry. Must be greater than 0.

description

Textual description of the IDO type.

dataSetName

Set the total number of characters that can be used in a file name.

Example:

<dataSetName minIDCodeLen="1" maxIDCodeLen="99"/>
  <prefixes>
      <prefix value="1C80"/>
  </prefixes>
</dataSetName>

minIDCodeLen

The minimum number of characters that can be entered in a file name.

maxIDCodeLen

The maximum number of characters that can be entered in a file name.

prefixes

Parent tag for listing prefixes.

prefix

value

Agency code to be appended to the file name.

ExchangeSet

Type

A tag declaring that an exchange set is for a Generic product type. The Generic exchange has only one level and does not include an ENC_ROOT folder.

Example:

<ExchangeSet type="GENERIC"/>

natoCodesFile

value

The path and name of the file containing a list of NATO country codes for AML products. The default file is natocodes.txt in ...System\S57Config\system

Example:

<natoCodesFile value="%objXs57parms%/natocodes.txt"/>

riverCodes

[Mandatory for IENC and IENC overlays] Parent tag for waterway codes in an Inland ENC (IENC) or Inland ENC overlay.

Example:

<riverCodes>
  <code id="D0" description="Danube" remark="km 0 ‑ 1000 (with Sulina Branch)" />
  <code id="D1" description="Danube" />
</riverCodes>

code

Child tag for riverCodes. This tag contains specific river codes.

ID

Enumerated value for the waterway. Must be 1 to 3 characters.

remark

[Optional] Textual comment viewed by the user.

description

Textual description for the waterway.

metaObjects

Parent tag to set the meta object features for a product. When the product is created, these meta objects are automatically included.

Example:

<metaObjects>
  <object acronym="M_COVR">
    <attribute acronym="CATCOV" value="1"/>
  </object>
  <object acronym="m_conf">
    <attribute acronym="catcnf" value="501"/>
  </object>
</metaObjects>

object

acronym

Child tag of metaObjects. The feature acronym of the meta object.

attribute

acronym

Child tag of Object. The acronym of an attribute associated with the meta object.

value

The value of the attribute.

productFileZ
Resolution

value

Set the precision for depth units in the product HOB file.

Example:

<ProductFileZResolution value="0.001" />

MIOCategories*

Parent tag for listing MIO categories.

Example:

<MIOCategories>
  <category id="A" description="Category 1" />
   <category id="B" description="Category 2" />
</MIOCategories>

category

[Mandatory for MIO products] Child tag of the MIOCategories tag. Specific tags for MIO categories. There must be at least one entry.

ID

Enumerated value for MIO category. It must contain a character (A to Z).

description

Text description of the category.