Skip To Content

Create a Maritime Chart Service tile package

Available with Standard or Advanced license.

Available with Production Mapping license.

Available with ArcGIS Maritime license.

The Maritime Chart Service Tile Package, or mcstpk.exe, is a stand-alone extension to Maritime Chart Service capabilities that you can enable for a map service.

Using S-57 or S-63 datasets, you can create a tile package (.tpk) that can be deployed throughout ArcGIS and taken offline. For example, you can mimic the look and feel of your existing map service that is enabled with Maritime Chart Service by creating a tile package using the same S-57 or S-63 datasets and configuration settings. This tile package can then be published as a cached map service in ArcGIS Server.

There is no dependency on having an existing map service with Maritime Chart Service enabled. The only dependency is that you have a valid ArcGIS Pro or ArcGIS GIS Server license on the machine you want to use to run the Maritime Chart Service Tile Package.

This design allows you to either use existing map services with Maritime Chart Service enabled or create individual Maritime Chart Service projects to manage the tile packages.

Configure Maritime Chart Service tile package functionality

The Maritime Chart Service Tile Package, or mcstpk.exe, is a stand-alone application that uses the same configuration setup that Maritime Chart Service uses for your map service. The mcstpk.exe file is provided with the Maritime server installation files, at <installation location>/MaritimeServer/<version>/Bin. Each tile package is managed in a Maritime Chart Service project. The <project name>.mcs project file (SQLite database) contains a location under Project > Properties to the datasetsDirectory, controlFilesDirectory, and workingDirectory paths project location as well as display settings, layer, and tile package information.

Similar to setting up support for multiple map services, each project can point to a single set of configuration folders to share information, including datasets, or establish individual copies so each tile package project can be uniquely configured. You can also modify the ServerConfiguration.xml and S52DisplayProperties.xml files before creating a project.

Learn more about modifying S-52 display properties and server configuration files.

Tip:

Once a project is created, you can use the tools in mcstpk.exe to make changes to the settings.

Before creating a tile package, it is recommended that you copy the maritimechartservice folder from <ArcGIS Server installation directory>\MaritimeServer\Server<version> to a new location to create a new tile package. This is the information that you will be asked to point to when you create a Maritime Chart Service project. You can copy the mcstpk.exe file to any location, along with the mcstpk_staging folder, as long as that machine is authorized with a valid ArcGIS Pro or ArcGIS GIS Server license.

Caution:

Do not set the workingDirectory folder path under the Configuration Paths parameter to an existing Maritime Chart Service enabled in a map service. This setup is not supported and can cause issues due to file locks with existing .senc files being used by the map service.

Create a Maritime Chart Service project

To create a tile package, you must first create a project.

The following steps describe how to create a project:

  1. Browse to the mcstpk.exe file.

    The default location is <installation location>/MaritimeServer/<version>/Bin.

    Note:

    You can copy the mcstpk.exe file to any location, along with the mcstpk_staging folder, as long as that machine is authorized with a valid ArcGIS Pro or ArcGIS GIS Server license.

  2. Double-click mcstpk.exe.

    The Create MCS Tile Package application window appears.

  3. Click Project > New.

    The Create New Project dialog box appears.

  4. Type a name for the project in the Project Name text box.

    This will be the name of the .mcs file and the tile package.

  5. Click Browse and browse to where you want to set the Project Location.

    The project (.mcs) file and tile package (.tpk) file will be created at this location.

  6. Click Browse and browse to where you want to set the Datasets Directory location.

    This is the location of the S-57 and S-63 datasets.

    Note:

    This setting can be shared between projects and existing map services with Maritime Chart Service enabled.

    Caution:

    It is recommended that you use a location other than the C:\ drive for the Datasets Directory location. Using the C:\ drive will cause mcstpk.exe to scan the entire drive.

  7. Click Browse and browse to where you want to set your controlFiles Directory location.

    The folder selected must contain the controlFilesDirectory folder. Any configuration changes to the files contained in the controlFiles Directory must be made before creating a project or those changes will not be applied. This setting can be shared between projects and existing map services with Maritime Chart Service enabled.

  8. Click Browse and browse to where you want to set the Working Directory location.

    The folder selected must contain the logs and sencs folder.

    Caution:

    It is recommended that this setting not be shared between projects or an existing map service with the Maritime Chart Service enabled due to system locks on the .senc files.

  9. Click Create Project.

    An .mcs SQLite database project file is created and your S-57 and S-63 datasets are processed. Once the processing of the datasets is complete, you can modify the display settings and create a tile package.

  10. Note:

    Your project is in an unlocked state, which means you have not yet created a tile package and can modify the settings, including the configuration paths, under Properties. To apply additional S-57 or S-63 datasets to the project, you can copy those datasets into the correct datasetsDirectory location and run the Check for Dataset Changes tool.

    A project contains your configuration settings, display settings, and tile package information in a SQLite database ending with .mcs. Similar to creating a map service with Maritime Chart Service enabled, you must point to your Datasets Directory, Controlfiles Directory, and Working Directory. You can share these properties between projects similar to how you share properties between multiple map services.

Open an existing Maritime Chart Service project

Once you have created a Maritime Chart Service project, you can click the .mcs file to reopen that project or access it through the application using the following steps:

  1. Click mcstpk.exe.
  2. Click Project.
  3. Click Open.
  4. Select the .mcs file.
  5. Click Open.
    Note:

    The project opens using the information stored in the .mcs file. If new S-57 or S-63 data was added to the datasetsDirectory location, it will be processed. You are also notified if no changes are found. To add more S-57 or S-63 datasets to the project once it is open, copy them to the correct datasetsDirectory location and run the Check for Dataset Changes tool. Once the project has opened, it will either be in the locked or unlocked state. This information is in the lower left corner of the application and determines what functionality is available.

    Caution:

    If the project is in a locked state, that means you have created a tile package. If additional S-57 or S-63 datasets were processed, only those that fell within or intersected the tile package extent will be available to the updated tile package process. The datasets that fall outside the tile package extent will still be processed and loaded into the display but will not be available to update the tile package.

    Learn more about creating and updating tile packages

  6. If the project opened in an unlocked state, refer to the Create a tile package using Maritime Chart Service section below.
  7. If the project opened in a locked state, refer to the Update a tile package using Maritime Chart Service section below to create an update for the existing tile package.

Create a tile package using Maritime Chart Service

When the project is in the unlocked state, it means that a tile package has not yet been created with the project. Before creating a tile package, you can change the configuration properties, update your S-57 or S-63 datasets, modify the visible layers, and change the extent and display settings. Once the setup is complete, you are ready to create a tile package.

  1. Click Tools.
  2. Click Create Tile Package.

    The Create Tile Package dialog box appears with default information fields populated based on the current extent.

  3. If necessary, modify Scale Levels. Click Use Full Extent to apply the Start and End levels to the full extent of the data instead of the visible extent.
  4. Click Create.
    Note:

    Once the tile package is created, you can add more S-57 or S-63 datasets to the project by copying those S-57 or S-63 datasets into the project's datasetsDirectory location, which can be viewed under Properties, and then running the Check for Dataset Changes tool under Tools. After the dataset changes have been applied, you can run the Update Tile Package tool.

The tile package is being created and will be stored in the project location. The .mcs project will automatically be saved and locked. Depending on the number of bundles, the process can take many hours to complete. Once the project is locked, you can only unlock it by clicking Save As and saving the project with the same name to the same location. This removes any reference of a tile package from the .mcs project file. The tile package will still remain on disk and can be deleted or overwritten.

Learn more about publishing a tile package created by Maritime Chart Service

Update a tile package using Maritime Chart Service

Once you have created a tile package, the project is automatically locked. This is to ensure that no settings are changed when creating an update to the existing tile package. The only exception is that you are allowed to apply S-57 or S-63 dataset changes. Only dataset changes that fall within or intersect the tile package extent will be available to the update tile package process.

  1. Click mcstpk.exe.
  2. Click Project.
  3. Click Open.
  4. Select the .mcs file.
  5. Click Open.

    The project opens using the information stored in the .mcs file. If new S-57 or S-63 data was added to the datasetsDirectory location, it will process that information. You will also be notified if no changes are found.

    Note:

    To add more S-57 or S-63 datasets to the project once it is open, you can copy that information into the correct datasetsDirectory location, which can be viewed under Properties, and then run the Check for Dataset Changes tool under Tools. Only dataset changes that are within or intersect the tile package extent will be available to the update tile package process. All datasets that fall outside the tile package extent will still be processed and loaded into the display but will not be available to update the tile package.

  6. Click Open.
  7. Click Tools.
  8. Click Update Tile Package.

    The Update Tile Package dialog box appears with information fields populated based on dataset changes since the last tile package was created. If no updates are detected, you will be asked whether you want to check for dataset changes.

  9. Click Update.

The tile package is created and stored in the project location. The .mcs project is automatically saved and locked. Depending on the number of bundles, the process can take many hours to complete.

Learn more about publishing a tile package created by Maritime Chart Service.

Publish a tile package created by Maritime Chart Service

After you have created a tile package, you must deploy it. Depending on your use case, there are various ArcGIS help topics that guide you through deploying the tile package at run time using ArcGIS Server to create a cached map service or upload to your organization.

Most topics in the ArcGIS help start with you defining and publishing through ArcGIS Pro. Since you already have the tile package created, there is no need to follow those steps. You are just deploying the .tpk file.

Learn more about tile packages and their contents

Learn more about creating a cached map service

Maritime Chart Service tile package functionality

The following options are available under Project when creating a Maritime Chart Service tile package:

New

The New command creates an .mcs project and applies the Configuration Paths settings.

Open

The Open command, under Project, allows you to open an existing project.

If any of the existing project settings become invalid, the project opens in a mixed state until those settings are updated. If the mixed state is locked and cannot be reset, you can click Save As and overwrite the project. This allows you to modify the project settings.

Properties

Once the project has been created, you can access the Properties window to check the project location and configuration paths. If the project is unlocked, you can update the configuration paths.

You cannot update the Properties settings once the project is locked. This is to ensure that the updated tile package has the same information as the base tile package. To unlock the project, click Save As.

Datasets Directory

This is the location of the S-57 or S-63 datasets. If you change this location and click Update, the project will honor this new location, process any datasets found under the parent folder, and delete any existing .senc files processed from the previous location.

Note:

This setting can be shared between projects and existing map services with Maritime Chart Service enabled.

ControlFiles Directory

The folder selected must contain the controlFilesDirectory folder. Any configuration changes to the files contained in the controlFilesDirectory folder must be done before creating a project, or those changes will not be applied. For more information about what's in this location, refer to Modify Maritime Chart Service capabilities properties.

Note:

This setting can be shared between projects and existing map services with Maritime Chart Service enabled. Once a project is created, you cannot change its properties. Depending on the changes required, you can either use display settings or create a project with an updated controlFilesDirectory folder under Configuration Paths.

Working Directory

The folder selected must contain a logs and sencs folder.

Caution:

It is recommended that this setting not be shared between projects or an existing map service with Maritime Chart Service enabled due to system locks on the .senc files.

Update

Update is only available if one of the Configuration Paths has been modified and is valid. When you click Update, the project is automatically saved with the new path information, and the necessary settings are applied. For example, if you modified the datasetsDirectory location, those datasets are processed.

Save As

A project, whether in the locked or unlocked state, can be saved as a new project or overwritten to bring it back to the unlocked state.

Save as a new project

Whether the project is in the locked or unlocked state, you can save it as a new project. This will make a copy of your existing .mcs file and rename it using the name you provided on the dialog box. All configuration paths remain the same as the original project but can be updated now that the new project is in an unlocked state.

This option is typically used when you have a set of display settings that you configured and want to apply them to different datasets. This option is also used to change the display settings or create new projects and tile packages while using the same datasets. This reduces the amount of data loading that may be required to support multiple tile packages.

Overwrite a project

This workflow is beneficial if you have a locked project and want to disassociate the tile package from that project and start the create tile package process again while retaining some of the existing settings.

For example, you create a tile package but discover you forgot to load a few datasets that now fall into one of your unsupported workflows, or you forgot to apply a certain display setting, or you got the start or end LOD incorrect. Instead of loading all the data again or making extensive changes, you can quickly overwrite the existing .mcs file and remove the reference to the tile package. This unlocks the project and allows you to create a new tile package.

Learn more about creating and updating packages

If the new tile package has the same name as the old tile package, the old tile package is overwritten.

  1. Click Save As.
  2. Click OK.
  3. A Confirm Save As message appears.
  4. Click Yes to overwrite the existing .mcs file.

    If the project is in an unlocked state, it is saved as a new project. If the project is in a locked state, the reference to any tile packages are removed, allowing you to create a new tile package.

Layers

Layers can be turned on and off by clicking the Layers option under View. These layers are defined in the S52DisplayProperties.xml file, which is referenced by the controlFiles Directory in the S52PresentationLibrary folder during the creation of the project.

Learn about customizing configuration files

Any layer that is turned off will not be included in the tile package. All changes are automatically saved to the .mcs project file.

Note:

This option is unavailable once the project is locked. This is to ensure that the updated tile package has the same information as the base tile package. To unlock the project, refer to Overwrite a project.

Full Extent

Clicking View > Full Extent allows you to zoom to the full extent. This will also zoom to the full extent of all the S-57 or S-63 datasets.

Display Settings

Clicking Tools > Display Settings allows you to set various mariner controls in accordance with S-52 standards. All changes are automatically stored in the .mcs project file.

The Display Settings option is unavailable once the project is locked. This is to ensure that the updated tile package has the same information as the base tile package. To unlock the project, refer to Overwrite a project.

Check for Dataset Changes

Clicking Tools > Check for Dataset Changes allows you to apply S-57 or S-63 dataset changes to projects that are in a locked or unlocked state.

Click Check for Dataset Changes to check for any changes (new datasets, updates, and deleted or canceled datasets). The updates are processed and the associated .senc files are updated or deleted.

Learn about additional information for workflows that may not be supported based on the changes found while running this command.

More information about creating and updating tile packages

This section describes workflows that either require additional steps or are not fully supported when creating an updated tile package as well as other details about mcstpk.exe files.

Apply dataset changes outside your tile package extent

If you add or modify S-57 or S-63 datasets outside of the tile package extent, those changes are not applied to the tile package update. Making changes to an existing tile package extent is not supported. In this scenario, you can either create a new project that points to the same configuration settings or overwrite the existing project.

Add a small-scale dataset to an existing tile package

If you add new S-57 or S-63 datasets that contain a small-scale chart that is outside the existing Start Level of Display (LOD), those changes are not applied to the tile package update. In this scenario, you can either create a new project that points to the same configuration settings or overwrite the existing project.

Add a large-scale dataset to an existing tile package

If you add new S-57 or S-63 datasets with a large-scale chart, the update tile package processes will detect the new display scale and automatically modify the Overzoom value to include that new dataset. If this occurs, you must copy the newly created config.xml file in the tile package to the server when updating the cache. If you don't, the cached map's LOD information will not be updated and the new dataset will not be visible.

Learn about publishing a tile package created by Maritime Chart Service

How updates to a tile package are managed

To process and update an existing tile package, the mcstpk.exe file analyzes changes to existing S-57 and S-63 datasets that either intersect or fall within the tile package extent. If changes are found after the tile package is created or updated, the bundles containing those changes are processed.

The Maritime Chart Service project file contains a reference to the tile package by name and update number. This allows the mcstpk.exe file to process sequential updates similar to the S-57 model of updates. It is up to the ArcGIS Server administrator to back up and publish the tile package. The mcstpk.exe file only manages the creation of tile packages, not their distribution or archiving.

Learn about publishing a tile package created by Maritime Chart Service