Create a Maritime Chart Service tile package
Available with Advanced 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. You can then publish this tile package 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 a map service. The mcstpk.exe file is provided with the Maritime server installation files, at <ArcGIS Maritime installation drive>/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.
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 a map service. The mcstpk.exe file is provided with the Maritime server installation files, at <ArcGIS Maritime installation directory>\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, copy the maritimechartservice folder from <ArcGIS Maritime installation drive>\MaritimeServer\<version> to a new location. You must point to this information 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.
Before creating a tile package, copy the maritimechartservice folder from <ArcGIS Maritime installation directory>/MaritimeServer to a new location. You must point to this information 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 another 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.
Complete the following steps to create a project:
Browse to the
mcstpk.exefile.The default location is
C:\Program Files\ArcGIS\MaritimeServer\<version>.The default location is
<ArcGIS Maritime installation directory>/MaritimeServer/Bin.Note:
You can copy the
mcstpk.exefile 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.Double-click
mcstpk.exe.The Create MCS Tile Package application window appears.
Click Project > New.
The Create New Project dialog box appears.
Type a name for the project in the Project Name text box.
This name is used for the
.mcsfile and the tile package.Click Browse and browse to where you want to set the Project Location.
The project (
.mcs) file and tile package (.tpk) file are created at this location.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. When theC:\drive is used themcstpk.exescans the entire drive.Click Browse and browse to where you want to set your controlFiles Directory location.
The folder selected must contain the controlFiles Directory folder. Make any configuration changes to the files in the controlFiles Directory before creating a project. Otherwise, the changes are not 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 the Working Directory location.
The folder selected must contain the
logsandsencsfolders.Caution:
Do not share this setting between projects or an existing map service with Maritime Chart Service enabled due to system locks on the
.sencfiles.Click Create Project.
An
.mcsSQLite 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.Learn more about setting Maritime Chart Service properties
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
datasetsDirectorylocation 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:
Click
mcstpk.exe.Click Project.
Click Open.
Select the
.mcsfile.Click Open.
The project opens using the information stored in the
.mcsfile. If new S-57 or S-63 data was added to the location specified in thedatasetsDirectoryproperty, it is 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 location specified in the
datasetsDirectoryproperty and run the Check for Dataset Changes tool.Note:
Once the project opens, it is either in the locked or unlocked state. This information is in the lower left corner of the application and determines what functionality is available.
If the project is in a locked state, you have already created a tile package. If additional S-57 or S-63 datasets were processed, only those that intersect or are within the tile package extent are available to the updated tile package process. Datasets outside the tile package extent are still processed and loaded into the display but are not available to update the tile package.
Read the Tile packages section below for more information on workflows that require additional steps.
If the project opened in an unlocked state, refer to the Create a tile package using Maritime Chart Service section below.
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.
Click Tools.
Click Create Tile Package.
The Create Tile Package dialog box appears with default information fields populated based on the current extent.
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.
Click Create.
Tip:
Once the tile package is created, you can add more S-57 or S-63 datasets to the project by copying those datasets to the location specified in the
datasetsDirectoryproperty (under Properties) and running the Check for Dataset Changes tool. After the dataset changes have been applied, you can run the Update Tile Package tool.
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. 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 ensures that no settings are changed when creating an update to the existing tile package. The only exception is that you can apply S-57 or S-63 dataset changes. Only dataset changes that intersect or are within the tile package extent are available to the update process; datasets outside the tile package extent are still processed and loaded into the display but are not available to update the tile package.
Click
mcstpk.exe.Click Project.
Click Open.
Select the
.mcsfile.Click Open.
The project opens using the information stored in the
.mcsfile. If new S-57 or S-63 data was added to the location specified in thedatasetsDirectoryproperty, it processes that information. You will be notified if no changes are found.Tip:
To add more S-57 or S-63 datasets to the project once it is open, you can copy those datasets to the location specified in the
datasetsDirectoryproperty (under Properties) and run the Check for Dataset Changes tool.Click Open.
Click Tools.
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 are prompted to check for dataset changes.
Click Update.
The tile package is created and stored in the project location. The .mcs project is automatically saved and locked. Processing time depends on the number of bundles.
Learn more about publishing a tile package created by Maritime Chart Service
Maritime Chart Service tile package deployment
After creating a tile package, you must deploy it. Depending on your use case, various ArcGIS help topics guide you through deploying the tile package at run time using ArcGIS Server to create a cached map service or upload to your organization.
Because the tile package is already created, skip the steps to define and publish in ArcGIS Pro. Instead, complete the steps to deploy 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 is 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 honors this new location, processes any datasets found under the parent folder, and deletes 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. Make any configuration changes to the files in the controlFilesDirectory folder before creating a project, or the changes are not 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:
Do not share this setting 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 location specified in the datasetsDirectory property, the datasets at that location 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. When you do so, a copy of your existing .mcs file is made and renamed using the name you provide 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.
Click Save As.
Click OK.
A Confirm Save As message appears.
Click Yes to overwrite the existing
.mcsfile.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
You can turn layers 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
Click View > Full Extent to zoom to the full extent of all the S-57 or S-63 datasets.
Display Settings
Click Tools > Display Settings 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
Click Tools > Check for Dataset Changes 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.
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 Detail (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 process detects the new display scale and automatically modifies 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 is not 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