使用分布式切图服务

发送反馈


针对传统单机切缓存技术的耗时长、无故障恢复机制等缺点,SuperMap iServer 提供了支持多台机器并行切图的分布式切图服务,可添加位于不同机器的多个切图节点,从而实现并行切图,提升切图工作的效率。

分布式切图服务支持对所有已发布的地图服务进行切图,服务的数据来源可以是 SuperMap 工作空间数据、影像服务、远程 WMS 服务、远程 WMTS 服务、远程 REST Map 服务、Bing Maps 服务、天地图服务、Google Map 地图服务、百度地图服务、OpenStreetMap 地图服务、ArcGIS REST 地图服务、MBTiles 文件、SMTiles 文件等。也可直接对已发布的影像服务进行切图。此外,分布式切图服务还支持对三维服务的场景中加载的三维图层进行切图。

创建切图任务的服务器为切图主节点(TileMaster),其它集群子节点为切图子节点(TileWorker),所有切图环境和存储的准备、任务的创建和监控等操作,都在主节点上进行,子节点无需进行任何操作。切图任务创建后,待切图的数据会自动部署到子节点,如果主节点数据发生变更,则会自动同步到子节点。关于分布式切图的原理和内部通讯机制,请参考:分布式切图机制

瓦片类型

分布式切图服务支持生产二维、三维的多种类型、多种存储格式的瓦片。

二维瓦片

切图结果是栅格图片格式的地图瓦片,支持 FastDFS (已过时)和 MongoDB 分布式存储、SMTiles 与 MBTiles 格式、 SuperMap UGC 格式(5.0版本原始缓存,即切片存储类型中的“UGCV5”),以及 GeoPackage 格式。

将地图图层中的矢量图层(点、线、面及文本图层)以矢量瓦片的格式进行存储,支持 SVTiles 格式存储。

将地图图层中矢量图层(点、线、面及文本图层)的属性数据以属性瓦片的格式进行存储,支持 UTFGrid 格式存储。

瓦片格式的其他详细信息,请参考:地图缓存格式

三维瓦片

分布式切图服务还支持对三维服务的场景中的图层切三维瓦片,并可存储在 MongoDB 中。支持的三维瓦片包括:

对三维场景中的影像图层切分生成三维影像瓦片

对地形图层切分生成三维地形瓦片

对三维场景中的矢量图层切分生成三维矢量瓦片

对模型图层切分生成三维模型瓦片

切图流程

分布式切图服务主要通过瓦片管理功能进行使用,地址(TileMaster)为:http://localhost:8090/iserver/webapp/index.html#/ ,使用分布式切图服务的基本操作都在切图主节点进行,创建切图任务并使之执行即可。但是分布式切图服务作为指挥多机并行工作的综合性功能,其稳定性和切图结果的可用性就更为重要。因此。SuperMap iServer 的分布式切图服务提供了完善的运维功能,包括切图任务的实时监控和切图结果的版本化管理等。使用分布式切图服务,您可以:

使用分布式切图服务切分三维瓦片的过程与上述流程基本一致,只是在创建切图任务时略有不同,三维瓦片切图任务的创建请参考:创建切图任务-三维瓦片

分布式切图服务对地图服务或影像服务生产的二维瓦片,不论是地图瓦片、矢量瓦片还是属性瓦片(已过时),除 UGCV5类型的瓦片外,都可以自动被地图服务或影像服务使用,无需进行额外配置。您可以手工配置服务提供者使用 UGCV5瓦片。当然,如果您修改了切图时默认的存储路径,或进行了其他自定义的设置,您需要配置地图服务以使用已有的瓦片

此外,您可以将瓦片直接发布为地图服务,您还可以将切图得到的瓦片数据文件和切片集分发,进行离线分享。

注意:创建切图任务后,切图主节点默认会将切图数据工作空间(*.smwu、*.sxwu)所在文件夹下的全部数据推送给各个子节点。因此,请将切图数据与其他数据分别存放在不同目录下。

相关概念