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, which you can enable for a map service.
Using your datasets, this functionality allows you to create a tile package (.tpk) that can be deployed throughout ArcGIS, 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 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 Maritime license on the machine on which you want to run the Maritime Chart Service Tile Package.
This design allows you to either leverage existing map services with Maritime Chart Service enabled or create individual Maritime Chart Service projects to manage your tile packages.
Configure Maritime Chart Service tile package functionality
The 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 datasetsDirectory, controlFilesDirectory, and workingDirectory 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.
Learn more about modifying S52 Display Properties and Server Configuration files
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. 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 Maritime server license.
Caution:
Do not set the workingDirectory folder path 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.
Create 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:
- 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 Maritime server license.
- Click Project.
- Click New.
The Create New Project dialog box appears.
- Type a name for your project in the Project Name text box.
This will be the name of the .mcs file and the tile package.
- 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.
- Click Browse and browse to where you want to set your 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 the Maritime Chart Service enabled.
Caution:
It is recommended that you use a location other than your C:\ drive for the Datasets Directory location. Using the C:\ drive will cause mcstpk.exe to scan the entire drive.
- Click Browse and browse to where you want to set your Controlfiles Directory location.
The folder selected must contain your controlFilesDirectory folder. Any configuration changes to the files contained in the controlFilesDirectory 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.
- Click Browse and browse to where you want to set your Working Directory location.
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 the Maritime Chart Service enabled due to system locks on the .senc files.
- Click Create Project.
A .mcs SQLite database project file is created and your S-57 and S-63 datasets are processed. Once the processing of your datasets is complete, you can modify your display and create a tile package.
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 or S-63 datasets to your 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 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.
Open 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:
- Click mcstpk.exe.
- Click Project.
- Click Open.
- Select the .mcs file.
- Click Open.
Note:
Your project opens using the information stored in the .mcs file. If new S-57 or S-63 data was added to your datasetsDirectory location, it will be processed. You are also notified if no changes are found. If you want to add more S-57 or S-63 datasets to your project once it is open, copy them to the correct datasetsDirectory 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 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 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.
Learn more about creating and updating tile packages
- If your project opened in an unlocked state, refer to the Create a tile package using Maritime Chart Service section.
- If your project opened in a locked state, refer to the Update a tile package using Maritime Chart Service section to create an update for your existing tile package.
Create 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 or S-63 datasets, modify your visible layers, and change your extent and display settings. Once your setup is complete, you are ready to create your tile package.
- Click Tools.
- Click Create Tile Package.
The Create Tile Package dialog box appears with default information fields already populated based on your current extent.
- 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.
- Click Create.
Note:
Once your tile package is created, you can add more S-57 or S-63 datasets to your 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 under Tools. After your dataset changes have been applied, you can run the Update Tile Package tool.
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 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 the Maritime Chart Service
Update 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 or 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.
- Click mcstpk.exe.
- Click Project.
- Click Open.
- Select your .mcs file.
- Click Open.
Your project will open using the information stored in your .mcs file. If new S-57 or S-63 data was added to your datasetsDirectory location, it will process that information. You will also be notified if no changes are found.
Note:
If you want to add more S-57 or S-63 datasets to your 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 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.
- Click Open.
- Click Tools.
- 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.
- Click Update.
Your tile package is created and stored in your project location. Your .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 the Maritime Chart Service.
Publish a tile package created by the Maritime Chart Service
After you have created a tile package, you will need to deploy it. Depending on your use case, there are various ArcGIS help topics that will guide you through deploying your 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 your .tpk file.
Maritime Chart Service tile package functionality
The following options are available under Project when creating a new Maritime Chart Service tile package:
New
The New command creates a new .mcs project and applies your Configuration Paths settings.
Open
The Open command, under Project, allows you to open an existing project.
If any of your 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, it is recommended that you click Save As and overwrite the project. This allows you to modify your project settings.
Properties
Once your project has been created, you can access the Properties window to check your project location and configuration paths. If your project is unlocked, you can update the configuration paths.
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 or 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 folder 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, 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 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 datasetsDirectory, 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 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 it is rename using the name you provided in the dialog box. All configuration paths remain the same as your 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 your 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 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 workflows, 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 the tile package. This unlocks the project and allows you to create a new tile package.
Learn about additional information when creating and updating packages
If the new tile package has the same name as the old tile package, the old tile package is overwritten.
- Click Save As.
- Click OK.
- click Yes, you will overwrite your existing .mcs file.
If your project is in an unlocked state, it is saved as a new project. If your 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 your S52DisplayProperties.xml file, which is referenced by the controlFiles Directory in the S52PresentationLibrary folder during the creation of your project.
Learn about customizing configuration files
Any layer that is turned off will not be included in your tile package. All changes are 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, refer to overwrite a project.
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 or 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, refer to overwrite a project.
Check for Dataset Changes
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
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.
Apply dataset changes outside your tile package extent
If you add or modify S-57 or S-63 datasets outside of your tile package extent, those changes are not 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 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 your 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 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'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, mcstpk.exe 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 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.
Learn about publishing a tile package created by Maritime Chart Service
Commonly asked questions
What is a Maritime Chart Service project?
A Maritime Chart Service project is a SQL Lite database file with an .mcs file extension that is used by mcstpk.exe to store property settings, display settings or mariner controls based on S-52 standards, visible layers as defined in your S-52DisplayProperties.xml file, 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 or 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.
Learn to save as a new project
When does my datasetsDirectory get processed and what do the messages mean?
The following are the places in the mcstpk.exe workflow that process the S-57 or S-63 datasets found in the datasetsDirectory path:
- New
- Open
- Update to your datasetsDirectory path
- Check for Dataset Changes
Each time the dataset's location is processed, one of the following messages appears:
Message | Description |
---|---|
No Changes | The datasets found in your datasetsDirectory 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.