Skip To Content

Configure ArcGIS Maritime

Available with Standard or Advanced license.

Available with Production Mapping license.

Available with ArcGIS Maritime license.

ArcGIS Maritime uses a server object extension (SOE). The SOE must be added to an ArcGIS Server site using ArcGIS Server Manager to enable Maritime Chart Service functionality for a map service.

Review the following requirements before setting up the service:

  • Mapped network drives are not recommended for the workspaceDirectories property setting due to potential performance issues. It is recommended that the .senc files be stored on the physical server.
  • Maritime Chart Service can only be enabled on a dedicated instance type. Shared instance pools are not supported.
  • Maritime Chart Service will exceed a URL length of 2,048 characters if you use display properties in the GET request. POST requests are not necessarily supported in all third-party apps. If you cannot support POST requests in your apps, it is recommended that you increase the allowable URL length using a web.config file.
  • A sample web.config file is provided in the Bin folder. The default location is C:\Program Files\ArcGIS\MaritimeServer\Server<version>\Bin.
  • For deploying Custom Chart Builder, you must use the web.config file to increase the default URL length.
  • It is recommended that you increase the map service's javaHeapSize value from the default 128 MB to 2048 MB or greater, depending on your system resources and the number of datasets in your service. The queryDataset operation and Custom Chart Builder exports can exceed this default limit.
  • It is recommended that you set the minimum and maximum number of instances per machine to 1. This ensures that when the map service that has Maritime Chart Service (MCS) enabled is started, the cataloging process starts automatically. Otherwise, a request to start the cataloging process must be made to one of the Maritime Chart Service endpoints. During the cataloging process, MCS scans the datasets folder and builds the necessary .senc files.

    Learn more about configuring service instance settings

Note:

To ensure that NOBJNM values are displayed correctly, verify that your system has the ARIALUNI.TTF font installed.

Enable Maritime Chart Service

To enable Maritime Chart Service, complete the following steps:

Note:

The setup steps provide default locations and names to deploy the configuration files. The name of the Maritime Chart Service folder and location may differ depending on your organization's requirements.

  1. Create a folder named maritimeserver in the ArcGIS Server site at <ArcGIS Server installation drive>\arcgisserver\directories.

    The default location is C:\arcgisserver\directories.

    Note:

    If the directories folder doesn't exist, verify that the ArcGIS Server site has been created.

    Learn more about creating an ArcGIS Server site

  2. Copy the maritimechartservice folder from the Maritime server installation location to the maritimeserver folder created in step 1.

    The default location is C:\Program Files\ArcGIS\MaritimeServer\Server<version>.

  3. Sign in to ArcGIS Server Manager.
  4. Click Site.
  5. In the Server Configuration window, click Extensions.
  6. Click Add Extension.
  7. Click Choose File and browse to <ArcGIS Maritime Server installation directory>\MaritimeServer\Server<version>\Bin.
  8. Double-click MaritimeServer.soe.
  9. Click Add.

    The MaritimeServer.soe file is added.

  10. Click the Services tab.
  11. Click the map service to which you want to add Maritime Chart Service.

    Maritime Chart Service works with any existing map service.

  12. Click Capabilities and check the Maritime Chart Service check box.
    Maritime Chart Service capability enabled in the Select and configure capabilities section of the Capabilities tab
  13. Verify that the Maritime Chart Service properties are configured correctly.
    Note:

    The MaritimeServer.soe file uses the maritimechartservice folder to automatically populate the Maritime Chart Service properties.

  14. Click Save and Restart to restart the map service.

    Maritime Chart Service capabilities are enabled.

Once Maritime Chart Service is enabled you can load S-57 and S-63 datasets to the map service. You can also modify default configuration settings and service properties.

Deploy Custom Chart Builder

The Maritime server extension allows you to deploy a web-based app to generate information map products in real time and allows you to create any product at any scale. To deploy Custom Chart Builder you must have a map service with the Maritime Chart Service capability enabled and deployed.

Note:

Complete the following prerequisites before deploying Custom Chart Builder:

  • Custom Chart Builder requires the installation of PDF Merge Support. Without this feature, PDF documents cannot be exported from the CCB app.
  • A web adaptor such as ArcGIS Web Adaptor must be installed.
  • You must increase the javaHeapSize value from the default 128 MB to 2048 MB or greater to support CCB exports.

Copy the customchartbuilder folder

Copy the customchartbuilder folder from the Maritime server installation location and paste it to the deployment location. The files in the installation location can be treated as a backup; the files in the deployment location can be modified as needed. It is recommended that you store the customchartbuilder folder in the same location as the maritimechartservice folder. The default location is C:\arcgisserver\directories\maritimeserver.

To deploy Custom Chart Builder in an ArcGIS Server site, complete the following steps:

  1. Create a folder named maritimeserver in the ArcGIS Server directories folder if necessary.

    The default location is C:\arcgisserver\directories. If this location doesn't exist, verify that the ArcGIS Server site has been created and that Maritime Chart Service is enabled.

  2. Copy the customchartbuilder folder from the Maritime server installation location and paste it to the maritimeserver folder.

    The default location for the customchartbuilder folder is C:\Program Files\ArcGIS\MaritimeServer\Server<version>\.

Once the customchartbuilder folder is added to the maritimeserver folder, the CCB files can be referenced by ArcGIS Server. You must also configure sharing and permissions so that the CCB app has write access to the files.

Configure sharing and permissions

CCB export processing writes or modifies files in the arcgisserver folder, which requires full control by the ArcGIS Server account. To configure sharing for the arcgisserver folder and to add full control permissions for the ArcGIS Server account, complete the following steps:

  1. Locate the arcgisserver folder.

    The default location is C:\arcgisserver.

  2. Right-click the arcgisserver folder and click Properties.
  3. Click the Sharing tab.
  4. Click Advanced Sharing.
  5. Check the Share this folder check box.
  6. Click Permissions.
  7. Click Add... on the Share Permissions tab.
  8. Add the ArcGIS Server account.
    Note:

    The ArcGIS Server account default name is arcgis. Alternatively, you can use the local or domain account used to configure ArcGIS Server.

  9. Once the ArcGIS Server account has been added, click OK.
  10. Choose the newly added ArcGIS Server account in the Group or user names window on the Share Permissions tab.
  11. Check the Allow check box next to Full Control.
  12. Click OK.
  13. Click OK to close the Advanced Sharing dialog box.
  14. Click Close if necessary.
  15. Close the Properties dialog box.

Update the toolConfig.json file and Registry Key

The JSON file stores file paths that support parameters in the Calculators and ExportWebMap service definition files. Administrator permissions are required to add the toolConfig.json file path to the Registry Key.

Note:

Any existing services must be re-added any time the Registry Key is edited.

Update the toolConfig.json file

To update the toolConfig.json file, complete the following steps:

  1. In File Explorer, browse to the toolConfig.json file and open it in a text editor.

    The default location is C:\arcgisserver\directories\maritimeserver\customchartbuilder\Tools.

  2. Update the following variables:
    • shared_products_path and output_directory—Update the variables with the machine name and domain. Update the folder path if you did not use the default settings.
    • output_url—Update the variables with the machine name and domain. Update the folder path if you did not use the default settings.
      Note:

      Localhost can only be used for local testing.

  3. Save the changes to toolConfig.json and close the file.

After the toolCongfig.json file is updated, it must be added to the Registry Key.

Add the toolConfig.json file to the Registry Key

To add the toolCongfig.json file to the Registry Key, complete the following steps:

  1. Click the Windows Start menu and type Registry Editor.
  2. Click Registry Editor.
  3. Click Yes to allow changes to be made in Registry Editor .
  4. Browse to Computer\HKEY_LOCAL_MACHINE\SOFTWARE\EsriProduction\Server<version>\Maritime.
  5. Right-click the Maritime folder, point to New, and click String Value.
  6. For the string name, type ccbToolConfig.
  7. Double-click the string to edit it.
  8. In the Value data text box, provide the file path to the toolConfig.json file.

    The default location is C:\arcgisserver\directories\maritimeserver\customchartbuilder\Tools\toolConfig.json.

Publish the service definition files

Publish the service definition files, Calculators.sd and ExportWebmap.sd, to ArcGIS Server for CCB to calculate the area of interest (AOI) extent and export the chart.

To streamline deployment, it is recommended that you create a server folder named CCB to organize CCB-related services.

To publish the service definition files, complete the following steps:

  1. Sign in to ArcGIS Server Manager.
  2. Click Services > Manage Services.
  3. Click Add Folder
    .

    The Add Folder dialog box appears.

  4. Name the folder CCB and click Create.

    A folder named CCB is created under the Site (root) folder. This folder will be used to store service definition files.

  5. Click Publish Service.
  6. On the Publish Service dialog box, click Choose File, and browse to the ServiceDefinitionFiles folder.

    The default location for the folder is C:\arcgisserver\directories\maritimeserver\customchartbuilder\ServiceDefinitionFiles.

  7. Choose Calculators.sd and click Open.
    Caution:

    Do not change the name of the service. The web app does not work if a different name is used.

  8. Click Next.

    You must specify the properties for the service. No additional capabilities are required.

  9. Choose the Existing option and ensure that CCB is selected from the drop-down list.
    Note:

    All CCB service definitions must be in the same folder to deploy CCB.

  10. Click Next.
  11. Click Publish.
  12. Repeat these steps for the ExportWebmap.sd service definition file.

Enable custom symbology

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.

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

Update geoenabled notes

Geoenabled notes allow you to generate textual notes for CCB outputs based on the geographic location of the product.

The notes are stored in a point, line, or polygon feature class, where each record has a text box that contains the note. When a new product area of interest is inserted, the area of interest is intersected with the geoenabled notes layers and is appended to the export. If there is more than one page of notes, a second page is generated, and so on. To support note export, layouts (.pagx files) must be configured with text elements named noteContent, noteTitle, and textNotePrintSpace. These elements can be on one page with the nautical chart and exported as a single page or in the notes.aprx file to export multiple pages.

A second language can be added to the Notes file geodatabase (Notes.gdb) to ensure translated national notes appear on the chart. If the national_title and national_note fields in the database contain text, the national note will appear below the original text.

To customize geoenabled notes, complete the following steps:

  1. Unzip the Notes.zip file in the <ArcGIS Server directory location>\arcgisserver\directories\maritimeserver\customchartbuilder\LayoutTemplates directory.

    A sample notes geodatabase exists in the Notes.zip file.

  2. In ArcGIS Pro, add multipart polygon features to the FeatureClassForNotes feature class in the Notes.gdb folder.

    Optionally, add features to the FeatureClassForNotes or FeatureClassForNotes_Line feature class.

    Tip:
    • Sample notes are available in the FeatureClassForNotes_Sample feature class in the Notes.gdb folder.
    • Multipart polygons allow you to have several geographic locations that share the same note text without redundancy.
  3. Optionally, edit the following fields in the FeatureClassForNotes feature class:

    Notes

    (Required)

    Add note text or the body of the paragraph.

    Title

    (Optional)

    Add the name of the note that prints above the note paragraph.

    Color

    (Optional)

    Set the Red, Green, Blue (RGB) value of the note paragraph and title. Separate values with a single comma. The note appears with black text if the field is empty, null, or has invalid values.

    Note:

    This field does not accept CMYK color values.

    minScale

    (Optional)

    Specify the smallest chart scale on which the note appears. For example, if a note appears on a chart between 1:40000 and 1:90000, type 40000 in the field.

    maxScale

    (Optional)

    Specify the largest chart scale on which the note appears. For example, if a note appears on a chart between 1:40000 and 1:90000, type 90000 in the field.

    national_title

    (Optional)

    The title of the note. This title appears above the note paragraph.

    national_note

    (Optional)

    The note text.

  4. Optionally, modify the notes.aprx file to configure the font style and size of the text element.

    The notes.aprx file is located at <ArcGIS Server directory location>\arcgisserver\directories\maritimeserver\customchartbuilder\LayoutTemplates directory The default location is C:\arcgisserver\directories\maritimeserver\customchartbuilder\LayoutTemplates directory.

    Note:

    Note text elements must be configured with the adjust height fitting strategy.

Customize layout templates

You can customize the layout templates as described below.

Map elements

Custom Chart Builder provides several layout templates for various page sizes and orientations. Each layout contains layout elements such as scale bars, north arrows, legends, logos, text, or other graphics that are created for specific purposes in the chart. Map frames are also layout elements.

Tip:

Use the center anchor point in the map frame to minimize movement and prevent the grid border from overlapping surrounding elements. The map frame expands 13 millimeters on each side during the export map process.

By default, the layout template font is Arial.

Manage elements

During product creation, the map elements are updated dynamically to reflect changes in the chart, such as scale, geographic extent, and generation date. CCB uses the names of elements to manage and identify the elements to be modified by the automation script.

Caution:

Do not change map element names. If you modify the names, the element cannot be managed using the automation script. If necessary, you can access the name by clicking Element pane in the Options tab.

Element nameDescription

Layers Map Frame

(Required)

The name of the map frame that will contain the chart content. There must be 13 millimeters available on all four sides of the frame to allow for the grid border space.

ZOC

(Optional)

The name of the map frame that will contain the zones of confidence (ZOC). If the ZOC map frame element is not in the main chart layout, the ZOC chart will export on additional pages using the ZOCdiagram.pagx template. If the ZOCdiagram.pagx template is not found, the ZOC diagram will not appear in the export.

noteTitle

(Optional)

The title of the note. This element is intentionally placed off the page so it can be copied and modified during the export process. The Fitting Strategy must be set to Adjust height in the Element properties menu.

The element anchor point must be at the upper left.

Use the layout element tools to modify the width, font style, and font size.

noteContent

(Optional)

The note body or paragraph. This element is intentionally placed off the page so it can be copied and modified during the export process. The Fitting Strategy must be set to Adjust height in the Element properties menu. If this element is missing, notes will not appear on the page.

The element anchor point must be at the upper left.

Use the layout element tools to modify the width, font style, and font size.

txtNotePrintSpace

(Optional)

The text note print space defines the location to place notes on the page that are derived from the Notes file geodatabase (Notes.gdb). The width of the element must correspond to the noteContent and noteTitle elements. For example, the element must have a width of 103 mm to define the print area for two columns of notes; a 50 mm wide noteContent element, a 50 mm wide noteTitle element, and a gap of 3 mm between columns. If this element is missing, notes will not appear on the page.

The text note print space minimum width is 51.7 mm. The ExportWebmap specification defines the note width and the space between columns. To change these values, you must modify the ExportWebmap Python script and create a new service definition file.

If this element is not in the layout, the notes are generated on extra pages as configured in the notes.aprxfile file.

ScaleBar[name][unit]

(Optional)

The scale bar element named with the S-4 style and unit (nautical miles or meters). Each element is configured with a maximum and minimum visibility range.

txtDate

(Optional)

The text element containing the chart creation date.

txtTitle

(Optional)

The chart title or name. The chart title is obtained from the CCB web app interface or from the chart_name attribute in the Fixed Product table.

txtProj

(Optional)

The chart projection information and scale. The element must contain ProjectionValue, ScaleValue, LatValue and DatumValue.

Map frame

The AOI generated in the CCB web app is obtained from the map frames in the layout template. A calculator finds the lower left corner of the data frame and the left and bottom edge. Changing the map frame size impacts AOI size.

Configure the web app

Once you have published the service definition files, updated the layout templates, published a map service with Maritime Chart Service available, and updated the toolconfig.json file, you can configure and deploy the CCB web app.

  1. Browse to <ArcGIS Server installation directory>\MaritimeServer\Server<version>\webapplications and copy the CCB folder to C:\inetpub\wwwroot if you're using Internet Information Server (IIS) to deploy the web app.
    Note:

    You can rename the CCB folder. This is the name of the app you access over the web.

  2. Register the web app and get the app ID.

    You can skip this step if the web app is configured for the Fixed Product type. For the Custom Product type, this is an optional setting. If you want to activate sign-in capability and need to add data from your organization's account, this step is required.

  3. If you registered the web app through your portal, complete the postregistration steps.
  4. Update the ccbconfig.js file located at C:\inetpub\wwwroot\ccb\js.
    1. Update the serviceURL value with the location of the service you created in step 2 of Publish the service definition files.

      If the recommended default values were used, the path is https://gisserver.domain.com/arcgis/rest/services/CCB.

    2. Update the MCSURL value to the map service with Maritime Chart Service enabled.

      If the Maritime Chart Service capability is enabled for SampleWorldCities, the path is https://gisserver.domain.com/arcgis/rest/services/SampleWorldCities/MapServer/exts/MaritimeChartService/MapServer.

      Note:

      The app uses the Esri Ocean basemap by default. To use another basemap, modify the basemap variable.

    3. Update the ccbconfig.js file with the app ID that you created in step 2 if necessary.

      This allows you to sign in to the ArcGIS organizational account. This only applies to the Custom Product type.

  5. Save the changes to the ccbconfig.js file.

You can launch the app to use CCB.

Update the portal URL

If you registered the web app through your portal, complete the following postregistration steps:

  1. Browse to the CCB folder in the web root folder.

    For example, browse to C:\inetpub\wwwroot\ccb if you are deploying the web app using Internet Information Server (IIS).

  2. In the widgets\AddData folder, open Widget.js.
  3. Add the portalUrl value by providing the URL of the organization to which you'll be sharing the app.

    For example, when providing the portal URL, if the machine hosting the web app is named portalserver with the domain domain.com and the web app is named arcgis, the URL would be https://portalserver.domain.com/arcgis.

  4. Click Save.
  5. In the widgets\LayerList folder, open Widget.js.
  6. In the appConfig section, update the portalUrl value to https://portalserver.domain.com/arcgis.
  7. Click Save.
  8. In the js folder, open SignInButton.js.
  9. Uncomment // portalUrl: "https://portalserver.domain.com/arcgis", and update the portalUrl value to the URL of your organization.
  10. Click Save.

    The portal URL is updated for the app.