地图服务水印配置

使用说明

GIS云套件支持为地图服务的出图瓦片添加自定义水印,可用于版权标识、数据来源标注等场景。水印支持图片水印和文字水印两种模式,若两种水印同时配置,图片优先显示。

水印配置分为两个层级:

  • 全局水印:在Consul配置中心统一设置,对GIS云套件中由工作空间发布或转发REST-地图服务发布的地图服务、UGCV5瓦片发布的地图服务统一生效。适用于需要对所有地图服务添加统一水印字样的场景。
  • 服务级别水印:在发布服务时通过服务提供者进行水印的配置,对单个地图服务生效。当全局水印与服务级别水印同时开启时,优先使用服务级别的水印配置。

全局水印与服务级别水印的协同规则如下:

  • 全局开启水印时,允许部分支持类型的服务通过服务级别配置关闭水印。
  • 全局关闭水印时,允许部分支持类型的服务通过服务级别配置开启水印。
  • 全局开启水印且地图服务提供者也开启水印时,优先使用地图服务提供者的水印配置。

功能入口

地图服务水印功能通过在GIS云套件的Consul配置中心进行动态配置实现。需要先访问cloudsuite-consul服务,然后在键/值存储中创建相应的水印配置。

操作步骤

请按照以下步骤为GIS云套件中的地图服务配置全局水印:

  1. 访问Consul配置中心

    访问Consul Web界面,在上方导航栏点击Key/Value,进入键值存储页面。访问方式请参见瓦片数据加密使用介绍。

  2. 创建全局水印配置

    在Consul的键值存储中,以key=value的形式添加全局水印配置项。所有配置项均以globalconfig.mapwatermark.为前缀。

    以下为文字水印的配置示例:

    globalconfig.mapwatermark.enable=true
    globalconfig.mapwatermark.imageUrl=
    globalconfig.mapwatermark.imageAlpha=0.6
    globalconfig.mapwatermark.txtContent=SuperMap
    globalconfig.mapwatermark.fontSize=24
    globalconfig.mapwatermark.fontColor.red=255
    globalconfig.mapwatermark.fontColor.green=0
    globalconfig.mapwatermark.fontColor.blue=0
    globalconfig.mapwatermark.fontColor.alpha=255
    globalconfig.mapwatermark.fontStyle=bold
    globalconfig.mapwatermark.xIndex=10
    globalconfig.mapwatermark.yIndex=10
    globalconfig.mapwatermark.random=0
  3. 保存并生效

    保存Consul配置后,需重启GIS云套件的后端API服务(cloudsuite-dashboard-api),然后重新发布相关的地图服务实例,新配置才会对该服务实例生效。

参数说明

全局水印配置项与iServer服务提供者中的<watermark>节点参数一致,具体说明如下:

参数名 类型 说明
enable Boolean 是否开启水印。不设置该参数时默认为开启。设置为false时表示关闭水印。
imageUrl String 【图片水印配置参数】图片的文件存储路径。
imageAlpha double 【图片水印配置参数】图片的透明度。可设置范围为0-1,默认值为0.8。
txtContent String 【文字水印配置参数】文字内容。
fontSize int 【文字水印配置参数】文字的大小,默认值为20。
fontColor Color 【文字水印配置参数】文字颜色及透明度设置,遵循RGBA色彩模式,包含red、green、blue、alpha四个子参数,每个值的取值范围分别为0-255。默认值为100,100,100,128。
fontStyle String 【文字水印配置参数】文字字体,默认值为Dialog,可设置为微软雅黑等。
xIndex int 水印的位置x,起算点为瓦片左上角,单位为像素,默认值为瓦片的中心点x。
yIndex int 水印的位置y,起算点为瓦片左上角,单位为像素,默认值为瓦片的中心点y。
random int 每张瓦片中显示水印的密集程度,该值设置越大水印越密集。可设置范围为1-100,默认值为25。

其中,fontColor在Consul中以四个独立的key进行配置,前缀分别为:

  • globalconfig.mapwatermark.fontColor.red
  • globalconfig.mapwatermark.fontColor.green
  • globalconfig.mapwatermark.fontColor.blue
  • globalconfig.mapwatermark.fontColor.alpha

服务级别水印配置

除全局水印外,您还可以在发布服务时,通过服务提供者的水印配置对单个地图服务设置水印。配置方式请参见SuperMap iServer帮助文档中“水印设置”相关章节。

支持配置水印的地图服务提供者类型包括:

  • 本地地图服务提供者(UGCMapProvider,对应由工作空间发布的地图服务)
  • REST地图服务提供者(RESTMapProvider,对应转发REST-地图服务发布的地图服务)
  • UGCV5瓦片服务提供者(UGCV5TileProvider,对应UGCV5瓦片发布的地图服务)

验证配置

配置生效后,可通过以下方式验证水印是否正常添加:

  1. 浏览地图验证:在GIS云套件中浏览已发布(或重新发布)的地图服务,查看地图瓦片上是否显示水印。水印的字体、颜色、位置、密集程度应与配置一致。

  2. 清除缓存后验证:如果之前浏览过该地图服务,可能存在缓存导致水印未更新。请先清除地图服务的瓦片缓存,再次浏览地图查看水印是否正常显示。

注意事项:
  1. 生效条件:修改Consul配置后,必须重启cloudsuite-dashboard-api服务,并且重新发布相关的地图服务实例,新配置才会对该服务实例生效。
  2. 缓存影响:修改水印配置后,需清除地图服务已有的瓦片缓存,否则浏览到的瓦片可能仍为旧缓存(不带水印或水印未更新)。

相关主题

发布REST地图服务