在 Standard 或 Advanced 许可等级下可用。
获得 Production Mapping 许可后可用。
获得 GeoScene Maritime 许可后可用。
海图服务切片包或 mcstpk.exe 是海图服务功能的独立扩展,您可为地图服务启用该功能。
使用数据集,此功能允许您创建一个切片包 (.tpk),该包可部署在整个 GeoScene 中,然后可离线使用。例如,您可通过使用相同的 S-57 或 S-63 数据集和配置设置创建一个切片包来模拟启用海图服务的现有地图服务的外观。然后,可将此切片包发布为 GeoScene Server 中的缓存地图服务。
这不依赖于启用海图服务的现有地图服务。唯一的依赖是,您需在要运行海图服务切片包的计算机上拥有有效的 GeoScene Maritime 许可。
此设计允许您利用启用了海图服务的现有地图服务,或创建单独的海图服务工程来管理您的切片包。
配置海图服务切片包功能
海图服务切片包或 mcstpk.exe 是一个独立的应用程序,可利用海图服务功能在地图服务中使用的相同配置设置。每个切片包都在海图服务工程中进行管理。<project name>.mcs 工程文件 (SQL Lite 数据库) 在工程 > 属性下包含一个位置,该位置指向 datasetsDirectory、controlFilesDirectory 和 workingDirectory 路径工程位置以及显示设置、图层和切片包信息。
与设置对多个地图服务的支持类似,每个工程都可指向一组配置文件夹,以共享包括数据集在内的信息或建立单独的副本,从而对每个切片包项目进行唯一配置。您也可在创建新工程之前,修改 ServerConfiguration.xml 和 S52DisplayProperties.xml 文件。
提示:
创建工程后,即可使用 mcstpk.exe 中的工具对设置进行其他更改。
创建切片包之前,建议您将 maritimechartservice 文件夹从 <GeoScene Server 安装目录>/MaritimeServer 复制到新位置,以创建新的切片包。这是您在创建新海图服务工程时需要指出的信息。只要计算机运行有效的 GeoScene Maritime 服务器许可,您即可将 mcstpk.exe 文件与 mcstpk_staging 文件夹一起复制到任何位置。
警告:
请勿将配置路径下的 workingDirectory 文件夹路径设置为地图服务中启用的现有海图服务。目前不支持此设置,并且由于地图服务正在使用现有 .senc 文件的文件锁定,这可能会导致问题。
创建新的海图服务工程
要创建切片包,必须首先创建一个工程。
以下步骤描述了如何创建新工程:
- 单击 mcstpk.exe。
注:
只要计算机运行有效的 GeoScene Maritime 服务器许可,您即可将 mcstpk.exe 文件与 mcstpk_staging 文件夹一起复制到任何位置。
- 单击工程。
- 单击新建。
随即显示新建工程对话框。
- 在工程名称文本框中键入工程的名称。
这将是 .mcs 文件和切片包的名称。
- 单击浏览,然后浏览到要设置工程位置的位置。
将在此位置创建 .mcs 文件和切片包。
- 单击浏览,然后浏览到要设置数据集目录位置的位置。
这是 S-57 和 S-63 数据集的位置。
注:
可在工程和启用海图服务的现有地图服务之间共享此设置。
- 单击浏览,并浏览到要设置 Controlfiles 目录位置的位置。
所选文件夹必须包含 controlFilesDirectory 文件夹。在创建新工程之前的,必须对 controlFilesDirectory 中包含的文件进行任何配置更改,否则不会应用这些更改。可在工程和启用海图服务的现有地图服务之间共享此设置。
- 单击浏览,然后浏览至要设置 Working 目录 位置的位置。
所选文件夹必须包含 logs 和 sencs 文件夹。
警告:
由于 .senc 文件上的系统锁定,建议不要在工程或启用海图服务的现有地图服务之间共享此设置。
- 单击创建工程。
将创建一个 .mcs SQLite 数据库工程文件,并处理 S-57 和 S-63 数据集。数据集处理完成后,您可修改显示并创建切片包。
注:
如工程处于解锁状态,则意味着您尚未创建切片包,并可在属性下自由修改您的设置,包括配置路径。要将其他 S-57 或 S-63 数据集应用于工程,则可将这些数据集复制到正确的 datasetsDirectory 位置,并运行检查数据集更改工具。
工程在以 .mcs 结尾的 SQL Lite 数据库中包含配置设置、显示设置和切片包信息。与创建启用海图服务的地图服务类似,您必须指向数据集目录、Controlfiles 目录和 Working 目录。您可在工程之间共享这些属性,类似于在多个地图服务之间共享属性的方式。
打开现有的海图服务工程
创建海图服务工程后,您即可单击 .mcs 文件以重新打开该工程,或使用以下步骤通过应用程序访问该工程:
- 单击 mcstpk.exe。
- 单击工程。
- 单击打开。
- 选择 .mcs 文件。
- 单击打开。
注:
使用存储在 .mcs 文件中的信息打开工程。如果将新的 S-57 或 S-63 数据添加到 datasetsDirectory 位置,将对其进行处理。如果未发现任何更改,也会通知您。如果您想在工程打开后添加更多 S-57 或 S-63 数据集,请将它们复制到正确的 datasetsDirectory 位置,然后运行检查数据集更改工具。打开工程后,它将处于锁定或解锁状态。此信息位于应用程序的左下角,并确定可用的功能。
警告:
如果您的工程处于锁定状态,则意味着您已创建了切片包。如果处理了额外的 S-57 或 S-63 数据集,则仅位于切片包范围内或与切片包范围相交的数据集才可用于更新的切片包过程。位于切片包范围之外的数据集仍将被处理并加载到您的显示中,但无法更新您的切片包。
了解有关创建和更新切片包的其他信息
- 如果工程在未锁定状态下打开,请参阅使用海图服务创建切片包部分。
- 如果工程是在锁定状态下打开的,请参阅使用海图服务更新切片包部分,为现有切片包创建更新。
使用海图服务创建切片包
当您的工程处于解锁状态时,这意味着尚未使用工程创建切片包。在创建切片包之前,您可以更改配置属性、更新 S-57 或 S-63 数据集、修改可见图层并更改范围和显示设置。设置完成后,即可创建切片包。
- 单击工具。
- 单击创建切片包。
随即显示创建切片包对话框,其中默认信息字段已根据当前范围填充。
- 如有必要,请修改缩放级别。单击使用全图范围以将开始和结束级别应用于数据的全图范围,而不是可见范围。
- 单击创建。
注:
创建切片包后,可通过以下方式将更多 S-57 或 S-63 数据集添加到工程中:将这些 S-57 或 S-63 数据集复制到工程的 datasetsDirectory 位置中 (这可在 属性下查看),然后在工具下运行检查数据集更改。应用数据集更改后,可以运行更新切片包工具。
您的切片包正在创建中,并将存储在您的工程位置。.mcs 工程将自动保存并锁定。根据捆绑包的数量,此过程可能需要数小时才能完成。锁定工程后,只能通过单击另存为并将具有相同名称的工程保存到相同位置来解锁工程。这将从 .mcs 工程文件中移除对切片包的任何引用。切片包仍将保留在磁盘上,可以删除或覆盖。
使用海图服务更新切片包
创建切片包后,您的工程将自动锁定。这是为了确保在创建对现有切片包的更新时不会更改任何设置。唯一的例外是允许您应用 S-57 或 S-63 数据集更改。仅位于切片包范围内或与切片包范围相交的数据集更改才可用于更新切片包过程。
- 单击 mcstpk.exe。
- 单击工程。
- 单击打开。
- 选择 .mcs 文件。
- 单击打开。
您的工程将使用存储在 .mcs 文件中的信息打开。如果将新的 S-57 或 S-63 数据添加到 datasetsDirectory 位置,则它将处理该信息。如果未发现任何更改,也会通知您。
注:
如果您想在工程打开后添加更多 S-57 或 S-63 数据集,请将它们复制到正确的 datasetsDirectory 位置 (该位置可以在属性下查看),然后在工具下运行检查数据集更改。仅位于切片包范围内或与切片包范围相交的数据集更改才可用于更新切片包过程。所有位于切片包范围之外的数据集仍将被处理并加载到您的显示中,但无法更新您的切片包。
- 单击打开。
- 单击工具。
- 单击更新切片包。
随即显示更新切片包对话框,其中包含自上次创建切片包以来已根据数据集更改填充的信息字段。如果未检测到更新,系统将询问您是否要检查数据集更改。
- 单击更新。
切片包已创建并存储在您的工程位置。.mcs 工程将自动保存并锁定。根据捆绑包的数量,此过程可能需要数小时才能完成。
发布由海图服务创建的切片包
创建切片包后,需要部署它。根据您的使用情况,有多个 GeoScene 帮助主题可指导您在运行时使用 GeoScene Server 部署切片包,以创建缓存地图服务或上传到您的组织。
GeoScene 帮助中的大多数主题都是从您通过 GeoScene Pro 定义和发布开始的。由于您已经创建了切片包,因此无需执行这些步骤。您只需部署 .tpk 文件即可。
海图服务切片包功能
在创建新的海图服务切片包时,以下选项在工程下可用:
新建
新建命令将创建一个新的 .mcs 工程,并应用配置路径设置。
打开
使用工程下的打开命令可以打开现有工程。
如果任何现有工程设置无效,则在更新这些设置之前,工程将以混合状态打开。如果混合状态已锁定且无法重置,建议您单击另存为并覆盖工程。这允许您修改工程设置。
属性
创建工程后,您可访问属性窗口来检查工程位置和配置路径。如果您的工程已解锁,则可更新配置路径。
工程锁定后,将无法更新属性。这是为了确保更新后的切片包与基本切片包具有相同的信息。要解锁您的工程,请单击另存为。
数据集目录
这是 S-57 或 S-63 数据集的位置。如果更改此位置并单击更新,则工程会支持此新位置,处理在父文件夹下找到的任何数据集,并删除从以前位置处理的任何现有 .senc 文件。
注:
可在工程和启用海图服务的现有地图服务之间共享此设置。
Controlfiles 目录
所选文件夹必须包含 Controlfiles 目录文件夹。创建新工程之前,必须对 Controlfiles 目录文件夹中包含的文件进行任何配置更改,否则不会应用这些更改。有关此位置内容的更多信息,请参阅修改海图服务功能属性。
注:
可在工程和启用海图服务的现有地图服务之间共享此设置。创建工程后,将无法更改其属性。根据所需更改,您可以使用显示设置,也可在配置路径下使用更新的 Controlfiles 目录创建新工程。
Working 目录
所选文件夹必须包含 logs 和 sencs 文件夹。
警告:
由于 .senc 文件上的系统锁定,建议不要在工程或启用海图服务的现有地图服务之间共享此设置。
更新
仅当一个配置路径已被修改并且有效时,更新才可用。单击更新时,工程将自动保存新的路径信息,并应用必要的设置。例如,如果修改了 datasetsDirectory,则会处理这些数据集。
另存为
无论工程处于锁定状态还是未锁定状态,都可将其另存为新工程,或覆盖以使其恢复到未锁定状态。
另存为新工程
无论您的工程处于锁定状态还是未锁定状态,都可以将其另存为新工程。这将复制现有的 .mcs 文件,并使用您在对话框中提供的名称对其进行重命名。所有配置路径与原始工程保持一致,但现在新工程处于解锁状态,可以对其进行更新。
当您配置了一组显示设置并希望将其应用于不同的数据集时,通常会使用此选项。此选项还用于在使用相同数据集时更改显示设置或创建新工程和切片包。这减少了支持多个切片包可能需要的数据加载量。
覆盖工程
如果您有一个锁定的工程,并且希望解除切片包与该工程的关联,并在保留某些现有设置的同时再次启动创建切片包过程,则此工作流非常有用。
例如,您创建了一个新的切片包,但发现忘记了加载一些数据集 (这些数据集现在属于不受支持的工作流之一),或者忘记了应用某个显示设置,或者开始或结束 LOD 不正确。您可快速覆盖现有的 .mcs 文件,并移除对切片包的引用,而不是再次加载所有数据或进行大量更改。这将解锁工程,并允许您创建一个新的切片包。
如果新切片包与旧切片包具有相同的名称,则将覆盖旧切片包。
- 单击另存为。
- 单击确定。
- 单击是,将覆盖现有的 .mcs 文件。
如果您的工程处于未锁定状态,则会将其另存为新工程。如果您的工程处于锁定状态,则将移除对任何切片包的引用,从而可以创建新的切片包。
图层
通过单击视图下的图层选项,可以打开和关闭图层。这些图层在 S52DisplayProperties.xml 文件中定义,该文件在创建工程期间由 S52PresentationLibrary 文件夹中的 controlFiles Directory 引用。
了解有关自定义配置文件的信息
任何关闭的图层都不会包含在切片包中。所有更改都会自动保存到 .mcs 工程文件中。
全图范围
单击视图 > 全图范围可以缩放到全图范围。这也将缩放到所有 S-57 或 S-63 数据集的全图范围。
显示设置
工具 > 显示设置允许您根据 S-52 标准设置各种船舶控制器。所有更改都会自动存储在 .mcs 工程文件中。
工程锁定后,显示设置选项将不可用。这是为了确保更新后的切片包与基本切片包具有相同的信息。要解锁您的工程,请参阅覆盖工程。
检查数据集更改
工具 > 检查数据集更改允许您将 S-57 或 S-63 数据集更改应用于处于锁定或解锁状态的工程。
单击检查数据集更改以检查任何更改 (新数据集、更新以及已删除或已取消的数据集)。处理更新,并更新或删除关联的 .senc 文件。
根据运行此命令时发现的更改,了解可能不支持的工作流的其他信息
有关创建和更新切片包的其他信息
本节描述了在创建更新的切片包时所需的额外步骤或不完全支持的工作流,以及有关 mcstpk.exe 的其他详细信息。
在切片包范围之外应用数据集更改
如果您在切片包范围之外添加或修改 S-57 或 S-63 数据集,则这些更改不会应用于切片包更新。当前不支持修改现有的切片包范围。在此情况下,您可创建一个指向相同配置设置的新工程,也可以覆盖现有工程。
将小比例尺数据集添加到现有切片包
如果您添加了新的 S-57 或 S-63 数据集,其中包含一个小比例尺海图,该海图超出了现有的开始显示级别 (LOD),则这些更改将不会应用于切片包更新。在此情况下,您可创建一个指向相同配置设置的新工程,也可以覆盖现有工程。
将大比例尺数据集添加到现有切片包
如果您添加具有大比例尺海图的 S-57 或 S-63 数据集,则更新切片包过程将检测新的显示比例尺,并自动修改 Overzoom 值以包括该新数据集。如果发生这种情况,则必须在更新缓存时将切片包中新创建的 config.xml 复制到服务器。如果不这样做,则缓存地图的 LOD 信息将不会更新,新数据集也将不可见。
了解有关发布由海图服务创建的切片包的更多信息
如何管理切片包的更新
为了处理和更新现有切片包,mcstpk.exe 可分析对现有 S-57 和 S-63 数据集的更改,这些数据集要么相交,要么位于切片包范围内。如果在创建或更新切片包后发现更改,则会处理包含这些更改的捆绑包。
海图服务工程文件包含按名称和更新编号对切片包的引用。这允许 mcstpk.exe 处理类似于 S-57 更新模型的顺序更新。由 GeoScene Server 管理员负责备份和发布切片包。mcstpk.exe 文件仅管理切片包的创建,而不管理其分发或存档。
了解有关发布由海图服务创建的切片包的更多信息