Skip To Content

Customize configuration files

Available with Standard or Advanced license.

Available with ArcGIS Maritime license.

Available with Production Mapping license.

The Maritime Chart Service has various control files that can be configured to meet your needs. Configuration options include the ability to expand the type of S-57 objects and attributes that the system recognizes if you've created a custom specification, S-52 presentation library customization to change default symbol colors, and the ability to alter the text format used to portray your data. There are also configuration options for the Maritime Chart Service that control how updates are applied, what coordinate system is used, and what size you want your symbols and text to be displayed.

Configuration settings related to International Hydrographic Organization (IHO) standards, such as S-57, ENC, S-52, and S-63, are all configured to those specifications by default.

All configuration files are located at <ArcGIS Server installation drive>/usr/directories/maritimeserver/maritimechartservice/.

Note:

This location can be found in the controlFilesDirectory property. Back up this location if you make any changes. Future installations overwrite this location.

Learn more about modifying Maritime Chart Service properties

S-57 data dictionary

The S57DataDictionary.xml file contains all the S-57 objects and attribute IDs as well as acronyms and descriptive values. It also contains a list of agency codes.

You can make localization changes to this file to display object and attribute names in the local language. You can extend this file to include new objects, attributes, and enumerations if you support unpublished product specifications.

Note:

The map service must be stopped and restarted for changes to the S57DataDictionary.xml file to be recognized by the service.

Server configuration

The ServerConfiguration.xml file provides support for various coordinate systems, display parameters, Web Map Service (WMS) layer names, custom symbology, and automatic update support.

Coordinate system users

Maritime Chart Service supports projection in real time with more than 5,000 EPSG codes. The coordinate system is set to 102100 (Web Mercator Auxiliary Sphere) by default.

The crs.xml file in the controlFilesDirectory contains all the supported EPSG codes.

Tip:

If you do not expect your clients to request different projections, it's recommended that you set your EPSG value to the required coordinate system. If you expect to support multiple projections such as several UTM zones, it's recommended that you use EPSG = 4326 (WGS 84) to optimize performance.

Customize your crs.xml file

There are two overrides that can be used in the crs.xml file: WGS84Bounds and Axis Order. WGS84Bounds allows you to override the extent of the projection. The default values used by the projection engine are from https://spatialreference.org. In many cases, users want values that correspond to those published on https://epsg.io or custom values for their specific situation. Axis Order is used to override the y- and x-axis directions.

WGS84Bounds example
<PROJCS name="ETRS_1989_UTM_Zone_30N" wkid="25830" geogcs="GCS_ETRS_1989" projection="Transverse_Mercator" unit="Meter">
			<Parameters>
				<Parameter name="Central_Meridian" value="-3.0"/>
				<Parameter name="False_Easting" value="500000.0"/>
				<Parameter name="False_Northing" value="0.0"/>
				<Parameter name="Latitude_Of_Origin" value="0.0"/>
				<Parameter name="Scale_Factor" value="0.9996"/>
			</Parameters>
			<WGS84Bounds xmin="-6.000000" ymin="34.750000" xmax="0.000000" ymax="62.330000"/>

Axis Order Example:
<PROJCS name="SWEREF99_TM" wkid="3006" geogcs="GCS_SWEREF99" projection="Transverse_Mercator" unit="Meter" axisOrder="NE">
                     <Parameters>
                           <Parameter name="Central_Meridian" value="15.0"/>
                           <Parameter name="False_Easting" value="500000.0"/>
                           <Parameter name="False_Northing" value="0.0"/>
                           <Parameter name="Latitude_Of_Origin" value="0.0"/>
                           <Parameter name="Scale_Factor" value="0.9996"/>
                     </Parameters>
              </PROJCS>

Consider the following:

  • The newly created .senc file contains the set CoordinateSystem value in the name.
  • To change projections, you must modify the CoordinateSystem value, which is set to 102100 (Web Mercator Auxiliary Sphere) by default.
  • S-57 datasets that fall outside the coordinate system boundary are not generated, and a warning message is written to the log file.

Complete the following steps to customize your crs.xml file:

  1. Open the ServerConfiguration.xml file and modify the CoordinateSystem value.
  2. Save the changes.
    Note:

    The map service must be stopped and restarted for changes to the ServerConfiguration.xml file to be recognized by the service.

  3. Stop the map service.

    You don't need to delete your existing .senc files. They are deleted and re-created automatically by the service.

  4. Start the map service.

Your .senc files are re-created with the new coordinate system. The CoordinateSystem value is in the name of the .senc file for reference.

Change the WMS layer name

The WMS layer name is S57 by default. This value can be changed by updating the WMSServiceLayerName value in the ServerConfiguration.xml file.

Complete the following steps to change the WMS layer name:

  1. Open the ServerConfiguration.xml file and edit the WMSServiceLayerName value to the name you want to use for the WMS layer.
  2. Click Save.
  3. Note:

    The map service must be stopped and restarted for changes to the ServerConfiguration.xml file to be recognized by the service.

  4. Stop the map service.
  5. Start the map service.

Custom symbology

By default, S-52 symbology is applied during .senc file creation. The CustomSymbology value must be modified to convert your datasets using custom symbols (SVG) instead of traditional S-52 symbols for features with lookup values in the CustomSymbolMap.xml file.

Learn more about the custom symbology file structure

Custom symbology capabilities

The ServerConfiguration.xml file contains a CustomSymbology Boolean to enable or disable display of custom symbology that overrides the default S-52 presentation library. When available, Maritime Chart Service references rules in the CustomSymbolMap.xml, Scalable Vector Graphic (SVG) symbols, and Lua scripts to provide a paper-chart-like display of the S-57 data.

After setting custom symbology to true, you must rebuild the .senc files for the symbols to appear in your service.

Example of custom symbology
Default S-52 presentation library

Lua in Maritime Chart Service can do the following:

  • Reference SVG files to override point symbols or line patterns (simple and complex)
  • Override symbol instructions such as color, fill pattern, or transparency
  • Access view groups or display properties
  • Provide instructions to modify a text group's font name, size, weight, color, and offset

Enable custom symbology

Complete the following steps to enable custom symbology:

  1. Open the ServerConfiguration.xml file and edit the CustomSymbology value to true.
  2. Click Save.
  3. Note:

    • If you already have .senc files built, you must manually delete your .senc files before restarting the map service; otherwise, symbology changes are not applied. It is recommended that you stop the map service to remove any locks before deleting your .senc files.
    • The map service must be stopped and restarted for changes to the ServerConfiguration.xml file to be recognized by the service.

  4. Stop the map service.
  5. Start the map service.

Enable AutoCellUpdate

AutoCellUpdate allows you to automatically apply dataset changes without having to stop and restart the service. This feature allows you to configure 24/7 support. The Maritime Chart Service is installed with this setting turned off by default. Before turning this setting on, you must understand your dataset update strategy and determine how long it takes to copy a 5 MB file across your network.

Once the AutoCellUpdate property is enabled (by setting use="true"), the Maritime Chart Service detects any changes to your datasets folder. Once a modification is detected, the same logic used when the service is started is run against the datasets folder. Any dataset changes detected are updated in the service’s .senc and find.dat files accordingly, while the service is running. The change is noticeable only when the display is refreshed or when search or identify functions are used on the dataset that is actively being processed.

The delaySeconds property sets how long the Maritime Chart Service waits before running its logic. For example, if set to 10 seconds, once the Maritime Chart Service detects a change to the datasets folder, it waits 10 seconds before running its logic. If another change is detected before the 10-second delay, the delay starts over. Once it reaches the delaySeconds count value, it processes the changes. Each file that is copied to the datasets folder counts as a change—if you copy 10 files at once, each file restarts the count as it's copied.

If you don't set a large enough delaySeconds value and your dataset file takes longer than the setting to copy, Maritime Chart Service cannot process that dataset. This is no different than if you tried to manually start the map service before you finished copying data into the datasets folder. It's recommended that you set your delaySeconds value by at least a factor of 3 based on how long it takes to copy a single 5 MB .000 file into the datasets folder from your staging location.

Complete the following steps to apply automatic cell updates:

  1. Open the ServerConfiguration.xml file and edit the AutoCellUpdate property to true.

    It should look similar to the following:

    <AutoCellUpdate use="true" delaySeconds="10"/>
  2. Save the changes.
  3. Stop the map service.
  4. Start the map service.

The .senc files are not re-created for this change unless new S-57 datasets were added to the datasets folder while the service was shut down.

Display frames and S-52 color tokens

The Maritime Chart Service dataset frames are red, and the Custom Chart Builder (CCB) dataset frames are magenta by default. In the ServerConfiguration.xml file, there are two settings: one for Maritime Chart Service named DisplayFramesMCS and another for Custom Chart Builder (CCB) named DisplayFramesPOD.

The color token values added to these properties are set using standardized S-52 color tokens. You can modify any color token value and restart your map service to identify the changes. The Display Frames property found in your S52DisplayProperties.xml file is the setting that allows you to turn your dataset frames on or off.

All S-52 color token values can be found in the DAY.clr file under your colcalib folder in the controlFilesDirectory location, which is <ArcGIS Server installation drive>/usr/directories/maritimeserver/maritimechartservice. This location is in your controlFilesDirectory property. Back up this location if you make any changes. Future installations may require you to overwrite this location.

Note:

To use the override values, you must set IntendedUsageOverrideCodes use = true and restart your map service.

Learn more about modifying Maritime Chart Service properties

S-52 display properties

The S52DisplayProperties.xml control file allows the system administrator to configure how the service behaves based on the S-52 standard.

Note:

The map service must be stopped and restarted for changes to the S52DisplayProperties.xml file to be recognized by the service.

Display parameters

There are many S-52-based mariner settings and other parameters that client apps can pass to the service, which allows the display to be modified independently by each client request. You can download sample Web AppBuilder widgets that show how to take advantage of these parameters. When the service is started, the settings in S52DisplayProperties.xml are used by default. The sample app displays those values to the user and provides additional values to be set that can also be found in the S52DisplayProperties.xml file.

Note:

Not all parameters found in S52DisplayProperties.xml may be supported by the sample widget.

All parameters are defined in the S52DisplayProperties.xml along with additional comments.

Following is an example of Display Light Sectors:

<Parameter name="DisplayLightSectors" type="E" default="2" value="2">
	<Description>Display light sectors</Description>
	<Comments>New at 10.6.1 Patch 2 </Comments>
        <ExpectedInput code="1" value="False"/>
        <ExpectedInput code="2" value="True"/>
</Parameter>

Structure of parameters

ParameterDescription

Parameter name

Name of the parameter that is passed to the service.

type

E: Enumerated list.

F: Floating point value can be used.

L: List value when more than one value can be passed to the service.

default

Default value that S-52 recommends if the parameter is referenced in the S-52 standards.

Value

Value that is used by the service when it starts. This value can be overwritten by the client.

ExpectedInput

Used when type is E or L.

Code: Value that is used by the service.

Value: Description of the code that is passed to the service.

Display parameters

Parameter nameCommon nameDescription

AreaSymbolSize

Area symbol size

Changes the size and when area symbology is displayed.

AreaSymbolizationType

Area symbolization

Sets the type of area boundary symbology.

AttDesc

Attribute description

Displays the S-57 acronym or descriptive name of the attribute.

ColorScheme

Color scheme

Sets the desired color scheme of your data.

CompassRose

Compass rose

Displays INT1 compass rose for MAGVAR point features.

DatasetDisplayRange

Dataset display range

Determines when your dataset is displayed based on its S-57 compilation scale and current map scale.

DateDependencyRange

Date dependency range

Allows you to set a start date or date range to display features that contain DATSTA, DATEND, PERSTA, and PEREND attribute values. A blank value is interpreted as the current date.

DateDependencySymbols

Date dependency symbol

Displays date dependency symbol.

DeepContour

Deep contour

Sets the depth of the deep contour value in meters.

DisplayAIOFeatures

Display AIO features

Sets the various Admiralty Information Overlay (AIO) display settings. Values 5-7 only display when the corresponding features in values 1-4 are being displayed.

DisplayBathymetricIENC

Display Bathymetric IENC

Displays Bathymetric Inland ENC datasets with IENC or ENC datasets or on their own.

DisplayCategory

Display categories

Turns on and off groups of features based on S-52 display categories. This overrides layer display properties.

DisplayDepthUnits

Depth units

Displays depth values using different units of measurement.

DisplayFrames

Display frames

Options for displaying the S-57 dataset extent.

DisplayFrameText

Display frame text

Options to display the dataset name and compilation scale value as long as dataset frames are being displayed.

DisplayFrameTextPlacement

Display frame text placement

Sets the location where dataset frame text displays.

DisplayLightSectors

Display light sectors

Turns on and off the display of light sectors.

DisplayNOBJNM

Display national names

Displays feature name in national language if NOBJNM is populated. Otherwise, it displays using OBJNAM.

DisplaySafeSoundings

Display safe soundings

When turned off (false), soundings that are deeper than the safety depth are no longer displayed.

HonorScamin

Honor SCAMIN

Displays features based on their SCAMIN value. When turned off, the feature is drawn sooner than the data was originally intended.

IntendedUsage

Intended usage

Displays datasets based on their intended usage.

IsolatedDangers

Isolated dangers in shallow water

Displays the isolated danger symbol for dangers inside the safety contour.

IsolatedDangersOff

Turn off all isolated dangers

This is a special setting to turn off all isolated danger symbols regardless of other display settings. Allows for the original feature to be displayed for printing.

LabelContours

Label depth contours

Labels depth contours in selected depth units.

LabelSafetyContours

Label safety contours

Labels safety contours in selected depth units.

LineSymbolSize

Line symbol size

Changes the size and when line symbology is displayed.

MovingCentroid

Center area labels

Centers area point symbols and text to the centroid of the visible area feature geometry rather than the center of the entire feature's geometry.

OptionalDeepSoundings

Optional deep soundings

Turns off the display of safe water soundings in conflict with other features.

PointSymbolSize

Point symbol size

Changes the size and when point symbology is displayed.

PointSymbolizationType

Point symbolization

Sets the type of symbology for point features.

RemoveDuplicateText

Remove duplicate text

Removes the duplicate feature text for S-52 text group 21 (Names for position reporting).

SafetyContour

Safety contour

Sets the depth of the safety contour in meters.

SafetyDepth

Safety depth

Sets the depth of the safety depth in meters.

ShallowContour

Shallow contour

Sets the depth of the shallow contour in meters.

TextGroups

Text groups

A list of text groups as defined by S-52.

TextHalo

Display text halo

Removes the halo from around text features in all colour schemes.

TextSize

Text size

Changes the size and when feature text is displayed.

TwoDepthShades

Two color depth zone shades

Displays depth areas using two depth area shades or four.

Note:

Data Frames is set to automatic by default. When set to automatic, the intelligent zoom chooses the best charts for the area based on the current reference scale and displays them. If a chart is the best one for the area but has a reference scale lower than the chart minZoom, the cell extent is drawn instead of the chart. The client can override this and turn all cell extents on or off using the client side parameters. When turned on, all dataset extents are visible regardless of your reference scale.

Note:

The compass rose is set to False by default. This does not display any compass rose points for MAGVAR point features. S-52 symbology is also used by default. If you want to display MAGVAR point features as INT1 compass rose symbols, the value for compass rose in the S52DisplayProperties.xml file must be set to True, then the service can be restarted. When a compass rose is displayed, the deviation from true north is calculated based on the current date.

Tip:

It's recommended that you remove IntendedUsage and ExpectedInput values from your S52DisplayProperties.xml that won't be loaded into your service. For example, if you're only going to publish ENC datasets, remove those values for AML and IENC that are not used by ENC products.

Here is an example of what gets passed to the service by the client, which can be accessed by using the Maritime Chart Service parameter operation, for example, https://nsdemo.esri.com/arcgis/rest/services/SampleWorldCities/MapServer/exts/MaritimeChartService/MapServer/parameters?f=html&full=true.

View Over Groups

The S52DisplayProperties.xml file comes with various samples of how to configure feature layers in your service layer. The ParameterGroup name ViewOverGroups is used by default. You must ensure all other samples have a different name.

The concept of View Over Groups comes directly from S-52 and can be configured and extended in the same way as S-52.

Note:

With the release of AML 1.1.3 Portrayal Specification, a new set of View Groups has been defined. To use these groups for your S-57 AML datasets, you must change your ViewOverGroups Parameter Group setting to use ViewOverGroups_AML_Sample. Change the name of ViewOverGroups_AML_Sample to ViewOverGroups and rename your existing Parameter Group something other than ViewOverGroups. The AML View Groups contain 23 layers, while the default View Group contains 8 layers.

Note:

You must restart the map service after making changes to the S52DisplayProperties.xml file.

<ParameterGroup name="ViewOverGroups" defaultVisibility="false">
	<ViewoverGroupsDescription>This example includes all view groups into 8 feature layers</ViewoverGroupsDescription>
	<Parameter name="0" type="E" default="2" range="11000-11060,21010-21060,31000-31080">
		<Description>Information about the chart display</Description>
		<ExpectedInput code="1" value="False"/>
		<ExpectedInput code="2" value="True"/>
	<Parameter>

ParameterDescription

ParameterGroup name

Must be set to ViewOverGroups for the system to recognize it; otherwise, rename it if used as a sample reference.

ParameterGroup defaultVisibility

True or False

Note:

Refer to the next section for default visibility options for View Over Groups.

ViewOverGroupDescription

Internal documentation describing the feature layer.

Parameter name

This attribute no longer has to be unique. The service automatically assigns a value starting with 0 when the service starts.

Parameter default

The system default value. This field is for documentation only. The options are as follows:

  • 1—The feature layer is turned off by default when brought into an app.
  • 2—The feature layer is turned on by default when brought into an app.

Parameter range

S-57 objects that are included in this feature layer. Values come from View Groups located at the bottom of the S52DisplayProperties.xml file.

Description

This text is displayed on the Contents tab or in the table of contents.

Default visibility options for View Over Groups

OptionDescription

Default setting: Set to True for a View Over Group containing only one feature layer.

It's expected that feature layers can be turned on or off only. All other S-57 service layer information is displayed unless you turn the parent layer off. For example, if you turn off soundings, all other information in the service layer is displayed. This option allows you to quickly create a single feature layer that can be turned on and off without the need to define other feature layers.

Set to True for a View Over Group containing more than one feature layer.

This results in the same behavior as in the default settings. The exception is when you have all view groups represented in the View Over Group, whether that's one or more feature layers. When you turn the last feature layer off, it's still displayed unless you turn off the parent layer. To avoid this, ensure you set defaultVisibility to False when you include all view groups in your View Over Group.

Set to False for a View Over Group containing only one feature layer.

When the feature layer is turned off, the parent layer is also turned off since nothing should be displayed. This option should be used when only one feature layer, for example, navaids, is to be displayed from the data. Only the data from the feature layer is displayed. No other data from the service is displayed.

Set to False for a View Over Group containing more than one feature layer.

When all the feature layers are turned off, the parent layer is also turned off. This option should be used when one or more feature layers are required. An example is having a feature layer for soundings and a feature layer for navaids, which are the only two feature layers displayed. All other S-57 service layer information is suppressed.

A View Over Group is defined with no feature layer information.

Set the defaultVisibility property to False. Otherwise, the feature layer node does not turn off the layer.

Note:

If the setting is not included, it defaults to True.

Views group descriptions (View Group)

According to S-52, S-57 objects are grouped into View Groups. The View Group IDs are what your ViewOverGroup range values are set to. These View Group IDs are related to entries in your .dic files.

The .dic files, which are located with the rest of your control files, are part of the S-52 Standard and control how features are displayed. These View Groups can be configured as necessary to create for a View Over Group feature layers for your service.

For example, the ViewGroup for beacon contains five individual S-57 objects, but they are all controlled by one ViewGroup.

<ViewGroup id="17020" Description="beacon"/>
	<ViewGroupS57Objects Code="" Acronym="BCNCAR" Description="" Dictionary="psymrefs" Comments=""/>
	<ViewGroupS57Objects Code="" Acronym="BCNISD" Description="" Dictionary="psymrefs" Comments=""/>
	<ViewGroupS57Objects Code="" Acronym="BCNLAT" Description="" Dictionary="psymrefs" Comments=""/>
	<ViewGroupS57Objects Code="" Acronym="BCNSAW" Description="" Dictionary="psymrefs" Comments=""/>
	<ViewGroupS57Objects Code="" Acronym="BCNSSP" Description="" Dictionary="psymrefs" Comments=""/>

To turn on or off each beacon type individually, you must create View Groups for each beacon type and modify your associated .dic files.

Note:

Updates to the view group values in the .dic files require that the .senc files be rebuilt for the changes to be applied. Follow the steps in the Rebuild the .senc files section below.

Special display parameters

The special display parameter settings allow an administrator to optimize their display based on the S-57 datasets they are required to host. These settings allow for fine-tuning, but they typically do not need to be modified.

<ParameterGroup name="DatasetDisplayRange">
		<Description>Dataset Display Range:  Determines at what view scale a dataset is displayed.</Description>	  
 		<DetailedDescription>Controls when your dataset is displayed based on the S-57 dataset's scale and view scale.</DetailedDescription>
		<Comments>New at 10.6.1</Comments>
      		<Parameter name="minZoom" type="F" default="0.05" value="0.05">
				<Description>Minimum dataset display value.</Description>
				<DetailedDescription>Sets the minimum dataset display value.  A larger value requires you to zoom closer before a datasets displays.</DetailedDescription>
      		</Parameter>
      		<Parameter name="maxZoom" type="F" default="1.2" value="1.2">
				<Description>Maximum dataset display value.</Description>
				<DetailedDescription>Sets the maximum dataset display value.</DetailedDescription>
      		</Parameter>
      </ParameterGroup>

	<ParameterGroup name="PointSymbolSize">
		<Description>Point Symbol Size:  Change the size of point symbology.</Description>	  
 		<DetailedDescription>Determines when and how big point symbols display.</DetailedDescription>
		<Comments>New at 10.6.1</Comments>
      		<Parameter name="scaleFactor" type="F" default="1.0" value="1.0">
				<Description>Scale factor.</Description>
      		</Parameter>
      		<Parameter name="minZoom" type="F" default="0.05" value="0.05">
				<Description>Minimum zoom.</Description>
      		</Parameter>
			<Parameter name="maxZoom" type="F" default="1.2" value="1.2">
				<Description>Maximum zoom.</Description>
      		</Parameter>
      </ParameterGroup>

	  <ParameterGroup name="LineSymbolSize">
		<Description>Line Symbol Size:  Change the size of line symbology.</Description>	  
 		<DetailedDescription>Determines when and how big line symbols display.</DetailedDescription>
		<Comments>New at 10.6.1</Comments>
      		<Parameter name="scaleFactor" type="F" default="1.0" value="1.0">
				<Description>Scale factor.</Description>
      		</Parameter>
      		<Parameter name="minZoom" type="F" default="0.05" value="0.05">
				<Description>Minimum zoom.</Description>
      		</Parameter>
			<Parameter name="maxZoom" type="F" default="1.2" value="1.2">
				<Description>Maximum zoom.</Description>
      		</Parameter>
      </ParameterGroup>


        <ParameterGroup name="AreaSymbolSize">
		<Description>Area Symbol Size:  Change the size of area symbology.</Description>
 		<DetailedDescription>Determines when and how big area symbols display.</DetailedDescription>
		<Comments>New at 10.6.1</Comments>
      		<Parameter name="scaleFactor" type="F" default="1.0" value="1.0">
				<Description>Scale factor.</Description>
      		</Parameter>
      		<Parameter name="minZoom" type="F" default="0.05" value="0.05">
				<Description>Minimum zoom.</Description>
      		</Parameter>
			<Parameter name="maxZoom" type="F" default="1.2" value="1.2">
				<Description>Maximum zoom.</Description>
      		</Parameter>
      </ParameterGroup>

	 <ParameterGroup name="TextSize">
		<Description>Text Size:  Change the size of feature text.</Description>		 
 		<DetailedDescription>Determines when and how big feature text display.</DetailedDescription>
		<Comments>New at 10.6.1</Comments>
      		<Parameter name="scaleFactor" type="F" default="1.0" value="1.0">
				<Description>Scale factor.</Description>
      		</Parameter>
      		<Parameter name="minZoom" type="F" default="0.05" value="0.05">
				<Description>Minimum zoom.</Description>
      		</Parameter>
			<Parameter name="maxZoom" type="F" default="1.2" value="1.2">
				<Description>Maximum zoom.</Description>
      		</Parameter>
       </ParameterGroup>

Chart

The chart setting controls when your dataset is displayed and is based on the S-57 dataset scale and the view scale. The display of the S-57 dataset can be determined using the following formula where X is your reference scale:

X = Dataset Scale / View Scale

  • If X is less than the minZoom value, the dataset is not displayed.
  • If X is greater than the maxZoom value, the dataset is displayed as long as another dataset doesn’t have a better reference scale value.
  • If X is in the range of the minZoom or maxZoom, the dataset is displayed.

By increasing the minZoom value to a larger number (for example, 0.28), you must zoom in closer before the dataset displays.

If two S-57 datasets fall in the minZoom and maxZoom range, the dataset with the smaller reference scale is displayed. For example, you have two S-57 datasets (A at 1:1,500,000 and B at 1:90,000) and your view scale is 1:587,862.

  • Reference scale for A = 1500000/587862, which is 2.55
  • Reference scale for B = 90000/587862, which is 0.153
Since 0.153 is less than 1, divide 1 by the reference scale (1/0.153) to get the new reference scale value of 6.5 for Dataset B. The Dataset A reference scale is 2.55 and the Dataset B reference scale is now 6.5. Because 2.55 is closer to the 1:1 view scale of the dataset, Dataset A is displayed.

Symbol, Line, and Area

The Symbol, Line, and Area properties all contain a scaleFactor as well as minZoom and maxZoom settings. Changing these values either increases or decreases the size at which your symbols draw. Once X (reference scale) is calculated, that value is multiplied by the scaleFactor. The new value is compared to the minZoom and maxZoom settings as follows:

  • If X is less than the minZoom value, set it to minZoom.
  • If X is greater than the maxZoom value, set it to maxZoom.

Text

The Text property’s scaleFactor as well as minZoom and maxZoom settings behave the same way as Symbol, Line, and Area. Changing these values either increases or decreases the size at which your text draws. The Text property also contains two additional settings for removing duplicate text (removeDuplicateText) and removing the halo from around text features in all color schemes. When removeDuplicateText is set to true (the default setting), it removes duplicate text for features from S-52 text group 21 Names for position reporting, with the same S-57 object class name. If S-57 object class names are different, the duplicate text is not removed.

Modify display parameters

Complete the following steps to modify display parameters:

  1. Open the S52DisplayProperties.xml file and modify the necessary settings.
  2. Save the changes.

    The map service must be stopped and restarted for changes to the S52DisplayProperties.xml file to be recognized by the service.

  3. Stop the map service.
  4. Start the map service.

The display parameters of your existing S-57 datasets have not been modified. Any new S-57 datasets that are added to the datasets folder display with the updated parameters.

If you want your display to be 1:1 as with an ECDIS, you must set your AreaSymbolSize, LineSymbolSize, PointSymbolSize, and TextSize values for minZoom and maxZoom to 1.

Configure blue light sectors

As of S-52 Presentation Library 4.0.2, the S-52 standard does not support the display of blue light sectors. According to S-52, light sectors with COLOUR = 5 must be displayed using the color token CHMGD (Magenta). With a minor configuration change, Maritime Chart Service can now display S-57 light sectors with COLOUR = 5 using a custom color token.

The custom color token is named LITBL and is found in the Maritime Chart Service .clr files used for the different color schemes, such as DAY, DUSK, or NIGHT. By default, Maritime Chart Service has the LITBL set to the same RGB values as CHMGD. If you want to display light sectors with COLOUR = 5 as blue, you must modify the RGB values for the LITBL color token in each .clr file for your implementation.

Change the RGB values for LITBL

Complete the following steps to change the RGB values for the LITBL:

  1. Browse to the colalib folder.

    The location of the colalib folder varies depending on your implementation. For example: <ArcGIS Server installation drive>/usr/directories/maritimeserver/maritimechartservice/controlfiles/S52PresentationLibrary/colalib.

  2. Edit the .clr file:
    1. Search for the LITBL color token that is set to RGB value CHMGD by default.
    2. Update the RGB values to the color you want to use.

      Refer to the CLR table structure below.

    3. Save the file.
  3. Repeat the process for each .clr file.
Note:

Updates to the .clr files require that the .senc files be rebuilt for the changes to be applied. Refer to the section on rebuilding the .senc files below.

Example of DAY.clr from Maritime Chart Service

CLR table structure

The color tables are defined in the S-52 PresLib Ed 4.0.2 Part 1 App A Colour Tables.pdf file. The values in the color tables are used in Maritime Chart Service .clr files. The .clr table contains nine columns. The first five are defined in S-52 PresLib Ed 4.0.2 Part 1.pdf section 11.4.2 Color Definition CIE-Field. There are four additional columns (Red, Green, Blue, and Conversion Error) that are created during the conversion process from CIE to RGB. You must modify the red, green, and blue values.

The .clr table columns are listed below:

  • Token—This value is referenced in the S-52 lookup tables. All features referencing this token use the defined RGB values.
  • Color—The descriptive name; however, there are many versions of a color. Some descriptive names are repeated but have different RGB values. This value can be modified if desired and does not impact Maritime Chart Service.
  • X—The x-coordinate value on the CIE color chart.
  • Y—The relative luminance value (brightest white) on the CIE color chart.
  • Luminance—The lightness value (CIE color system).
  • Red—The red value for RGB color.
  • Green—The green value for RGB color.
  • Blue—The blue value for RGB color.
  • Conversion Error—This value is ignored.

Rebuild the .senc files

Complete the following steps to rebuild the .senc files:

  1. Sign in as a server manager by launching https://gisserver.domain.com:6443/arcgis/manager.
  2. Click Services.
  3. Stop the map service with Maritime Chart Service capabilities configured.
  4. Delete the contents from <ArcGIS Server installation drive>/usr/directories/maritimeserver/maritimechartservice/sencs.
  5. Start the map service.
  6. Repeat these steps for each map service for which you modified .clr files.

Related topics