跳至内容

部署自定义海图生成器 (CCB)

在标准版或高级版许可等级下可用。

获得生产制图许可后可用。

获得 GeoScene Maritime 许可后可用。

GeoScene Maritime 服务器扩展允许您部署基于 web 的应用程序,以实时生成信息地图产品,并允许您创建任何规模的产品。

复制 customchartbuilder 文件夹

自定义海图生成器 (CCB) 安装中的 customchartbuilder 文件夹复制到部署位置。可将安装位置中的文件视为备份,并根据需要修改部署位置中的文件。建议将 customchartbuilder 文件夹复制到以下位置:<GeoScene Server installation drive>\geosceneserver\directories\maritimeserver,以便 CCB 文件夹和 Maritime 服务器文件夹位于同一文件夹下。

注:
  • 要完成这些步骤,您必须拥有已启用海图服务功能的地图服务。
  • 自定义海图生成器 (CCB) 需要安装 PDF Merge Support。如果没有此功能,则无法从自定义海图生成器 (CCB) 应用程序导出 PDF 文档。

完成以下步骤以在 GeoScene Server 站点中部署自定义海图生成器 (CCB)

  1. 如有必要,可在位于 <GeoScene Server installation drive>\geosceneserver\directoriesGeoScene Server 站点中创建名为 maritimeserver 的文件夹。
    注:

    如果此位置不存在,请验证是否已创建 GeoScene Server 站点启用了海图服务

  2. 将 customchartbuilder 文件夹从 <GeoScene Maritime server installation drive>\MaritimeServer\Server<version> 复制到 <GeoScene Server installation drive>\geosceneserver\directories\maritimeserver
  3. 配置 GeoScene Server 账户

配置共享和权限

执行以下步骤以便为 <GeoScene Server installation drive>\geosceneserver 文件夹配置共享,并为 GeoScene Server 账户添加完全控制权限:

注:

CCB 产品导出处理写入或修改此文件夹中的必要文件。

  1. 右键单击 geosceneserver 文件夹,然后单击属性
  2. 单击共享选项卡。
  3. 单击高级共享
  4. 选中共享此文件夹复选框。
  5. 单击权限
  6. 单击共享权限选项卡上的添加
  7. 添加 GeoScene Server 账户。
    注:

    您可以指定 GeoScene Server 账户的区域设置。默认情况下,除非指定了其他用户,否则此用户为 GeoScene。

  8. 添加 GeoScene Server 账户后,单击确定关闭选择用户或群组对话框。
  9. 共享权限选项卡的群组或用户名窗口中选择新添加的 GeoScene Server 账户。
  10. 选中完全控制旁边的允许复选框。
  11. 单击确定
  12. 单击确定关闭高级共享对话框。
  13. 单击关闭
  14. 单击确定关闭属性对话框。

发布服务定义文件

在地图上创建范围以导出 PDF 图表时,将两个服务定义文件发布到 GeoScene Server for CCB 以计算感兴趣区域 (AOI) 范围。

  1. 注:

    使用 GeoScene Server Manager 发布服务定义文件。为了简化部署,建议您在 GeoScene Server Manager 中创建一个名为 CCB 的文件夹,以组织与 CCB 相关的服务。

  2. 单击服务> 管理服务,选择 CCB 文件夹,然后单击发布服务
  3. 单击选择文件浏览到要发布的服务定义,或键入文件的路径。

    默认位置为 <GeoScene Server installation drive>\geosceneserver\directories\maritimeserver\customchartbuilder\ServiceDefinitionFiles

  4. 选择 Calculators.sd,然后单击打开
    警告:

    请勿更改服务的名称。如果这样做,web 应用程序将无法正常运行。

    默认情况下,服务定义将发布到服务定义配置中指定的服务器文件夹。若要更改发布服务定义的文件夹,请从下拉列表中选择一个文件夹,或单击新建

    注:

    所有 CCB 服务定义必须位于同一文件夹中才能部署 CCB。建议您创建一个文件夹以组织与 CCB 相关的服务。建议的文件夹名称为 CCB。

  5. 单击下一步

    您需要指定新服务的属性。不需要其他功能。

  6. 可选,选中现有复选框,然后从下拉箭头中选择 CCB
  7. 单击上一步或根据需要单击下一步
  8. 单击发布
  9. ExportWebmap.sd 重复这些步骤。

更新 Utilities.py 文件

您必须在发布 CCB 服务定义文件后完成此过程。这可确保 Calculators 和 ExportWebmap 地理处理服务使用已更新的 Utilities.py 文件:

  1. 文件资源管理器中,浏览到 Utilities.py 文件并在文本编辑器中打开它。

    默认位置为 <GeoScene Server installation drive>\geosceneserver\directories\maritimeserver\customchartbuilder\Tools

  2. 更新以下变量:
    • shared_products_pathoutput_directory - 如果您未使用建议的默认设置,请使用您的计算机名称、域和文件夹路径更新变量。
    • output_url - 如果您未使用建议的默认设置,请使用您的计算机名称和域更新变量并更新文件夹路径。Localhost 只能用于本地测试。
  3. 将更改保存到 Utilities.py,然后关闭文件。
  4. 将更新的 Utilities.py 文件复制到新发布的 Calculators 和 ExportWebmap CCB 服务的 geosceneinput 位置。
  5. 浏览至 CCB 的 geosceneinput 位置。

    默认位置为 <GeoScene Server installation drive>\geosceneserver\directories\geoscenesystem\geosceneinput\CCB

    • 将更新的 Utilities.py 文件复制到 <Installation location>\geosceneserver\directories\geoscenesystem\geosceneinput\CCB\Calculators.GPServer\extracted\p30\tools
    • 将更新的 Utilities.py 文件复制到 <Installation location>\geosceneserver\directories\geoscenesystem\geosceneinput\CCB\ExportWebmap.GPServer\extracted\p30\tools
  6. GeoScene Server Manager 中,单击服务 > 管理服务
  7. 单击文件夹 > CCB
  8. 重新启动 Calculators 和 ExportWebmap 地理处理服务。

启用自定义符号系统

ServerConfiguration.xml 文件包含一个 CustomSymbology 布尔值,以启用或禁用覆盖默认 S-52 演示库的自定义符号系统的显示。如果可用,海图服务会引用 CustomSymbolMap.xml、可伸缩矢量图形 (SVG) 符号和 Lua 脚本中的规则,以提供类似纸质海图的 S-57 数据显示。

将自定义符号系统设置为 true 后,必须重新构建 .senc 文件,符号才能显示在服务中。

自定义符号系统的示例
默认的 S-52 演示库

海图服务中的 Lua 可以执行以下操作:

  • 引用 SVG 文件以覆盖点符号或线图案(简单和复杂)
  • 覆盖符号说明,例如颜色、填充图案或透明度
  • 访问视图组或显示属性
  • 提供修改文本组的字体名称、大小、粗细、颜色和偏移量的说明

更新地理注释

地理注释允许您根据产品的地理位置生成 CCB 输出的文本注释。

注释存储在点、线或面要素类中,其中每条记录都有一个包含注释的文本框。插入新的感兴趣区域产品时,感兴趣区将与地理注释图层相交,并将单独的 A4 工作表追加到导出中。如果有多页注释,则生成第二页,依此类推。

执行以下步骤以自定义启用地理注释:

  1. Notes.zip 文件解压缩到 <GeoScene Server 目录位置>\geosceneserver\directories\maritimeserver\customchartbuilder\LayoutTemplates 目录。
    提示:

    Notes.zip 文件中存在示例注释地理数据库。

  2. GeoScene Pro 中,将多部件面要素添加到 Notes.gdb 文件夹中的 FeatureClassForNotes 要素类。

    (可选) 将要素添加到 FeatureClassForNotes 或 FeatureClassForNotes_Line 要素类。

    提示:
    • 示例注释可在 Notes.gdb 文件夹的 FeatureClassForNotes_Sample 要素类中找到。
    • 多部件面允许您拥有多个地理位置,这些位置共享相同的注释文本,而不会冗余。
  3. (可选) 编辑 FeatureClassForNotes 要素类中的以下字段:

    这是一个必需字段。

    添加注释文本或段落正文。

    Title

    这是一个可选字段。

    添加打印在注释段落上方的注释名称。

    Color

    这是一个可选字段。

    设置注释段落和标题的红、绿、蓝 (RGB) 值。用单个逗号 (,) 分隔值。如果字段为空、null 或具有无效值,则注释将显示黑色文本。

    注:

    此字段不符合 CYMK。

    minScale

    这是一个可选字段。

    指定显示注释的最小图表比例。例如,如果注释在 1:40000 和 1:90000 之间的图表上显示,请在字段中键入 40000

    maxScale

    这是一个可选字段。

    指定显示注释的最大图表比例。例如,如果注释在 1:40000 和 1:90000 之间的图表上显示,请在字段中键入 90000

自定义布局模板

您可如下所述自定义布局模板。

地图元素

自定义海图生成器 (CCB) 可为各种页面大小和方向提供多个布局模板。每个布局都包含地图元素,例如比例尺、指北针和图例;为图表中的特定目的而创建的徽标、文本或其他图形。地图框也是布局元素。

提示:

使用地图框中的中心锚点可最大限度地减少移动,并防止格网边框与整饰元素重叠。在导出地图过程中,地图框的每条边会扩展 13 毫米。

页面大小 A0 和 ANSI E 的模板添加了常用图表注释。您可根据本地需要修改这些注释。如果不想创建带有注释的 A0 或 ANSI E 大小的图表,则可从设置中移除这些模板,并将其替换为使用 _withoutnotes 后缀重命名的这些模板的早期版本。

提示:

例如,重命名 A0 和 ANSI E 模板,在其名称中使用 _withnotes 后缀。从备份 A0 和 ANSI E 模板中移除 _withoutnotes。系统将识别不再具有常用注释的 A0 和 ANSI E 模板。

默认情况下,布局模板字体为 Arial。

管理元素

在产品创建过程中,地图元素会动态更新以反映图表中的更改,如比例尺、地理范围和生成日期。CCB 使用元素名称来管理和识别自动化脚本要修改的元素。请勿更改地图元素名称。如果修改了名称,则无法使用自动化脚本管理该元素。如有必要,可通过属性对话框中的大小和位置选项卡,单击元素名称来访问该名称。

地图框

CCB web 应用程序中生成的 AOI 是从布局模板的地图框中获取的。计算器查找数据框的左下角,然后是左边缘和下边缘。更改地图框大小会影响 AOI 大小。

配置 web 应用程序

发布服务定义文件、更新布局模板、发布具有可用海图服务的地图服务并更新 Utilities.py 文件后,即可配置和部署 CCB web 应用程序。

  1. 浏览至 <GeoScene Server 安装目录>\MaritimeServer\Server<version>\WebApplications,如果使用 Internet 信息服务器 (IIS) 部署 web 应用程序,则将 CCB 文件夹复制到 C:\inetpub\wwwroot
    注:

    您可重命名 CCB 文件夹。这是您通过 web 访问的应用程序的名称。

  2. 注册 web 应用程序并获取应用程序 ID。
    注:

    如果将 web 应用程序配置固定产品类型,则可以跳过此步骤。对于自定义产品类型,这是一个可选设置。如果要激活登录功能,并且需要从组织账户添加数据,则需要执行此步骤。

    如果通过门户注册了 web 应用程序,请完成注册后步骤

  3. 更新位于 ccb\js 下的 ccbconfig.js 文件。
    1. 使用在发布服务定义文件的步骤 2 中创建的服务位置更新 serviceURL

      如果使用建议的默认值,则路径为 https://gisserver.domain.com/geoscene/rest/services/CCB

    2. 将 MCSURL 更新为启用海图服务的地图服务。

      如果激活了 SampleWorldCities 的海图服务功能,则路径为 https://gisserver.domain.com/geoscene/rest/services/SampleWorldCities/MapServer/exts/MaritimeChartService/MapServer

      注:

      该应用程序使用海洋底图。您可通过修改底图变量来选择其他底图。

    3. 如有必要,请使用您在步骤 2 中创建的 App ID 进行更新 。这允许您登录到 GeoScene 组织账户。这仅适用于自定义产品类型。
  4. 保存对 ccbconfig.js 文件所做的更改。

您现在可以启动应用程序以使用 CCB。

门户后注册

如果您通过门户注册了 web 应用程序,请完成注册后步骤:

  1. 浏览到 web 根目录下的 CCB 文件夹。例如,如果使用 Internet Information Server (IIS) 部署 web 应用程序,请浏览至 C:\inetpub\wwwroot\ccb
  2. widgets\AddData 文件夹中,打开 Widget.js
  3. portalUrl 变量更新为 https://portalserver.domain.com/geoscene
  4. 单击保存
  5. widgets\LayerList 文件夹中,打开 Widget.js
  6. appConfig 部分,将 portalUrl 更新为 https://portalserver.domain.com/geoscene
  7. 单击保存
  8. js 文件夹中,打开 SignInButton.js
  9. 取消注释 // portalUrl: "https://portalserver.domain.com/geoscene",并更新 portalUrl 参数。
  10. 单击保存

Maritime 服务器扩展配置疑难解答

使用以下常见问题解决配置问题:

海图服务数据在自定义海图生成器 (CCB) 应用程序中不可用

验证在配置 web 应用程序的步骤 3 中设置的 MCSURL 是否可供访问该应用程序的用户访问。

我收到无法完成操作的错误

如果出现错误:无法完成操作,请将配置 GeoScene Server 账户添加到安装目录。执行工具时出错。出现 CalculateExtent

更改显示属性后,我的海图服务不显示或消失

确定使用显示参数时是否超出了 2,048 个字符的服务器 URL 长度。如果是这样,请在 web.config.xml 文件中增加允许的 URL 长度。

我收到一个在 web 服务器上启用 HTTPS 失败的错误

验证您是否已在 web 服务器上启用了 HTTPS