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.
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 the 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 the 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.
<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.
To customize the crs.xml file, complete the following steps:
- Open the ServerConfiguration.xml file and modify the CoordinateSystem value.
- Save the changes.
Note:
The map service must be stopped and restarted for changes to the ServerConfiguration.xml file to be recognized.
- Stop the map service.
You don't need to delete the existing .senc files. They are deleted and re-created automatically by the map service.
- Start the map service.
The .senc files are re-created with the new coordinate system. The CoordinateSystem value is in the name of the .senc files for reference.
Update the service properties
Maritime Chart Service allows you to populate properties for the WMSServer and MapServer services.
Customize WMSServer service properties
The following table describes the available properties for the Maritime Chart Service WMSServer endpoint:
WMSServer service properties
Property | Description |
---|---|
Name | The OGC service type. This property should not be changed. |
Title | The name of the WMS layer. In versions of ArcGIS Maritime server 11.1 and earlier, this is WMSServiceLayerName. S57 is the default. |
Abstract | A narrative description that provides additional information about the WMS service, for example: The Maritime Chart Service capability is a Server Object Extension that provides a map service to quickly view and query S-57 or S-63 encrypted datasets. |
Keywords | A list of keywords or keyword phrases describing the WMS service that aids in catalog searches, for example: S-57, ENC, WMS, IHO |
Online Resource | The URL of the WMS service. |
ContactPerson | The primary contact person for the WMS service, for example: John Smith |
ContactPosition | The position of the contact person for the WMS service, for example: IT Analyst |
ContactOrganization | The organization that created the WMS service, for example: esri |
Address type | The address type used by the organization that created the WMS service, for example: postal |
Address | The address of the organization that created the WMS service, for example: 380 New York Street |
City | The city in which the organization that created the WMS service is located, for example: Redlands |
StateorProvince | The state or province where the organization that created the WMS service is located, for example: California |
PostCode | The postal code where the organization that created the WMS service is located, for example: 92373 |
Country | The country where the organization that created the WMS service is located, for example: USA |
ContactVoiceTelephone | The telephone number where the primary contact person for the WMS service can be reached, for example: +1 909 793-2853 |
ContactFacsimileTelephone | The fax number where the primary contact person for the WMS service can be reached, for example: +1 123 456-7890 |
ContactElectronicMailAddress | The email address where the primary contact person for the WMS service can be reached, for example: maritime@esri.com |
Fees | Text describing the fees imposed when accessing the WMS service, for example: none |
Access constraints | Text describing the restrictions and legal prerequisites for accessing and using the WMS service. This information is displayed in web apps as an attribution on the bottom of the map, for example: Not for navigation. |
To change the WMSServer service properties, complete the following steps:
- Open the ServerConfiguration.xml file and edit the necessary properties.
- Click Save.
Note:
The map service must be stopped and restarted for changes to the ServerConfiguration.xml file to be recognized by the service.
- Stop the map service.
- Start the map service.
Customize MapServer service properties
The following table describes the available properties for the Maritime Chart Service MapServer endpoint:
MapServer service properties
Property | Description |
---|---|
Service Description | Text that provides additional information about the service, for example: The Maritime Chart Service capability is a Server Object Extension that provides a map service to quickly view and query S-57 or S-63 encrypted datasets. |
Map Name | The name of the map, for example: ENC Services |
Description | An optional detailed description of the map service. |
Copyright Text | Text that describes the restrictions and legal prerequisites for accessing and using the MapServer service. This information is displayed in web apps as an attribution on the bottom of the map, for example: Not for navigation. |
The following table describes properties available for the Maritime Chart Service MapServer endpoint listed under documentInfo in the ServerConfiguration.xml file.
Property | Description |
---|---|
Title | The name of the map or service used to create the MapServer. |
Author | The person or organization responsible for publishing the service. |
Comments | Comments about the service. |
Subject | A summary description of the service. |
Category | The content category used to categorize types of spatial data. |
Keywords | Tags or terms that describe the map service, separated by commas, for example: S-57, ENC, WMS, IHO |
Note:
In versions of ArcGIS Maritime server extension 11.1 and earlier, these properties are listed on the Maritime Chart Service capabilities properties page.
To change the MapServer service properties, complete the following steps:
- Open the ServerConfiguration.xml file and edit the necessary properties.
- Click Save.
Note:
The map service must be stopped and restarted for changes to the ServerConfiguration.xml file to be recognized by the service.
- Stop the map service.
- Start the map service.
Custom symbology
S-52 symbology is applied during .senc file creation by default. The CustomSymbology value must be modified to convert the datasets using custom symbols (SVG) instead of traditional S-52 symbols for features with lookup values in the CustomSymbolMap.xml file.
Learn more about custom symbology capabilities
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 file, 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 the service.
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
To enable custom symbology, complete the following steps :
- Open the ServerConfiguration.xml file and edit the CustomSymbology value to True.
- Click Save.
- If you already have .senc files built, you must manually delete the .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 the .senc files.
- The map service must be stopped and restarted for changes to the ServerConfiguration.xml file to be recognized by the service.
- Stop the map service.
- Start the map service.
Note:
Enable AutoCellUpdate
AutoCellUpdate allows you to automatically apply dataset changes without having to stop and restart the map 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, the Maritime Chart Service detects any changes to the datasets folder. Once a change is detected, the same logic is used when the service is started. 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 is copied.
If you don't set a large enough delaySeconds value and the dataset file takes longer than the delaySeconds 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 the 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.
To apply automatic cell updates, complete the following steps:
- Open the ServerConfiguration.xml file and edit the value of the AutoCellUpdate property to True.
It should look similar to the following:
<AutoCellUpdate use="True" delaySeconds="10"/>
- Update the delayseconds value, if necessary.
For best performance, it is recommended that the delayseconds value be three times greater than the time it takes to copy a single 5 MB .000 file into the datasets folder from your staging location.
- Save the changes.
- Stop the map service.
- 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 stopped.
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 that control dataset frame colors: 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 the map service to view the changes. The Display Frames property found in the S52DisplayProperties.xml file is the setting that allows you to turn the dataset frames on or off.
All S-52 color token values can be found in the DAY.clr file under the colcalib folder in the controlFilesDirectory, at <ArcGIS Server installation drive>/usr/directories/maritimeserver/maritimechartservice. Back up this location if you make any changes to the DAY.clr file. Future installations may require you to overwrite this location.
Note:
To use the override values, you must set IntendedUsageOverrideCodes use = True and restart the map service.
Learn more about modifying Maritime Chart Service properties
S-52 display properties
The S52DisplayProperties.xml 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 the S52DisplayProperties.xml file 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 in the S52DisplayProperties.xml file may be supported by the sample widget.
All parameters are defined in the S52DisplayProperties.xml file along with additional comments. The following is an example of the Display Light Sectors parameter:<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
Parameter | Description |
---|---|
Parameter name | The 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 | The default value that S-52 recommends if the parameter is referenced in the S-52 standards. |
Value | The 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 name | Common name | Description |
---|---|---|
AreaSymbolSize | Area symbol size | Changes the size of the symbol 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 the data. |
CompassRose | Compass rose | Displays the INT1 compass rose for MAGVAR point features. |
DatasetDisplayRange | Dataset display range | Determines when the dataset is displayed based on its S-57 compilation scale and current map scale. |
DateDependencyRange | Date dependency range | Sets the 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 the 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 | The options for displaying the S-57 dataset extent. |
DisplayFrameText | Display frame text | The 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 names 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 that turns off all isolated danger symbols regardless of other display settings. This 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 color schemes. |
TextSize | Text size | Changes the size and when feature text is displayed. |
TwoDepthShades | Two color depth zone shades | Displays depth areas using two or four depth area shades. |
Note:
DisplayFrames 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 value, 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 the 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. 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 the S52DisplayProperties.xml file that won't be loaded into the 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 the 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 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>
Parameter | Description |
---|---|
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:
|
Parameter range | S-57 objects that are included in this feature layer. Values come from View Groups identified in 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
Option | Description |
---|---|
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 the View Over Group range values are set to. These View Group IDs are related to entries in the .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 View Over Group feature layers for the 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 each beacon type on or off individually, you must create View Groups for each beacon type and modify the 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 users to optimize how features are displayed in services 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 a 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 the 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 is displayed.
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 the 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
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 the 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 the text draws. The Text property also contains two additional settings for removing duplicate text (RemoveDuplicateText) and removing the halo from around text features TextHalo 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
To modify display parameters, complete the following steps:
- Open the S52DisplayProperties.xml file and modify the necessary settings.
- Save the changes.
The map service must be stopped and restarted for changes to the S52DisplayProperties.xml file to be recognized by the service.
- Stop the map service.
- Start the map service.
The display parameters of the 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 the display to be 1:1 as with an ECDIS, you must set the minZoom and maxZoom values for AreaSymbolSize, LineSymbolSize, PointSymbolSize, and TextSize 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 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. Maritime Chart Service has the LITBL set to the same RGB values as CHMGD by default. 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
To change the RGB values for the LITBL, complete the following steps :
- 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.
- Edit the .clr file:
- Search for the LITBL color token that is set to RGB value CHMGD by default.
- Update the RGB values to the color you want to use.
Refer to the CLR table structure section below.
- Save the file.
- 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 Rebuild the .senc files section below.
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
To rebuild the .senc files, complete the following steps:
- Open https://gisserver.domain.com:6443/arcgis/manager in a web browser and sign in as a server manager.
- Click Services.
- Stop the map service with Maritime Chart Service capabilities configured.
- Delete the contents of the <ArcGIS Server installation drive>/usr/directories/maritimeserver/maritimechartservice/sencs folder.
- Start the map service.
- Repeat these steps for each map service for which you modified .clr files.