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 specific to the S-57 Composer module are located in:
C:\Program Files\CARIS\<application>\<version>\modules\support\Compilation2\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 | 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 | 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"> Other depth unit examples are shown below. <unit id="2" description="fathoms and feet" /> Height unit example for metres: <units type="height"> Height unit example for feet: <unit id="2" description="feet" /> Example of the position unit tag: <units type="positional accuracy"> 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 | 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"> | |
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 Example <lexicalLevels type="ATTF"> | |
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="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/> | |
classification | Child tag of | |
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 | |
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 | Child tag of | |
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:
| |
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 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 | Child tag for | |
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 | Child tag of |
attribute | acronym | Child tag of Object. The acronym of an attribute associated with the meta object. |
value | The value of the attribute. | |
productFileZ | 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 | [Mandatory for MIO products] Child tag of the | |
ID | Enumerated value for MIO category. It must contain a character (A to Z). | |
description | Text description of the category. |