分布式切图服务生产的瓦片,不论是栅格瓦片还是矢量瓦片,都可以自动被地图服务使用,无需进行额外配置。对于一个地图服务及已有的瓦片,客户端的出图请求方式有:

  • 通过 map 资源的 .javascript、.vectortile 等表述浏览地图;
  • 通过出图资源 tileImage 向服务端发请求,可以按照比例尺、瓦片行列号、瓦片格式等参数请求指定的瓦片;
  • 通过 Web 客户端或移动客户端访问地图服务,可以开发一个地图浏览的脚本,向地图服务发请求。

当然,如果您修改了默认的存储路径或有其他自定义的设置,您可以通过手动方式进行配置以使用这些瓦片。其中,UGCV5格式的瓦片可以通过配置地图服务提供者使用,UGCV5、MongoDB、SMTiles、MBTiles、SVTiles 这几种瓦片可以通过配置地图服务组件使用。

配置使用 SuperMap UGC 格式的栅格瓦片

SuperMap UGC 格式的栅格瓦片可以通过分布式切图服务或 SuperMap iDesktopX、SuperMap iObjects 生成,版本有5.0、4.0、3.1等,详细信息请参考:SuperMap UGC 格式栅格瓦片的版本

对于已经切好的 SuperMap UGC 瓦片,您首先要确认相应的地图已经发布为地图服务,然后就可以通过配置地图服务提供者来使用该地图瓦片,如 SuperMap UGC 5.0的瓦片。具体操作时,可以通过iServer 服务管理器配置服务提供者,也可以直接修改 XML 服务配置文件。以本地地图服务提供者为例,登录 iServer 服务管理器,进入服务->服务装配->服务提供者(集合),选择某一本地地图服务提供者配置页面(http://<server>:<host>/iserver/admin-ui/serviceAssemble/providers/<地图服务提供者名>),在高级设置中设置缓存版本(即 SuperMap UGC 格式地图瓦片的版本),点击保存即可生效。

SuperMap iServer 使用的 SuperMap UGC 格式栅格瓦片默认存放在图片输出路径下,即【SuperMap iServer 安装目录】\webapps\iserver\output,关于不同版本的 SuperMap UGC 瓦片存放的具体路径请参考:SuperMap UGC 格式地图瓦片的版本。使用 SuperMap UGC 瓦片时,如果地图瓦片的存储路径不是上述路径,您需要将地图瓦片复制到上述路径下。您也可以修改相应地图服务提供者的缓存输出路径<outputPath>../webapps/iserver/output</outputPath>与存储位置一致,以保证该地图服务可以正常使用 SuperMap UGC 瓦片。

针对UGCV5原始型且为本地剖分层级的瓦片,支持使用跨版本的地图瓦片文件(例如在11.3.0版本上发布的服务想要使用其他版本的或 SuperMap iDesktopX 桌面软件切好的瓦片)。具体使用方法如下:

1、在 iserver-services.xml 配置文件中为需要使用跨版本 UGCV5 瓦片的本地地图服务提供者新增配置<usePreGeneratedUGCV5Cache>,并设置为 true。具体配置方法可参考配置地图服务提供者

2、将任意版本的UGCV5缓存文件夹(必须由相同工作空间的地图所生成)以及sci文件,放到希望使用此缓存的地图缓存文件夹下(【SuperMap iServer 安装目录】\webapps\iserver\output\cache\mapName)。当请求中的瓦片索引在缓存中存在时,会直接使用缓存中的瓦片。

注意事项:

按照上述配置后,对于手动放置的瓦片缓存文件,无论是否开启服务“缓存是否只读”功能,都只能限制该瓦片不被删除,不可限制其不被修改。

配置地图服务组件使用其他瓦片

我们可以通过配置地图服务组件使用 UGCV5、MongoDB、OTS(已过时)、SMTiles 格式的地图瓦片以及 SVTiles 格式的矢量瓦片。

修改地图服务组件的配置可以通过服务管理器进行操作,也可以修改服务配置文件实现。

通用配置方式

服务->服务管理,选择某一地图服务,进入服务详情->缓存选项卡,设置如下参数:

  • 是否启用地图瓦片缓存:默认勾选。勾选后将开启地图瓦片缓存,并支持如下配置:
    • 缓存类型:支持 UGCV5、MongoDB、OTS(已过时)、SMTiles 存储格式,默认为 UGCV5
    • 存储位置:如果选择 UGCV5 或 SMTiles 类型的瓦片缓存,则需填入本地文件目录,默认值分别为 ./output/cache 和 ./output/sqlite;如果选择 OTS(已过时) 或 MongoDB 格式,则需要导入已有的存储位置或添加一个新的存储位置
    • 缓存是否只读:决定瓦片缓存是否可以编辑。勾选后瓦片缓存为只读,不会被修改;如果不勾选,已有的瓦片缓存可能会被动态更新
    • 缓存过期时间:从瓦片缓存创建开始计算过期时间。时间单位为分钟,0代表缓存永不过期,默认为0
    • 是否关闭瓦片重采样:瓦片重采样功能支持利用瓦片预缓存进行缓存出图,若需要频繁修改原始地图风格或数据,建议勾选该选项,即关闭瓦片重采样功能。该配置只对 UGCV5 瓦片缓存有效
  • 是否启用矢量瓦片缓存:默认勾选。勾选后将开启矢量瓦片缓存,并支持如下配置:
    • 缓存类型:支持 MVT、SVTiles 、MongoDB(只支持 MVT)存储格式,默认为 MVT
    • 存储位置:如果选择 MVT 或 SVTiles 类型的瓦片缓存,则需填入本地文件目录,默认值分别为 ./output 和 ./output/sqlite;如果选择 MongoDB 格式,则需要导入已有的存储位置或添加一个新的存储位置
    • 缓存是否只读:决定瓦片缓存是否可以编辑。勾选后瓦片缓存为只读,不会被修改;如果不勾选,已有的瓦片缓存可能会被动态更新
    • 缓存过期时间:从瓦片缓存创建开始计算过期时间。时间单位为分钟,0代表缓存永不过期,默认为0。该配置只对 SVTiles 、MongoDB 瓦片缓存有效

其中,配置 SMTiles 格式时,地图服务出图时会默认使用已有的 SMTiles 地图瓦片(*.smtiles)。但如果当前地图服务和出图请求符合 MBTiles 规范且缓存目录下有 MBTiles 地图瓦片(*.mbtiles),则地图服务会使用已有的 MBTiles 瓦片。

注意事项:

开启单机多进程后,地图服务将不再支持 SMTiles 类型的地图瓦片缓存。

对于分布式切图服务生成的瓦片,您也可以在创建切图任务页面,在存储设置中勾选配置到此地图服务,从而实现瓦片到地图相对应的服务组件的快速配置。此时,该地图服务将默认开启缓存只读。

其中,对于分布式切片库的配置:

  • 如果切片库中目前还没有该地图组件的切片,那么配置到地图服务组件后,默认将允许向切片库动态存入切片;
  • 如果切片库中已存储了该地图组件的切片,那么切片库默认为只读状态,即不会对已有的瓦片进行任何修改。如果您改为非只读状态,则意味着:如果数据有变更,出图时采用与当前数据一致的瓦片,且允许向切片库动态追加没有的瓦片,或更新变更的瓦片。

将分布式切片库配置到地图服务后,相应的地图服务将默认采用分布式切片库中最新版本的切片集进行出图。

如果您需要配置使用旧版本的切片集,请参考:配置使用历史版本的瓦片