Skip To Content

Custom symbology file structure

Available with Standard or Advanced license.

Available with Production Mapping license.

Available with ArcGIS Maritime license.

The custom presentation library contains a set of configuration files that work together to override the default S-52 presentation library.

Location

Custom symbology files are located at <ArcGIS Server installation drive>/usr/directories/maritimechartservice/controlfiles/CustomPresentationLibrary. Also available at the same location are Lua script files, Scalable Vector Graphic (SVG) symbols, and the CustomSymbolMap.xml file.

Lua

Lua version 5.3.5 functions are called via the Maritime Chart Service CustomSymbolMap.xml file. This can be done with both condition and rule statements. Function names are specified in the following syntax: [file name:]function name. If the file name is not specified, it is assumed to be that of the function name + '.lua.

Condition statement calling the lndare01 Lua file:

<feature object="LNDARE" prim="3">
<condition functionName=lndare01/>
</feature>

Lua with condition and rule statements:

<feature object="LIGHTS" prim="1">
<condition>
</condition>
<condition functionName="lights:lights03">
<rule type="S" functionName="lights:IsSectorLight" result="true"/>
</condition>
</feature>

Symbols

SVG point, line, and pattern fills are included in the symbol folder and organized by geometric primitive rules, as described below.

Each S-57 object references a geometric primitive where: prim="1" is point geometry, prim="2" is line geometry, and prim="3" is polygon or area geometry.

Each symbol must contain a proper pivot point (a point around which the symbol is scaled and rotated). The symbol's pivot point is positioned exactly on the object's position and all elements of the symbol are geometrically related to that position.

Note:

RGB colors and SVG Tiny 1.2 profile must be used.

CustomSymbolMap.xml

The CustomSymbolMap.xml file calls symbols and Lua functions using condition and rule statements. Condition statements are used to provide symbology for the feature. Rule statements provide Boolean (true or false) decisions for rule evaluation and do not provide symbology. Rule operators are also listed in the CustomSymbolMap.xml.

Example of an anchor area S-57 object. The condition points to a point primitive SVG file with the attribute rule, category of anchorage equal to 1.

<feature object="ACHARE" prim=1>
<condition symbolName="N10_Reported_anchorage.svg">
<rule type="A" field="CATACH" operator="equal" value="1"/>
</condition>
</feature>

Log files

Log files, which are present in your deployed Maritime Chart Service, report missing files and Lua errors. The default location is <ArcGIS Server installation drive>/usr/directories/maritimeserver/maritimechartservice/logs.