Skip To Content

Creating a Maritime Chart Service tile package

Create Maritime Chart Service Tile Package or mcstpk is a stand-alone extension to Maritime Chart Service capabilities, which you enable on a map service.

Using your S-57/S-63 datasets, this functionality allows you to create an Esri tile package (.tpk) that can be deployed throughout the ArcGIS platform and can then be 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/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 for Maritime: Server license on your machine that you want to run the mcstpk.exe on.

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

Configuring Maritime Chart Service tile package functionality

Create Maritime Chart Service Tile Package or mcstpk.exe is a stand-alone application that leverages the same configuration setup that Maritime Chart Service functionality uses in your map service. Each tile package is managed in a Maritime Chart Service project. The <project name>.mcs project file (SQL Lite database) contains a location under Project > Properties to your Datasets Directory, Controlfiles Directory, and Working Directory paths project location as well as your 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 your ServerConfiguration.xml and S52DisplayProperties.xml files prior to creating a new project.

For more information of modifying see S52 Display Properties and Server Configuration.

Tip:

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

Before creating your 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 new Maritime Chart Service project.

Note:

You can copy your mcstpk.exe file to any location along with the mcstpk_staging folder as long as that machine is running a valid ArcGIS for Maritime 10.6.1: Server license.

Caution:

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

Creating a new Maritime Chart Service project

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

The following steps describe how to create a new project:

  1. Click mcstpk.exe.
    Note:

    You can copy the mcstpk.exe file to any location along with the mcstpk_staging folder as long as that machine is running a valid ArcGIS for Maritime 10.6.1: Server license.

  2. Click Project.
  3. Click New.

    The Create New Project dialog box appears.

  4. Enter Project Name.

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

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

    Your .mcs file and tile package will be created at this location.

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

    This is the location of the S-57/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 your C:\ drive for your path. Using your 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.
    Note:

    The folder selected must contain your controlfiles directory folder. Any configuration changes to the files contained in controlfiles must be done prior to creating a new 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 your Working Directory.
    Note:

    The folder selected must contain your 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.

  9. Click Create Project.

    A .mcs SQL Lite database project file is created and your S-57/S-63 datasets are processed. Once the processing of your S-57/S-63 datasets is complete, you can modify your display 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 are free to modify your settings including your configuration paths under Properties. If you want to apply additional S-57/S-63 datasets to your project, you can copy those datasets into the correct Datasets Directory location and run the Check for Dataset Changes tool.
    Note:

    A Project contains your configuration settings, display settings, and tile package information in a SQL Lite 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.

Opening an existing Maritime Chart Service project

Once you have created a maritime chart service project, you can click the .mcs file to re-open that project or access it through the application using the following steps:

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

    Your project will open using the information stored in your .mcs file. If new S-57/S-63 data was added to your Datasets Directory location, it will process that information. You will also be notified if no changes are found. If you want to add additional S-57/S-63 datasets to your project once it is open, you can copy that information into the correct Datasets Directory location and run the Check for Dataset Changes tool. Once your 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 your project is in the locked state, that means you have created a tile package. If additional S-57/S-63 datasets were processed, only those that fell within or intersected your tile package extent will be available to the updated tile package process. The datasets that fall outside your tile package extent will still be processed and be loaded into your display but will not be available to update your tile package.

    See Additional information about creating and updating tile packages.

  7. If your project opened in an unlocked state, see the Creating a tile package using Maritime Chart Service section.
  8. If your project opened in a locked state, see the Updating a tile package using Maritime Chart Service section to create an update for your existing tile package.

Creating a tile package using Maritime Chart Service

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

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

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

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

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

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

    Note:

    Once your project is locked, you can only unlock it by clicking Save As and saving the project with the same name to the same location. Doing this will remove 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.

    For more information on deploying your tile package, see the Publishing a tile package created by Maritime Chart Service section.

Updating a tile package using Maritime Chart Service

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

  1. Click mcstpk.exe.
  2. Click Project.
  3. Click Open.
  4. Select your .mcs file.
  5. Click Open.
  6. Your project will open using the information stored in your .mcs file. If new S-57/S-63 data was added to your Datasets Directory location, it will process that information. You will also be notified if no changes are found.
    Note:

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

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

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

  9. Click Update.
    Note:

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

    For more information on deploying your tile package, see the Publishing a tile package created by Maritime Chart Service section.

Publishing a tile package created by Maritime Chart Service

After you have created a tile package, you will need to deploy that information. Depending on your use case, there are various ArcGIS help topics that will guide you through deploying it 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 ArcMap or ArcGIS Pro. Since you already have the tile package created, there is no need to follow those steps. You are just deploying your .tpk file.

For general information about the contents of a tile package, see About tile packages.

For information about cached map services, see Tutorial: Creating a cached map service.

For best practices, see Available map and image cache properties.

Maritime Chart Service tile package functionality

The following options are available to the user while creating a new MCS tile package under Project:

New

The New command creates a new .mcs project and applies your Configuration Paths settings.

Open

Under Project, you will find the Open command. This allows you to open an existing project.

If any of your existing project settings becomes invalid, the project will open in a mixed state until those settings are updated. If the mixed state is locked and cannot be reset, it is recommended that you click Save As and overwrite the project. This will allow you to modify your project settings.

Properties

Once your project has been created you can view the Properties windowto see your project location and configuration paths. If your project is unlocked, you can update your Configuration Paths information.

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

Datasets Directory

This is the location of your S-57/S-63 datasets. If you change this location and click Update, your 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 your controlfiles directory folder. Any configuration changes to the files contained in the controlfiles directory must be done prior to creating a new project, or those changes will not be applied. For more information about what's in this location, see Modifying 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 new project with an updated Controlfiles Directory 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 your Configuration Paths has been modified and is valid. When you click Update, your project is automatically saved with the new path information, and the necessary settings are applied. For example, if you modified your Datasets Directory, those datasets will be processed.

Save As

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

Save as a new project

Whether your 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 to the new name provided in the dialog box field. All configuration paths remain the same as your original project but can be updated now that the new project is in the unlocked state.

This option is generally used when you have a standard set of display settings that you spent time configuring and want to apply them to different datasets loaded into individual projects. This option is also used to change your display settings or extent to create new projects and tile packages while using the same datasets. This reduces the amount of data that is loading in a senc, that may be required to support multiple tile packages.

Save as itself

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

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

See Additional information about creating and updating packages.

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

  1. Click Save As.
  2. Click OK.
  3. A Confirm Save As message appears.
  4. You have the following options:
    • If you click Yes, you will overwrite your existing .mcs file.
    • If your project is in an unlocked state, it is essentially saved as a new project.
    • If your project is in a locked state, the reference to any tile package will be 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 your S52DisplayProperties.xmlfile, which was referenced by the Controlfiles Directory in the S52PresentationLibrary folder during the creation of your project.

For more information, see Customizing configuration files.

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

Note:

This option is unavailable once the project is locked. This is to ensure that your updated tile package has the same information as the base tile package. To unlock your project, see Save As.

Full Extent

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

Display Settings

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

The Display Settings option is unavailable once the project is locked. This is to ensure that your updated tile package has the same information as the base tile package. To unlock your project, see Save As.

Check for Dataset Changes

Tools > Check for Dataset Changes allows you to apply S-57/ S-63 dataset changes to your project in either the locked or unlocked state.

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

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

Additional 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.

Applying dataset changes outside your tile package extent

If you add or modify S-57/S-63 dataset changes outside your tile package extent, those changes will not be applied to your tile package update. Modification of an existing tile package extent is not currently supported. In this scenario, you can either create a new project that points to the same configuration settings or use Save As and overwrite the existing project.

Adding a small scale dataset to an existing tile package

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

Adding a large scale dataset to an existing tile package

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

See Publishing a tile package created by Maritime Chart Service for more information.

How updates to a tile package are managed

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

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

See Publishing a tile package created by Maritime Chart Service for more information.

Commonly asked questions

What is a Maritime Chart Service project?

A Maritime Chart Service project is an SQL Lite database ending in .mcs that mcstpk.exe uses to store property settings, display settings or mariner controls based on S-52 standards, visible layers as defined in your S-52DisplayProperties.xml, and tile package information such as start and end LOD. The information in your project file allows mcstpk.exe to manage updates to your tile package as you apply additional S-57/S-63 dataset changes.

What are locked and unlocked projects?

Projects are either locked or unlocked. An unlocked project means you have not created a tile package. In the locked state, you can modify your properties, which includes changing your dataset information and modifying to your display. The locked state means you have created a tile package and are restricted to only checking for dataset changes. The reason for this is once a tile package is created, the extent is fixed and it keeps a user from unknowingly modifying a display property that would cause the updated tile package to appear different from the original.

For more information on unlocking your project, see Save As.

When does my Datasets Directory get processed and what do the messages mean?

Following are the places in the mcstpk.exe workflow that process the S-57/ S-63 datasets found in the Datasets Directory path:

  • New
  • Open
  • Update to your Datasets Directory
  • Check for Dataset Changes

Each time your datasets location is processed, you will get one of the following messages:

MessageDescription

No Changes

The datasets found in your Datasets Directory path already have their senc files created.

Loading Complete

No log file will be generated, but a dataset that previously existed was deleted.

Loading complete with Log File

New datasets and new editions or updates to existing datasets have been processed.

Loading complete with errors

An error occurred while processing one or more datasets.

Note:

In all cases, the same processing logic is used, which is the same logic used and logged when running a map service with Maritime Chart Service capabilities enabled.