分布式切图服务生产的瓦片,不论是栅格瓦片、矢量瓦片还是属性瓦片(已过时),都可以自动被地图服务使用,无需进行额外配置。对于一个地图服务及已有的瓦片,客户端的出图请求方式有:
- 通过 map 资源的 flash、flash3d、javascript、vectortile、silverlight 等表述浏览地图,此时需要保证地图的固定比例尺与已有瓦片的比例尺一致,且出图请求的图片格式等参数与已有瓦片一致;
- 通过出图资源 tileImage 向服务端发请求,可以按照比例尺、瓦片行列号、瓦片格式等参数请求指定的瓦片,需确认请求参数与瓦片本身大小等参数的一致性;
- 通过 iClient 的客户端开发一个地图浏览的脚本,向地图服务发请求,需确认请求参数与瓦片本身大小等参数的一致性。
当然,如果您修改了默认的存储路径或有其他自定义的设置,您可以通过手动方式进行配置以使用这些瓦片。其中,UGCV5格式的瓦片可以通过配置地图服务提供者使用,FastDFS(已过时)、MongoDB、SMTiles、MBTiles、UTFGrid(已过时)、SVTiles 这几种瓦片可以通过配置地图服务组件使用。
配置使用 SuperMap UGC 格式的栅格瓦片
SuperMap UGC 格式的栅格瓦片可以通过分布式切图服务或 SuperMap iDesktopX、SuperMap iObjects 生成,版本有5.0、4.1等,详细信息请参考:SuperMap UGC 格式栅格瓦片的版本。
对于已经切好的 SuperMap UGC 瓦片,您首先要确认相应的地图已经发布为地图服务,然后就可以通过配置地图服务提供者来使用该地图瓦片,如 SuperMap UGC5.0的瓦片。具体操作时,可以通过服务管理器配置配置服务提供者,也可以直接修改 XML 服务配置文件。以本地地图服务提供者为例,打开首页- 服务- 服务装配- 服务提供者(集合),进入地图服务提供者配置页面(http://<server>:<host>/iserver/admin-ui/serviceAssemble/providers/<地图服务提供者名>),在高级设置中设置缓存版本(即 SuperMap UGC 格式地图瓦片的版本),点击保存即可生效。
SuperMap iServer 使用的 SuperMap UGC 格式栅格瓦片默认存放在图片输出路径下,即【SuperMap iServer 安装目录】\webapps\iserver\output\cache\,关于不同版本的 SuperMap UGC 瓦片存放的具体路径请参考:SuperMap UGC 格式地图瓦片的版本。
使用 SuperMap UGC 瓦片时,如果地图瓦片的存储路径不是上述路径,您需要将地图瓦片复制到上述路径下。您也可以修改相应地图服务提供者的缓存输出路径<outputPath>../webapps/iserver/output</outputPath>与存储位置一致,以保证该地图服务可以正常使用 SuperMap UGC 瓦片。
配置地图服务组件使用其他瓦片
我们可以通过配置地图服务组件使用、MongoDB、OTS(已过时)、SMTiles 格式的地图瓦片、SVTiles 格式的矢量瓦片、UTFGrid 格式的属性瓦片(已过时)。
修改地图服务组件的配置可以通过服务管理器进行操作,也可以修改服务配置文件实现。
通用配置方式
首页- 服务- 服务装配- 服务提供者(集合),进入地图服务组件配置页面(http://<server>:<host>/iserver/manager//admin-ui/serviceAssemble/components/<地图服务组件名>),勾选“是否启用缓存”,设置如下参数:
- 是否启用缓存:是否启用缓存。
- 缓存是否只读:决定缓存文件是否可以编辑。勾选后后缓存文件为只读,不会被修改;如果不勾选,已有的瓦片文件可能会被动态更新。
- 缓存存活时间:从瓦片创建开始计算瓦片存活时间。时间单位为分钟,0代表缓存永不过期。该配置只对 SMTiles 瓦片缓存、属性瓦片缓存(已过时)、矢量瓦片缓存有效。
- 是否启用地图瓦片缓存:支持 MongoDB、OTS(已过时)、SMTiles 存储格式,如果选择 OTS(已过时) 或 MongoDB 格式,则需要导入已有的存储位置或添加一个新的存储位置。新添加的存储位置如果后续有切图服务使用,生成的地图瓦片会自动被当前地图服务使用。
- 是否启用属性瓦片缓存(已过时):目前支持 UTFGrid 格式的属性瓦片,默认存储位置为:【SuperMap iServer 安装目录】\webapps\iserver\output\sqlite\。
- 使用启用矢量瓦片缓存:目前支持 SVTiles 、MongoDB(只支持 MVT)格式的矢量瓦片,SVTiles 的默认存储位置为:【SuperMap iServer 安装目录】\webapps\iserver\output\sqlite\。
其中,配置 SMTiles 格式时,地图服务出图时会默认使用已有的 SMTiles 地图瓦片(*.smtiles)。但如果当前地图服务和出图请求符合 MBTiles 规范且缓存目录下有 MBTiles 地图瓦片(*.mbtiles),则地图服务会使用已有的 MBTiles 瓦片。
注意:开启单机多进程后,地图服务将不再支持 SMTiles 类型的地图瓦片缓存。
分布式切片库的配置
对于分布式切片库存储的瓦片,您也可以在创建切图任务页面,存储设置中勾选“配置到此地图服务”,选择与切片库中地图相对应的服务组件实现快速配置。此时,该地图服务将默认开启缓存只读。
选择服务组件时:
- 如果切片库中目前还没有该地图组件的切片,那么配置到地图服务组件后,默认将允许向切片库动态存入切片;
- 如果切片库中已存储了该地图组件的切片,那么切片库默认为只读状态,即不会对已有的瓦片进行任何修改。如果您改为非只读状态,则意味着:如果数据有变更,出图时采用与当前数据一致的瓦片,且允许向切片库动态追加没有的瓦片,或更新变更的瓦片。
将分布式切片库配置到地图服务后,相应的地图服务将默认采用分布式切片库中最新版本的切片集进行出图。
如果您需要配置使用旧版本的切片集,请参考:配置使用历史版本的瓦片。