ArcGIS Maritime 使用服务器对象扩展模块 (SOE)。 您必须将 SOE 添加到 ArcGIS 站点中的地图服务,才能为地图服务启用 Maritime Chart Service 功能。
注:
在设置服务之前,请查看以下系统要求信息:
- 由于存在潜在的性能问题,不建议将映射的网络驱动器用于您的 workspaceDirectories 属性设置。 建议将 .senc 文件存储在物理服务器上。
- Maritime Chart Service 只能在专用实例类型上启用。 系统不支持共享实例池。
- 如果您在 GET 请求中使用显示参数,则 URL 长度将超过 2,048 个字符。 并非所有第三方应用程序都支持 POST。 如果您的应用程序不支持 POST,建议您使用 web.config.xml 文件增加允许的 URL 长度。
- 为了部署 Custom Chart Builder (CCB),您需要使用 web.config.xml 来增加您的默认 URL 长度。
- 建议您将地图服务的 javaHeapSize 值从默认的 128 MB 增加到 2048 MB 或更大,具体取决于您的系统资源和服务中数据集的数量。 queryDataset 操作和 Custom Chart Builder (CCB) 导出可以超过此默认限制。
启用 Maritime Chart Service
完成以下步骤以启用 Maritime Chart Service:
- 在 <ArcGIS Server installation drive>\arcgisserver\directories 的 ArcGIS Server 站点中创建一个名为 maritimeserver 的文件夹。
- 将 maritimechartservice 文件夹从 <ArcGIS Server Installation Directory>\MaritimeServer\Server<version> 复制到 maritimeserver 文件夹。
- 登录到 ArcGIS Server Manager。
- 单击站点选项卡。
- 在 GIS 服务器窗格中,单击扩展模块。
- 单击添加扩展模块。
- 单击浏览并浏览至 <ArcGIS Install Directory>\MaritimeServer\Server<version>\Bin。
- 单击 MaritimeServer.soe。
- 单击添加。
MaritimeServer.soe 随即被添加到地图服务中。
- 单击服务选项卡。
- 单击地图服务。
- 在地图服务窗格中,单击功能。
- 选中航海图服务复选框。
- 验证所有属性。
注:
MaritimeServer.soe 文件将使用 maritimechartservice 文件夹自动填充“Maritime Chart Service 功能”属性。
- 单击 ArcGIS Server Manager 中的保存并重新启动以重新启动地图服务。
Maritime Chart Service 功能现已启用。
- 您现在已准备好将 S-57 和 S-63 数据集加载到地图服务中。
注:
您可以修改默认配置设置。
注:
如果您在集群中安装了 Maritime Chart Service,则只需在集群中的一台计算机上将其启用。 配置更改将自动应用到集群中的其他计算机。
部署 Custom Chart Builder (CCB)
ArcGIS Maritime 允许您部署基于 Web 的应用程序以实时生成信息地图产品,并允许您创建任何规模的任何产品。
复制 customchartbuilder 文件夹
将 customchartbuilder 文件夹从 Custom Chart Builder (CCB) 安装位置复制到部署位置。 可以将安装位置中的文件视为备份;部署位置中的文件可以根据需要进行修改。 将文件夹复制到 <ArcGIS Server installation drive>\arcgisserver\directories\ maritimeserver,从而使 CCB 文件夹和航海服务器文件夹位于同一文件夹之下。
执行以下步骤以在您的 ArcGIS Server 站点中部署 Custom Chart Builder (CCB)。
注:
要完成 Custom Chart Builder (CCB) 的以下部署步骤,您必须拥有已启用 Maritime Chart Service 的地图服务。
- 如有必要,可在 <ArcGIS Server installation drive>\arcgisserver\directories 的 ArcGIS Server 站点中创建一个名为 maritimeserver 的文件夹。
- 将 customchartbuilder 文件夹从 <ArcGIS Server Installation Directory>\MaritimeServer\Server<version> 复制到 maritimeserver 文件夹。
- 配置 ArcGIS Server 帐户。
配置共享和权限
通过完成以下步骤将权限共享和添加到您的 <ArcGIS Server installation drive>\arcgisserver 文件夹,以确保您的 ArcGIS Server 帐户用户拥有对此文件夹的完全控制权限:
注:
Custom Chart Builder (CCB) 产品导出处理会在此文件夹下写入或修改必要的文件。
- 右键单击 arcgisserver 文件夹并选择属性。
- 单击共享选项卡。
- 单击高级共享。
- 选中共享此文件夹复选框。
- 单击权限。
- 单击共享权限选项卡上的添加。
- 添加 ArcGIS Server 帐户。
注:
您可以指定您 ArcGIS Server 帐户的区域设置。 默认情况下,此用户通常是 ArcGIS。
- 添加 ArcGIS Server 帐户之后,单击确定关闭选择用户或组对话框。
- 在共享权限选项卡上的组或用户名窗口中选择新添加的 ArcGIS Server 帐户,然后选中完全控制旁边的允许复选框。
- 单击确定。
- 再次单击确定以关闭高级共享对话框。
- 单击关闭。
- 单击确定关闭属性对话框。
发布服务定义文件
当您在地图上创建范围以导出 PDF 图表时,请将两个服务定义文件发布到 ArcGIS Server 以便 Custom Chart Builder (CCB) 计算感兴趣区域 (AOI) 范围。
- 登录到 ArcGIS Server Manager。
注:
使用 ArcGIS Server Manager 发布服务定义文件。 为了简化部署,建议您在 ArcGIS Server Manager 中创建一个名为 CCB 的文件夹,用来组织与 CCB 相关的服务。
- 单击服务 > 管理服务,选择 CCB 文件夹,然后单击发布服务。
- 单击选择文件以浏览到要发布的服务定义,或者输入文件的路径。
默认位置为 <ArcGIS Server installation drive>\arcgisserver\directories\maritimeserver\customchartbuilder\ServiceDefinitionFiles。
- 选择 Calculators.sd,然后单击打开。
警告:
请勿更改服务的名称。 如果您更改了 Web 应用程序,则它将无法工作。
默认状态下,服务定义会发布到服务定义配置所指定的服务器文件夹内。 如需更改服务定义将发布到的文件夹,请在下拉列表中选择该文件夹或单击新建。
注:
所有 Custom Chart Builder (CCB) 服务定义必须在同一个文件夹中才能正确部署 Custom Chart Builder (CCB)。 建议您创建一个用来组织 CCB 相关服务的文件夹。 推荐的文件夹名称是 CCB。
- 单击下一步。
您必须为新服务指定属性。 不需要任何其他的功能。
- 根据需要单击返回或下一步。
- 单击发布。
- 对 ExportWebmap.sd 重复这些步骤。
更新 Utilities.py 文件
请在发布 Custom Chart Builder (CCB) 服务定义文件之后更新 Utilities.py 文件,以便计算器和 ExportWebmap 地理处理服务使用更新后的文件。
- 在 File Explorer 中,浏览到 Utilities.py 文件并对其进行编辑。
默认位置为 <ArcGIS Server installation drive>\arcgisserver\directories\maritimeserver\customchartbuilder\Tools。
- 更新以下变量:
- shared_products_path 和 output_directory - 使用您的计算机名称和域进行更新,如果您没有使用推荐的默认设置,则请更新路径。
- output_url - 本地主机仅用于本地测试。 否则,请使用您的计算机名称和域更新此变量,如果您没有使用推荐的默认设置,则请更新路径。
- 将您的更改保存至 Utilities.py 并关闭该文件。
- 将更新后的 Utilities.py 文件复制到新发布的计算器和 ExportWebmap Custom Chart Builder (CCB) 服务 arcgisinput 位置。
- 浏览至 Custom Chart Builder (CCB) 的 arcgisinput 位置。 默认位置为 <ArcGIS Server installation drive>\arcgisserver\directories\arcgissystem\arcgisinput\CCB。
- 将步骤 1 中已更新的 Utilities.py 文件复制到 <ArcGIS Server installation drive>\arcgisserver\directories\arcgissystem\arcgisinput\CCB\Calculators.GPServer\extracted\p20\tools。
- 将步骤 1 中已更新的 Utilities.py 文件复制到 <ArcGIS Server installation drive>\arcgisserver\directories\arcgissystem\arcgisinput\CCB\ExportWebmap.GPServer\extracted\p20\tools。
- 在 ArcGIS Server Manager 中,单击服务 > 管理服务。
- 单击文件夹 > CCB。
- 重新启动计算器和 ExportWebmap 地理处理服务。
启用自定义符号系统
ServerConfiguration.xml 文件提供了一个 true/false 开关,用于启用或禁用覆盖默认 S-52 表示库的自定义符号系统的显示功能。 启用后,Maritime Chart Service 会参考 CustomSymbolMap.XML、可伸缩矢量图形 (SVG) 符号和 Lua 脚本中的规则,以提供 S-57 数据的纸质图表风格视图。
将自定义符号系统设置为 true 后,您必须重新构建 .senc 文件以使符号出现在您的服务中。
Maritime Chart Service 中的 Lua 能够:
- 参考 SVG 文件以覆盖点符号或是简单或复杂的线图案。
- 覆盖符号说明,例如颜色、填充图案或透明度。
- 访问视图组或显示属性。
- 提供用于修改文本组的字体名称、字号、粗细、颜色和偏移的说明。
更新启用地理功能的注释
启用地理功能的注释允许您根据产品的地理位置为 Custom Chart Builder (CCB) 输出生成文本注释。
这些注释存储在点、线或多部分面要素类中,其中每条记录都有一个包含注释的文本字段。 当插入新产品感兴趣区域时,感兴趣区域将与启用地理功能的注释图层相交,并将单独的 A4 工作表追加到导出中。 如果存在超过一页的注释,则系统将生成第二页,依此类推。
执行以下步骤以自定义启用地理功能的注释:
- 解压 <ArcGIS Server installation drive>\arcgisserver\directories\maritimeserver\customchartbuilder\LayoutTemplates\Notes.gdb 中的 Notes.zip。
提示:
Notes.zip 文件中存在示例注释地理数据库。
- 将多部分面要素添加到 Notes.gdb 文件夹中的 FeatureClassForNotes 要素类。
提示:
- 示例注释位于 Notes.gdb 文件夹的 FeatureClassForNotes_Sample 要素类中。
- 多部分面允许您拥有多个共享相同注释文本而没有冗余的地理位置。
- 编辑 FeatureClassForNotes 要素类中的字段,如下所示:
注释 | 标题 | 颜色 | minScale | maxScale |
---|---|---|---|---|
此为必填字段。 段落的注释文本或正文。 | 这是一个可选字段。 打印在注释段落上方的注释名称。 | 这是一个可选字段。 注释段落和标题的 RGB 值。 用单个逗号 (,) 分隔值。 如果字段为空、空值或具有无效值,则注释将以黑色文本显示。 注: 此字段不支持 CMYK。 | 这是一个可选字段。 指定显示注释的最大比例图表。 例如,如果注释应出现在 1:40000 和 1:90000 之间的图表上,请在字段中输入 40000。 | 这是一个可选字段。 指定显示注释的最小比例图表。 例如,如果注释应出现在 1:40000 和 1:90000 之间的图表上,请在字段中输入 90000。 |
自定义布局模板
您可以自定义布局模板,如下所述。
地图元素
Custom Chart Builder (CCB) 针对各种页面大小和方向提供了多个布局模板。 每个布局都包含地图元素,例如比例尺、指北针和图例,以及为图表中的特定用途创建的徽标、文本或其他图形。 布局元素也可以是地图框。
在最新版本的 Maritime Chart Service 中,页面大小 A0 和 ANSI E 的模板添加了通用图表注释。 您可以修改这些注释以适应您的本地需求。 如果您不希望创建带有注释的 A0 或 ANSI E 大小的图表,您可以从设置中移除这些模板,并将其替换为这些模板的先前版本(现在需要以 _withoutnotes 后缀进行重命名)。
提示:
例如,重命名您的 A0 和 ANSI E 模板,并在其名称中使用 _withnotes 后缀。 从备份 A0 和 ANSI E 模板中移除 _withoutnotes 后缀。 系统将识别出不再具有通用注释的 A0 和 ANSI E 模板。
默认情况下,布局模板字体为 Arial。
管理元素
在产品创建期间,地图元素会动态更新以反映图表中的变化,例如比例、地理范围和生成日期。 Custom Chart Builder (CCB) 将使用元素的名称来管理和识别自动化脚本要修改的元素。 地图元素名称不应更改。 如果修改了名称,则系统将无法使用自动化脚本管理该元素。 如有必要,您可以通过单击属性对话框的大小和位置选项卡上的元素名称来访问该名称。
地图框
在 Custom Chart Builder (CCB) Web 应用程序中生成的 AOI 可从布局模板的地图框中获取。 计算器将先找到数据框的左下角;然后它将找到左边和底边。 更改地图框大小会影响 AOI 大小。
配置 web 应用程序
发布服务定义文件、更新布局模板、发布启用了 Maritime Chart Service 的地图服务并更新 Utilities.py 文件后,您就可以配置和部署 Custom Chart Builder (CCB) Web 应用程序了。
- 浏览到 <ArcGIS Server Installation Directory>\MaritimeServer\Server<version>\WebApplications 并复制 CCB 文件夹。 例如,如果您使用 Internet Information Server (IIS) 来部署 Web 应用程序,请浏览到 C:\inetpub\wwwroot。
注:
您可以重命名 CCB 文件夹。 这将是您在 web 上访问的应用程序的名称。
- 注册您的 web 应用程序并获取应用程序 ID。 有关详细信息,请参阅“添加应用程序”部分。
您还可以通过门户注册您的 Web 应用程序。
- 更新位于 ccb\js 下的 ccbconfig.js 文件。
- 将 serviceURL 更新为在发布服务定义文件的第 2 步中创建的位置。 如果使用默认值,则该路径为 https://gisserver.domain.com/arcgis/rest/services/CCB。
- 将 MCSURL 更新到启用 Maritime Chart Service 的地图服务。 如果您为 SampleWorldCities 启用了 Maritime Chart Service,则路径将为 https://gisserver.domain.com/arcgis/rest/services/SampleWorldCities/MapServer/exts/MaritimeChartService/MapServer。
注:
该应用程序默认使用 Esri 海洋底图。 您可以通过修改底图变量来选择另一个底图。
- 请使用在步骤 2 中创建的应用程序 ID 来更新 appID。 这样您就可以登录到 ArcGIS Online 或您的门户帐户。
- 将更改保存到您的 ccbconfig.js 文件。
现在您就可以使用 Custom Chart Builder (CCB) 应用程序了。
通过门户注册 Web 应用程序
要通过您的门户注册 Web 应用程序,请执行以下操作:
- 浏览到 Web 根文件夹中的 CCB 文件夹。 例如,如果您使用 Internet Information Server (IIS) 来部署 Web 应用程序,请浏览到 C:\inetpub\wwwroot\ccb。
- 在 widgets\AddData 文件夹中,打开 Widget.js。
- 将 portalUrl 变量更新到 https://portalserver.domain.com/arcgis。
- 单击保存。
- 在 widgets\LayerList 文件夹中,打开 Widget.js。
- 在 appConfig 部分中,将 portalUrl 更新到 https://portalserver.domain.com/arcgis。
- 单击保存。
- 在 js 文件夹中,打开 SignInButton.js
- 取消注释 // portalUrl: "https://portalserver.domain.com/arcgis", 并更新 portalUrl 参数。
- 单击保存。
Maritime Server 配置问题的疑难解答
如果我在 Custom Chart Builder (CCB) 应用程序中看不到 Maritime Chart Service 数据怎么办?
验证在“配置 Web 应用程序”部分的步骤 3 中设置的 MCSURL 是否可供访问该应用程序的用户访问。
如果我收到“无法完成操作”错误怎么办?
请将“配置 ArcGIS Server 帐户”添加到安装目录(如果出现错误无法完成操作。 执行工具时出错。 请计算范围。)。
如果更改显示属性后我的 Maritime Chart Service 不会显示或消失怎么办?
请确定您在使用显示参数时是否超出了 2,048 个字符的服务器 URL 长度。 如果确实如此,则请使用 web.config.xml 文件增加允许的 URL 长度。
如果我发现了由于在 Web 服务器上启用 HTTPS 失败而可能出现的错误怎么办?
请验证您是否已在 Web 服务器上启用了 HTTPS。