CARIS BASE Editor : S-57 Composer : S-57 Composer Support Files : Creating Custom Products : Create an MIO Product
 

Create an MIO Product

This section describes the process needed to create an MIO product. Other specialized products can be created using similar methods.

 

Create Product Dictionary

The product dictionary is an XML file that defines available features and attributes. It is used in conjunction with the profile to form a product catalogue.

You should create a separate dictionary with its own file name then add specific features and attributes. You can use an existing dictionary and rename it or create a new dictionary.

The following guidelines should be followed:

The feature or attribute acronym must be unique. This applies not only to S-57 Composer, but worldwide. See the International Hydrographic Organization (IHO) Registry to view existing feature and attributes.

The feature or attribute acronym should be six characters long. This reduces compatibility issues with other software applications that can view the product file.

The ExternalID and ID attributes are currently not used, but it is recommended that you specify a unique ID for both to match the ID entered in the object lookup table.

The Name, Description, References and Remarks attributes are not mandatory and can consist of any text, though they are not of unlimited size.

The Type attribute is for administrative purposes only. It makes it easier to separate types of object classes but is not exported to the S-57 file.

The <ExpectedValues> and <ExpectedValue> tags are used only if the values are an enumerated or numbered list.

The example MIO contains two features as listed here:

Feature Acronym

Description

Type

crlref

Coral Reef

Point, line, area

mpaare

Marine Protected Area

Point, line, area

The example MIO contains the following attributes:

Attribute Acronym

Description

Type

density

Biologic cover density

List

bndcit

Boundary citation

String

catiuc

Category of IUCN protected area

List

catref

Category of reef

Enumeration

crlzne

Coral ecological zone

Enumeration

biocov

Ecosystem biological zone

List

geostr

Reef geomorphological structures

Enumeration

confcs

Conservation focus

List

consty

Constancy of protection

Enumeration

contct

Contact information

String

ecoscl

Ecological scale of protection

Enumeration

lglmnd

Legal mandate

String

levprt

Level of protection afforded to resources

Enumeration

manage

Management entity

String

perman

Permanence of protection

Enumeration

purpos

Purpose of marine management area

String

regcit

Regulations citation

String

websit

Websites

String

The attribute entries must correspond to the structure of the product dictionary. This is an example of an entry for a biocov attribute class:

<AttributeClass Acronym="biocov" ID="38" Type="LIST">

  <Name>Coral Ecosystem Biological Cover</Name>

  <Description></Description>

  <References>not specified;</References>

  <Remarks></Remarks>

  <DisplayFormat>XX</DisplayFormat>

  <ExpectedValues>

    <ExpectedValue Value="0" Description="-" />

    <ExpectedValue Value="1" Description="Live Coral" />

    <ExpectedValue Value="2" Description="Mollusk reef" />

    <ExpectedValue Value="3" Description="Annelid reef" />

    <ExpectedValue Value="6" Description="Seagrass" />

    <ExpectedValue Value="7" Description="Macroalgae" />

    <ExpectedValue Value="8" Description="Coralline Algae" />

    <ExpectedValue Value="9" Description="Turf Algae" />

    <ExpectedValue Value="10" Description="Uncolonized" />

    <ExpectedValue Value="11" Description="Unknown" />

    <ExpectedValue Value="12" Description="Unclassified" />

  </ExpectedValues>

</AttributeClass>

The feature entries must also correspond to the structure of the product dictionary. This is example of an feature class entry for the crlref feature.

<ObjectClass Acronym="crlref" ID="1" Type="GEOGRAPHIC">

  <Name>Coral Reef</Name>

  <Description>Definition: reef (general) - A mass of rock or coral

  which either reaches close to the sea surface or is exposed at

  low tide, posing a hazard to navigation. (IHO Dictionary, S-32,

  5th Edition)

  Coral reef - A reef, often of large extent, composed

  chiefly of coral and its derivatives. (IHO Dictionary, S-32,

  5th Edition)

  </Description>

  <References>not specified;</References>

  <Remarks>Remarks: </Remarks>

</ObjectClass>

When you are finished, save the file to ...\CARIS\<application>\<version>\system\S57Config\system.

Create Product Profile

A profile defines links between product features and attributes, including relationships and allowed primitives. The profile is combined with a dictionary to form a product catalogue.

For a custom product type, you should create a separate profile with its own file name, then add features and attributes.

Attribute entries must correspond to the structure of the product profile. This is an example of the biocov attribute class.

<Attribute value="biocov">

  <Permittedvalue value="1" />

  <Permittedvalue value="2" />

  <Permittedvalue value="3" />

  <Permittedvalue value="6" />

  <Permittedvalue value="7" />

  <Permittedvalue value="8" />

  <Permittedvalue value="9" />

  <Permittedvalue value="10" />

  <Permittedvalue value="11" />

  <Permittedvalue value="12" />

</Attribute>

Feature entries must correspond to the structure of the product dictionary. This is an example of a crlref feature class entry.

<Object value="crlref">

  <Primitives value="ALP" />

  <Attribute value="COLOUR" />

  <Attribute value="INFORM" />

  <Attribute value="NATQUA" />

  <Attribute value="NATSUR" />

  <Attribute value="NINFOM" />

  <Attribute value="NOBJNM" />

  <Attribute value="NTXTDS" />

  <Attribute value="OBJNAM" />

  <Attribute value="PICREP" />

  <Attribute value="RECDAT" />

  <Attribute value="RECIND" />

  <Attribute value="SCAMAX" />

  <Attribute value="SCAMIN" />

  <Attribute value="SORDAT" />

  <Attribute value="SORIND" />

  <Attribute value="TXTDSC" />

  <Attribute value="biocov" />

  <Attribute value="catref">

    <Mandatory />

  </Attribute>

  <Attribute value="crlzne" />

  <Attribute value="densty" />

  <Attribute value="geostr" />

</Object>

When you are finished, save the file to ...\CARIS\<application>\<version>\system\S57Config\system

Add Feature and Attribute Code Entries

S-57 files do not contain feature or attribute acronyms directly. Instead they contain numeric codes that are matched to the feature or attribute acronym. When an S-57 file is read or written, the application looks up the feature acronym matching the code and vice versa.

All numeric codes must be unique.

There are two lookup files:

obj_lut.txt matches feature acronyms to numeric codes

atr_lut.txt matches attribute acronyms to numeric codes

Both files are located in ...\CARIS\<application>\<version>\system\S57Config\system.

This is an example of obj_lut.txt:

ADMARE 1

AIRARE 2

ACHBRT 3

ACHARE 4

BCNCAR 5

BCNISD 6

BCNLAT 7

BCNSAW 8

BCNSPP 9

BERTHS 10

BRIDGE 11

BUISGL 12

The features and attributes in the catalogue must have unique numeric codes. Every feature and attribute acronym has to be added to these files and assigned a numeric value.

To edit the catalogue:

1. Open obj_lut.txt.

2. Add these two lines:

   crlref 30500
   mpaare 30501

3. Save and close the file.

Repeat for attribute acronyms in atr_lut.txt. Each attribute must be added and assigned a unique numeric code.

4. Save and close the file.

Create Group Table

When a product is exported to an S-57 file, you must indicate which features are Group 1 (skin-of-the-earth) and which features are Group 2 (non-skin-of-the-earth). The Group table defines the two groups.

This is an example of a group table for an ENC:

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

 

<GroupLookupTable version="1.0" title="ENC Group Lookup Table">

  <group value="1">

    <object acronym="DEPARE" primitive="A" />

    <object acronym="DRGARE" primitive="A" />

    <object acronym="FLODOC" primitive="A" />

    <object acronym="HULKES" primitive="A" />

    <object acronym="LNDARE" primitive="A" />

    <object acronym="PONTON" primitive="A" />

    <object acronym="UNSARE" primitive="A" />

  </group>

  <group value="2">

    <object acronym="*" primitive="*" />

  </group>

</GroupLookupTable>

In this example, seven features are declared as Group 1, according to the ENC specification. All other features are considered Group 2.

All S-57 group tables are stored in ...\CARIS\<application>\<version>\system\S57Config\system.

Since the example MIO contains no Group 1 features, all features by default are Group 2.

This XML file can be used as a group table for the MIO product:

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

<GroupLookupTable version="1.0" title="MIO Group Lookup Table">

  <group value="2">

    <object acronym="*" primitive="*" />

  </group>

</GroupLookupTable>

Each product must have its own group table so the above file must be saved as separate file.

Update Product Information File

A product information file defines the product types that can be created. For more information, see Product Information File.

All product-related information must be between the <product> tags. The attributes associated with that tag must also be included. For example,

<product id="MIO" version="1.0" key="MIO">

When creating a product file, make sure it uses the same structure as other products.

Use the Product Information option in the Options dialog box to define the location of your custom product information files.

Update Catalogue Control File

The catalogue control file links the data opened in S-57 Composer with the appropriate product catalogue.

The file is named cataloguecontrol.xml and is located in ...\CARIS\<application>\<version>\system\.

Use the Catalogue Control option in the Options dialog box to define the location of your custom catalogue control files.

See the following example:

<Product Name="MIO 1.0" Id="60" Version="1.0">

  <Profile Type="XML" Name="%S57Config%\system\mio_profile.xml"/>

  <Dictionary Type="XML" Name="%S57Config%\system\s5731Pool.xml"/>

  <Dictionary Type="XML" Name="%S57Config%\system\mio_dict.xml"/>

</Product>

The S-57 ENC 3.1 dictionary is also used when opening an MIO.

Once the files are complete, you can open an MIO product. When you use the New Product command, the Marine Information Overlays are listed in the product type option.