在 Standard 或 Advanced 许可等级下可用。
获得 GeoScene Maritime 许可后可用。
获得 Production Mapping 许可后可用。
海图服务提供有各种控制文件,可以根据您的需要进行配置。配置选项包括扩展 S-57 物标和属性类型的能力 (如果您创建了自定义规范,系统会识别这些物标和属性);更改默认符号颜色的 S-52 演示库自定义;以及更改用于描绘数据的文本格式的能力。海图服务 也提供有配置选项,可以控制更新的应用方式、使用的坐标系以及您希望显示的符号和文本的大小。
与国际海道测量组织 (IHO) 标准 (如 S-57、ENC、S-52 和 S-63) 相关的配置设置,默认情况下均配置为这些规范。
所有配置文件都位于以下路径中:<GeoScene Server installation drive>/usr/directories/maritimeserver/maritimechartservice/。
S-57 数据字典
S57DataDictionary.xml 文件包含所有 S-57 物标和属性 ID 以及缩写词和描述性值。它还包含一个机构代码列表。
您可对此文件进行本地化更改,以便以本地语言显示物标和属性名称。如果支持未发布的产品规范,则可以扩展此文件以包括新的物标、属性和枚举。
注:
必须停止并重新启动地图服务,服务才可识别对 S57DataDictionary.xml 文件的更改。
服务器配置
ServerConfiguration.xml 文件提供了对各种坐标系、显示参数、Web 地图服务 (WMS) 图层名称、自定义符号以及自动更新的支持。
坐标系用户
海图服务支持 5,000 多个 EPSG 代码的实时投影。默认情况下,坐标系设置为 102100 (Web 墨卡托辅助球体)。
controlFilesDirectory 中的 crs.xml 文件包含所有受支持的 EPSG 代码。
提示:
如果不希望客户请求不同的投影,建议您将 EPSG 值设置为所需的坐标系。如果您希望支持多个投影,例如多个 UTM 区域,建议您使用 EPSG = 4326 (WGS 84) 来优化性能。
自定义 crs.xml 文件
可在 crs.xml 文件中使用两种覆盖:WGS84Bounds 和 Axis Order。使用 WGS84Bounds 可以覆盖投影的范围。投影引擎使用的默认值来自 https://spatialreference.org。在许多情况下,用户需要与 https://epsg.io 上发布的值相对应的值或针对其特定情况的自定义值。Axis Order 用于覆盖 y 轴和 x 轴方向。
<PROJCS name="ETRS_1989_UTM_Zone_30N" wkid="25830" geogcs="GCS_ETRS_1989" projection="Transverse_Mercator" unit="Meter">
<Parameters>
<Parameter name="Central_Meridian" value="-3.0"/>
<Parameter name="False_Easting" value="500000.0"/>
<Parameter name="False_Northing" value="0.0"/>
<Parameter name="Latitude_Of_Origin" value="0.0"/>
<Parameter name="Scale_Factor" value="0.9996"/>
</Parameters>
<WGS84Bounds xmin="-6.000000" ymin="34.750000" xmax="0.000000" ymax="62.330000"/>
Axis Order Example:
<PROJCS name="SWEREF99_TM" wkid="3006" geogcs="GCS_SWEREF99" projection="Transverse_Mercator" unit="Meter" axisOrder="NE">
<Parameters>
<Parameter name="Central_Meridian" value="15.0"/>
<Parameter name="False_Easting" value="500000.0"/>
<Parameter name="False_Northing" value="0.0"/>
<Parameter name="Latitude_Of_Origin" value="0.0"/>
<Parameter name="Scale_Factor" value="0.9996"/>
</Parameters>
</PROJCS>
考虑以下内容:
- 新创建的 .senc 文件在名称中包含设置的 CoordinateSystem 值。
- 要更改投影,必须修改 CoordinateSystem 值,默认情况下该值设置为 102100 (Web 墨卡托辅助椭球体)。
- 不会生成坐标系边界之外的 S-57 数据集,并将警告消息写入日志文件。
完成以下步骤以自定义 crs.xml 文件:
- 打开 ServerConfiguration.xml 文件并修改 CoordinateSystem 值。
- 保存更改。
注:
必须停止并重新启动地图服务,服务才可识别对 ServerConfiguration.xml 文件的更改。
- 停止地图服务。
您无需删除现有的 .senc 文件。服务会自动删除并重新创建它们。
- 启动地图服务。
将使用新的坐标系重新创建 .senc 文件。CoordinateSystem 值位于 .senc 文件的名称中以供参考。
WMS 图层名称
默认情况下,WMS 图层的名称为 S57。可以通过更新 ServerConfiguration.xml 文件中的 WMSServiceLayerName 值来更改此值。
完成以下步骤以更改 WMS 图层名称:
- 打开 ServerConfiguration.xml 文件,并将 WMSServiceLayerName 值编辑为要用于 WMS 图层的名称。
- 单击保存。
- 停止地图服务。
- 启动地图服务。
注:
必须停止并重新启动地图服务,服务才可识别对 ServerConfiguration.xml 文件的更改。
启用自定义符号系统
默认情况下,在 .senc 文件创建期间应用 S-52 符号。对于 CustomSymbolMap.xml 文件中具有查找值的要素,必须修改 CustomSymbology 值,以便使用自定义符号 (SVG) 来转换数据集,而不是使用传统的 S-52 符号。
完成以下步骤以启用自定义符号系统:
- 打开 ServerConfiguration.xml 文件,并将 CustomSymbology 值编辑为 true。
- 单击保存。
- 如果已构建 .senc 文件,则必须在重新启动地图服务之前手动删除 .senc 文件;否则,不会应用符号系统更改。建议您在删除 .senc 文件之前停止地图服务以移除所有锁。
- 必须停止并重新启动地图服务,服务才可识别对 ServerConfiguration.xml 文件的更改。
- 停止地图服务。
- 启动地图服务。
注:
启动 AutoCellUpdate
AutoCellUpdate 允许您自动应用数据集更改,而无需停止和重新启动服务。此功能允许您配置全天候支持。安装 Maritime Chart Service 时,默认关闭此设置。在启用此设置之前,您必须了解数据集更新策略,并确定在网络上复制一个 5 MB 的文件所需的时长。
启用 AutoCellUpdate 属性后 (通过设置 use="true”),海图服务将检测数据集文件夹是否有任何更改。一旦检测到修改,就会对数据集文件夹运行启动服务时使用的相同逻辑。在服务运行时,检测到的任何数据集更改都会相应地在服务的 .senc 和 find.dat 文件中更新。仅当刷新显示或在正在处理的数据集上使用搜索或标识时,用户才会注意到更改。
delaySeconds 属性可设置海图服务在运行其逻辑之前等待的时间。例如,如果设置为 10 秒,海图服务检测到数据集文件夹发生更改后,它将等待 10 秒,然后再运行其逻辑。如果在 10 秒延迟之前检测到另一个变化,则延迟重新开始。达到 delaySeconds 计数值后,它就会处理更改。复制到数据集文件夹的每个文件都被视为一个更改 - 如果一次复制 10 个文件,则每个文件在复制时都会重新开始计数。
如果您没有设置足够大的 delaySeconds 值,并且您的数据集文件需要比设置的值更长的时间才能复制,则海图服务无法处理该数据集。这与在将数据复制到数据集文件夹之前尝试手动启动地图服务没有什么不同。建议您将 delaySeconds 值设置为至少 3 倍,这取决于从暂存位置将单个 5 MB .000 文件复制到数据集文件夹所需的时间。
完成以下步骤以应用自动像元更新:
- 打开 ServerConfiguration.xml 文件,并将 AutoCellUpdate 属性编辑为 true。
它应类似于以下内容:
<AutoCellUpdate use="true" delaySeconds="10"/>
- 保存更改。
- 停止地图服务。
- 启动地图服务。
除非在服务关闭时将新的 S-57 数据集添加到数据集文件夹中,否则不会为此更改重新创建 .senc 文件。
显示框架和 S-52 颜色令牌
默认情况下,海图服务数据集框架为红色,自定义海图生成器 (CCB) 数据集框架是品红色。在 ServerConfiguration.xml 文件中,有两个设置:一个用于名为 DisplayFramesMCS 的海图服务,另一个用于名称为 DisplayFramesPOD 的自定义海图生成器 (CCB)。
添加到这些属性的颜色令牌值是使用标准 S-52 颜色令牌设置的。您可以修改任何颜色令牌值并重新启动地图服务以识别更改。S52DisplayProperties.xml 文件中的显示框架属性是允许打开或关闭数据集框架的设置。
所有 S-52 颜色令牌值都可以在 controlFilesDirectory 位置的 colcalib 文件夹下的 DAY.clr 文件中找到,该位置为 <GeoScene Server installation drive>/usr/directories/maritimeserver/maritimechartservice/。此位置位于 controlFilesDirectory 属性中。如果您做了任何更改,请备份此位置。未来安装可能需要覆盖此位置。
水深置信度图表颜色
为了支持使用自定义海图生成器 (CCB) 创建水深置信度图表,提供了设置 RGB 颜色值的功能。
ServerConfiguration.xml 文件中有六个设置,每个 CATZOC 类别一个设置。您可以修改任何颜色令牌值并重新启动地图服务以识别更改。
完成以下步骤以设置 RGB 颜色值:
- Open the ServerConfiguration.xml file and modify the ZOCColors CATZOC settings.
<CATZOC code="1" description="A1" color="#59FCD4" colorDescription=''/> <CATZOC code="2" description="A2" color="#50E4DB" colorDescription=''/> <CATZOC code="3" description="B" color="#48CCE2" colorDescription=''/> <CATZOC code="4" description="C" color="#3FB4EA" colorDescription=''/> <CATZOC code="5" description="D" color="#379CF1" colorDescription=''/> <CATZOC code="6" description="U" color="#2f89f5" colorDescription=''/>
- 单击保存。
- 停止地图服务。
- 启动地图服务。
S-52 显示属性
S52DisplayProperties.xml 控制文件允许系统管理员根据 S-52 标准配置服务的行为方式。
注:
必须停止并重新启动地图服务,服务才可识别对 S52DisplayProperties.xml 文件的更改。
显示参数
客户端应用程序可以将许多基于 S-52 船舶设置和其他参数传递给服务,从而允许根据每个客户端请求独立修改显示。您可以下载示例 Web AppBuilder 微件,这些微件展示了如何利用这些参数。当服务启动时,默认情况下使用 S52DisplayProperties.xml 中的设置。示例应用程序向用户显示这些值,并提供要设置的其他值,这些值也可以在 S52DisplayProperties.xml 文件中找到。
注:
示例微件可能不支持在 S52DisplayProperties.xml 中找到的所有参数。
S52DisplayProperties.xml 中定义了所有参数以及其他注释。 以下是显示灯光扇区的示例:<Parameter name="DisplayLightSectors" type="E" default="2" value="2">
<Description>Display light sectors</Description>
<Comments>New at 10.6.1 Patch 2 </Comments>
<ExpectedInput code="1" value="False"/>
<ExpectedInput code="2" value="True"/>
</Parameter>
参数结构
参数 | 描述 |
---|---|
参数名称 | 传递给服务的参数名称。 |
type | E: 枚举列表。 F: 可以使用浮点值。 L: 可以向服务传递多个值时的列表值。 |
default | 如果 S-52 标准中引用了参数,则 S-52 建议的默认值。 |
值 | 服务启动时使用的值。客户端可以覆盖此值。 |
ExpectedInput | 当类型为 E 或 L 时使用。 代码:服务使用的值。 值:传递给服务的代码的描述。 |
显示参数
参数名称 | 通用名称 | 描述 |
---|---|---|
AreaSymbolSize | 区域符号大小 | 更改显示区域符号的大小和时间。 |
AreaSymbolizationType | 区域符号化 | 设置区域边界符号的类型。 |
AttDesc | 属性描述 | 显示属性的 S-57 首字母缩写或描述性名称。 |
ColorScheme | 配色方案 | 设置所需的数据配色方案。 |
CompassRose | 指南针 | 显示 MAGVAR 点要素的 INT1 指南针。 |
DatasetDisplayRange | 数据集显示范围 | 根据 S-57 编译比例和当前地图比例确定数据集何时显示。 |
DateDependencyRange | 日期相关性范围 | 允许您设置开始日期或日期范围,以显示包含 DATSTA、DATEND、PERSTA 和 PEREND 属性值的要素。空值被解释为当前日期。 |
DateDependencySymbols | 日期相关性符号 | 显示日期相关性符号。 |
DeepContour | 等深线 | 等深线值的深度(以米为单位)。 |
DisplayAIOFeatures | 显示 AIO 要素 | 设置各种海军信息叠加(AIO)显示设置。值 5-7 仅在显示值 1-4 中的相应要素时显示。 |
DisplayBathymetricIENC | 显示测深 IENC | 将水深内陆 ENC 数据集与 IENC 或 ENC 数据集一起显示或单独显示。 |
DisplayCategory | 显示类别 | 打开和关闭基于 S-52 显示类别的要素组。这将取代图层显示属性。 |
DisplayDepthUnits | 深度单位 | 使用不同的测量单位显示深度值。 |
DisplayFrames | 显示框架 | 用于显示 S-57 数据集范围的选项。 |
DisplayFrameText | 显示框架文本 | 用于在显示数据集框架时显示数据集名称和编译比例值的选项。 |
DisplayFrameTextPlacement | 显示框架文本位置 | 数据集框架文本显示的位置。 |
DisplayLightSectors | 显示灯光扇区 | 打开和关闭灯光扇区的显示。 |
DisplayNOBJNM | 显示国家名称 | 如果填充了 NOBJNM,则以国家语言显示要素名称。否则,将使用 OBJNAM 进行显示。 |
DisplaySafeSoundings | 显示安全测深 | 关闭 (false) 时,不再显示比安全深度更深的测深。 |
HonorScamin | 支持 SCAMIN | 根据要素的 SCAMIN 值显示要素。如果禁用该选项,则绘制要素的时间将短于最初绘制数据的时间。 |
IntendedUsage | 预期用途 | 基于数据集的预期用途显示数据集。 |
IsolatedDangers | 浅水中的孤立危险 | 显示安全等值线内危险的孤立危险符号。 |
IsolatedDangersOff | 关闭所有孤立危险 | 特殊设置,用于关闭所有孤立的危险符号,无论其他显示设置如何。允许显示要打印的源要素。 |
LabelContours | 标注等深线 | 以所选深度单位标注等深线。 |
LabelSafetyContours | 标注安全等深线 | 以所选深度单位标注安全等深线。 |
LineSymbolSize | 线符号大小 | 更改显示线符号的大小和时间。 |
MovingCentroid | 中心区域标注 | 将区域点符号和文本居中到区域要素几何的质心,而不是整个要素几何的中心。 |
OptionalDeepSoundings | 可选深度测深 | 不显示与其他要素相冲突的安全水深。 |
PointSymbolSize | 点符号大小 | 更改显示点符号的大小和时间。 |
PointSymbolizationType | 点符号化 | 设置点要素的符号类型。 |
RemoveDuplicateText | 移除重复文本 | 移除 S-52 文本组 21 的重复要素文本(位置报告的名称)。 |
SafetyContour | 安全等深线 | 安全等深线的深度(以米为单位)。 |
SafetyDepth | 安全水深 | 安全水深的深度(以米为单位)。 |
ShallowContour | 浅水等深线 | 浅水等深线的深度(以米为单位)。 |
TextGroups | 文本组 | S-52 定义的文本组列表。 |
TextHalo | 显示文本光晕 | 移除所有配色方案中文本要素周围的光晕。 |
TextSize | 文本大小 | 更改显示要素文本的大小和时间。 |
TwoDepthShades | 双色水深显示 | 使用双色或四色水深显示深度区域。 |
注:
默认情况下,数据框设置为 automatic。当设置为自动时,智能缩放会根据当前参考比例尺为区域选择最佳图表并进行显示。如果图表是该区域的最佳图表,但其参考比例尺低于图表最小缩放比例尺,则会绘制单元格范围,而不是图表。客户端可以覆盖此项,并使用客户端参数打开或关闭所有单元格范围。启用该选项后,无论参考比例尺如何,所有数据集范围都可见。
注:
默认情况下,指南针设置为 false。这不会显示 MAGVAR 点要素的任何指南针点。默认情况下也使用 S-52 符号。如果要将 MAGVAR 点要素显示为 INT1 指南针符号,则必须将 S52DisplayProperties.xml 文件中的指南针值设置为 True,然后重新启动服务。当显示罗盘时,将根据当前日期计算与正北的偏差。
提示:
建议您从 S52DisplayProperties.xml 中移除 IntendedUsage 和 ExpectedInput 值,这些值不会加载到您的服务中。例如,如果您只打算发布 ENC 数据集,请移除 ENC 产品未使用的 AML 和 IENC 值。
以下是客户端传递给服务内容的示例,可以通过使用海图服务参数操作来访问,例如 https://nsdemo.geoscene.cn/geoscene/rest/services/SampleWorldCities/MapServer/exts/MaritimeChartService/MapServer/parameters?f=html&full=true。
视图组
S52DisplayProperties.xml 文件附带了如何在服务图层中配置要素图层的各种示例。默认情况下使用 ParameterGroup 名称 ViewOverGroups。您必须确保所有其他示例都有不同的名称。
视图组的概念直接来自 S-52,可以按与 S-52 相同的方式进行配置和扩展。
注:
随着 AML 1.1.3 描述规范的发布,定义了一组新的视图组。要将这些组用于 S-57 AML 数据集,必须将 ViewOverGroups 参数组设置更改为使用 ViewOverGroups_AML_Sample。将 ViewOverGroups_AML_Sample 的名称更改为 ViewOverGroups,并将现有参数组重命名为 ViewOverGroups 以外的名称。AML 视图组包含 23 个图层,而默认视图组包含 8 个图层。
注:
更改 S52DisplayProperties.xml 文件后,必须重新启动地图服务。
<ParameterGroup name="ViewOverGroups" defaultVisibility="false">
<ViewoverGroupsDescription>This example includes all view groups into 8 feature layers</ViewoverGroupsDescription>
<Parameter name="0" type="E" default="2" range="11000-11060,21010-21060,31000-31080">
<Description>Information about the chart display</Description>
<ExpectedInput code="1" value="False"/>
<ExpectedInput code="2" value="True"/>
<Parameter>
参数 | 描述 |
---|---|
ParameterGroup 名称 | 必须设置为 ViewOverGroups,系统才能识别它;否则,如果用作示例引用,请对其进行重命名。 |
ParameterGroup defaultVisibility | True 或 False 注:有关视图组的默认可见性选项,请参阅下一节。 |
ViewOverGroupDescription | 描述要素图层的内部文档。 |
参数名称 | 此属性不再需要是唯一的。当服务启动时,服务会自动分配一个以 0 开头的值。 |
参数默认值 | 系统默认值。此字段仅用于文档。选项如下所示:
|
参数范围 | 包含在此要素图层中的 S-57 物标。值来自 S52DisplayProperties.xml 文件底部的视图组。 |
描述 | 此文本显示在内容选项卡或目录中。 |
视图组的默认可见性选项
选项 | 描述 |
---|---|
默认设置:对于仅包含一个要素图层的视图组,设置为 True。 | 预计只能打开或关闭要素图层。除非关闭父图层,否则会显示所有其他 S-57 服务图层信息。例如,如果关闭探测,则会显示服务图层中的所有其他信息。此选项用于快速创建一个可以打开和关闭的要素图层,而无需定义其他要素图层。 |
对于包含多个要素图层的视图组,设置为 True。 | 这会产生与默认设置相同的行为。例外情况是,当您将所有视图组都显示在 View Over Group 中时,无论是一个还是多个要素图层。关闭最后一个要素图层时,除非关闭父图层,否则该要素图层仍将显示。要避免这种情况,请确保在 View Over Group 中包含所有视图组时,将 defaultVisibility 设置为 False。 |
对于仅包含一个要素图层的视图组,设置为 False | 当要素图层处于关闭状态时,父图层也处于关闭状态,因为不应显示任何内容。当数据中仅显示一个要素图层(例如导航设备)时,应使用此选项。仅显示要素图层中的数据。不会显示来自该服务的其他数据。 |
对于包含多个要素图层的视图组,设置为 False。 | 当所有要素图层都处于关闭状态时,父图层也处于关闭状态。当需要一个或多个要素图层时,应使用此选项。例如,有一个用于探测的要素图层和一个用于导航的要素图层,这是仅显示的两个要素图层。抑制所有其他 S-57 服务图层信息。 |
视图组是在没有要素图层信息的情况下定义的。 | 将 defaultVisibility 属性设置为 False。否则,要素图层节点将无法关闭图层。 注:如果未包括该设置,则默认为 True。 |
视图组描述(视图组)
根据 S-52,S-57 物标被分组到视图组中。视图组 ID 是 View Over Groups 范围值的设置值。这些视图组 ID 与 .dic 文件中的条目相关。
.dic 文件与其他控制文件一起位于 S-52 标准中,用于控制要素的显示方式。可以根据需要配置这些视图组,以便为您的服务创建包含多个要素图层的视图组。
例如,信标的 ViewGroup 包含五个单独的 S-57 物标,但它们都由一个 ViewGroup 控制。<ViewGroup id="17020" Description="beacon"/>
<ViewGroupS57Objects Code="" Acronym="BCNCAR" Description="" Dictionary="psymrefs" Comments=""/>
<ViewGroupS57Objects Code="" Acronym="BCNISD" Description="" Dictionary="psymrefs" Comments=""/>
<ViewGroupS57Objects Code="" Acronym="BCNLAT" Description="" Dictionary="psymrefs" Comments=""/>
<ViewGroupS57Objects Code="" Acronym="BCNSAW" Description="" Dictionary="psymrefs" Comments=""/>
<ViewGroupS57Objects Code="" Acronym="BCNSSP" Description="" Dictionary="psymrefs" Comments=""/>
要单独打开或关闭每个信标类型,必须为每个信标类型创建视图组,并修改关联的 .dic 文件。
特殊显示参数
特殊的显示参数设置允许管理员根据需要托管的 S-57 数据集优化其显示。这些设置允许进行微调,但通常不需要修改。
<ParameterGroup name="DatasetDisplayRange">
<Description>Dataset Display Range: Determines at what view scale a dataset is displayed.</Description>
<DetailedDescription>Controls when your dataset is displayed based on the S-57 dataset's scale and view scale.</DetailedDescription>
<Comments>New at 10.6.1</Comments>
<Parameter name="minZoom" type="F" default="0.05" value="0.05">
<Description>Minimum dataset display value.</Description>
<DetailedDescription>Sets the minimum dataset display value. A larger value requires you to zoom closer before a datasets displays.</DetailedDescription>
</Parameter>
<Parameter name="maxZoom" type="F" default="1.2" value="1.2">
<Description>Maximum dataset display value.</Description>
<DetailedDescription>Sets the maximum dataset display value.</DetailedDescription>
</Parameter>
</ParameterGroup>
<ParameterGroup name="PointSymbolSize">
<Description>Point Symbol Size: Change the size of point symbology.</Description>
<DetailedDescription>Determines when and how big point symbols display.</DetailedDescription>
<Comments>New at 10.6.1</Comments>
<Parameter name="scaleFactor" type="F" default="1.0" value="1.0">
<Description>Scale factor.</Description>
</Parameter>
<Parameter name="minZoom" type="F" default="0.05" value="0.05">
<Description>Minimum zoom.</Description>
</Parameter>
<Parameter name="maxZoom" type="F" default="1.2" value="1.2">
<Description>Maximum zoom.</Description>
</Parameter>
</ParameterGroup>
<ParameterGroup name="LineSymbolSize">
<Description>Line Symbol Size: Change the size of line symbology.</Description>
<DetailedDescription>Determines when and how big line symbols display.</DetailedDescription>
<Comments>New at 10.6.1</Comments>
<Parameter name="scaleFactor" type="F" default="1.0" value="1.0">
<Description>Scale factor.</Description>
</Parameter>
<Parameter name="minZoom" type="F" default="0.05" value="0.05">
<Description>Minimum zoom.</Description>
</Parameter>
<Parameter name="maxZoom" type="F" default="1.2" value="1.2">
<Description>Maximum zoom.</Description>
</Parameter>
</ParameterGroup>
<ParameterGroup name="AreaSymbolSize">
<Description>Area Symbol Size: Change the size of area symbology.</Description>
<DetailedDescription>Determines when and how big area symbols display.</DetailedDescription>
<Comments>New at 10.6.1</Comments>
<Parameter name="scaleFactor" type="F" default="1.0" value="1.0">
<Description>Scale factor.</Description>
</Parameter>
<Parameter name="minZoom" type="F" default="0.05" value="0.05">
<Description>Minimum zoom.</Description>
</Parameter>
<Parameter name="maxZoom" type="F" default="1.2" value="1.2">
<Description>Maximum zoom.</Description>
</Parameter>
</ParameterGroup>
<ParameterGroup name="TextSize">
<Description>Text Size: Change the size of feature text.</Description>
<DetailedDescription>Determines when and how big feature text display.</DetailedDescription>
<Comments>New at 10.6.1</Comments>
<Parameter name="scaleFactor" type="F" default="1.0" value="1.0">
<Description>Scale factor.</Description>
</Parameter>
<Parameter name="minZoom" type="F" default="0.05" value="0.05">
<Description>Minimum zoom.</Description>
</Parameter>
<Parameter name="maxZoom" type="F" default="1.2" value="1.2">
<Description>Maximum zoom.</Description>
</Parameter>
</ParameterGroup>
海图
海图设置控制数据集的显示时间,并基于 S-57 数据集比例尺和视图比例尺。S-57 数据集的显示可以使用以下公式确定,其中 X 是您的参考比例尺:
X = Dataset Scale / View Scale
- 如果 X 小于 minZoom 值,则不显示数据集。
- 如果 X 大于 maxZoom 值,则只要另一个数据集没有更好的参考比例尺值,就会显示该数据集。
- 如果 X 在 minZoom 或 maxZoom 的范围内,则显示数据集。
通过将 minZoom 值增加到一个更大的数字(例如 0.28),您必须在数据集显示之前放大。
如果两个 S-57 数据集位于 minZoom 和 maxZoom 范围内,则显示具有较小参考比例尺的数据集。例如,您有两个 S-57 数据集(A 为 1:1500000,B 为 1:90000),视图比例尺为 1:587862。
- A = 1500000/587862 的参考比例尺,即 2.55
- B = 90000/587862 的参考比例尺,即 0.153
符号、线和面
符号、线和面属性都包含 scaleFactor 以及 minZoom 和 maxZoom 设置。更改这些值会增加或减少符号的绘制大小。计算出 X(参考比例尺)后,该值将乘以 scaleFactor。将新值与 minZoom 和 maxZoom 设置进行比较,如下所示:
- 如果 X 小于 minZoom 值,则将其设置为 minZoom。
- 如果 X 大于 maxZoom 值,则将其设置为 maxZoom。
文本
文本属性的 scaleFactor 以及 minZoom 和 maxZoom 设置的行为方式与符号、线和面相同。更改这些值会增加或减少文本绘制的大小。文本属性还包含两个附加设置,用于移除重复的文本 (removeDuplicateText) 和从所有配色方案中的环绕文本要素中移除光晕。当 removeDuplicateText 设置为 true (默认设置) 时,会从 S-52 文本组 21 位置报告名称中移除要素的重复文本,并使用相同的 S-57 物标类名。如果 S-57 物标类名称不同,则不会移除重复的文本。
修改显示参数
完成以下步骤以修改显示参数:
- 打开 S52DisplayProperties.xml 文件并修改必需的设置。
- 保存更改。
必须停止并重新启动地图服务,服务才可识别对 S52DisplayProperties.xml 文件的更改。
- 停止地图服务。
- 启动地图服务。
现有 S-57 数据集的显示参数尚未修改。添加到数据集文件夹中的任何新 S-57 数据集都会显示更新的参数。
如果希望如 ECDIS 一样显示为 1:1,则必须将 minZoom 和 maxZoom 的 AreaSymbolSize、LineSymbolSize、PointSymbolSize 和 TextSize 值设置为 1。
配置蓝灯扇区
从 S-52 演示库 4.0.2 开始,S-52 标准不支持蓝光扇区的显示。根据 S-52,COLOUR = 5 的灯光扇区必须使用颜色令牌 CHMGD(洋红色)显示。通过细微的配置更改,海图服务现在可以使用自定义颜色令牌显示 COLOUR = 5 的 S-57 灯光扇区。
令牌名为 LITBL 的自定义颜色,可在用于不同配色方案(例如 DAY、DUSK 或 NIGHT)的海图服务 .clr 文件中找到。默认情况下,海图服务将 LITBL 设置为与 CHMGD 相同的 RGB 值。如果要将 COLOUR = 5 的灯光扇区显示为蓝色,则需在每个 .clr 文件中修改 LITBL 颜色令牌的 RGB 值才能实现。
更改 LITBL 的 RGB 值
请完成以下步骤以更改 LITBL 的 RGB 值:
- 浏览至 colalib 文件夹。
colalib 文件夹的位置因实现而异。示例:<GeoScene Server 安装位置>/usr/directories/maritimeserver/maritimechartservice/controlfiles/S52PresentationLibrary/colalib。
- 编辑 .clr 文件
- 搜索 LITBL 颜色令牌,其默认设置为 RGB 值 CHMGD。
- 将 RGB 值更新为您想要使用的颜色。
请参阅下面的 CLR 表结构。
- 保存文件。
- 对每个 .clr 文件重复此过程。
注:
对 .clr 文件的更新需要重新构建 .senc 文件以应用更改。请参阅下面关于重构 .senc 文件的部分。

CLR 表结构
颜色表在 S-52 PresLib Ed 4.0.2 Part 1 App A Colour Tables.pdf 中定义。颜色表中的值在海图服务的 .clr 文件中使用。.clr 表包含 9 个列。前五个在 S-52 PresLib Ed 4.0.2 Part 1.pdf 节 11.4.2 Color Definition CIE-Field 中定义。在从 CIE 到 RGB 的转换过程中还会创建另外四个列 (Red、Green、Blue 和转换错误) 。您必须修改红、绿、蓝值。
.clr 表列如下:
- Token - 该值在 S-52 查找表中被引用。所有引用此令牌的要素都使用定义的 RGB 值。
- Color - 描述性名称;然而,一种颜色有很多版本 - 有些描述性名称是重复的,但具有不同的 RGB 值。如果需要,可以修改此值,而且不会影响海图服务。
- X - CIE 色卡上的 x 坐标值。
- Y - CIE 色卡上的相对亮度值 (最亮为白色)。
- Luminance - 亮度值 (CIE 颜色系统)。
- Red - RGB 颜色的红色值。
- Green - RGB 颜色的绿色值。
- Blue - RGB 颜色的蓝色值。
- 转换错误 - 该值将忽略。
重新构建 .senc 文件
完成以下步骤以重新构建 .senc 文件:
- 通过启动 https://gisserver.domain.com:6443/geoscene/manager 以服务器管理员身份登录。
- 单击服务。
- 停止已配置海图服务功能的地图服务。
- 从 <GeoScene Server installation drive>/usr/directories/maritimeserver/maritimechartservice/sencs 中删除内容。
- 启动地图服务。
- 对修改了 .clr 文件的每个地图服务重复上述步骤。