创建切图任务的服务器为切图主节点(TileMaster),其它集群子节点为切图子节点(TileWorker),所有切图环境和存储的准备、任务的创建和监控等操作,都在主节点上进行,子节点无需进行任何操作。切图任务创建后,待切图的数据会自动部署到子节点,如果主节点数据发生变更,则会自动同步到子节点。关于分布式切图的原理和内部通讯机制,请参考:分布式切图机制。
创建分布式切图任务并设置参数
访问切图主节点的服务管理器 WebManager,依次点击“集群”、“分布式切图”页面,点击“添加新的任务”,设置服务组件、地图、切片类型、缓存比例尺等相关参数。
通用设置
- 服务组件:服务组件列表中显示了服务器已经发布的所有的地图服务组件。
- 地图:当前服务组件中包含的所有地图。
- 切片类型:切片结果的类型,目前支持地图瓦片、矢量瓦片和属性瓦片三种。其中,地图瓦片默认对整个地图进行切图,切图结果为栅格格式的图片,矢量瓦片和属性瓦片对地图中指定的一个或多个矢量图层进行切图。
关于瓦片类型与格式的详细信息,请参考:瓦片格式。
- 存储类型:指定生成的瓦片的存储类型。详细介绍请参考:瓦片格式。
- 如果选择的瓦片类型为地图瓦片,支持的存储类型有 FastDFS 、MongoDB、OTS、SMTiles、MBTiles、UGCV5(原始格式)、GeoPackage
- 如果选择的瓦片类型为矢量瓦片,支持的存储类型为 SVTiles
- 如果选择的瓦片类型为属性瓦片,支持的存储类型为 UTFGrid
- 存储路径:指定缓存文件存储路径。当选择的存储类型为 SMTiles、UGCV5、UTFGrid
和 SVTiles 时,存储路径的默认值为当前产品包的默认输出路径(output),详细信息请参考:瓦片格式。
- 存储 ID:分布式存储位置的标识。当选择的存储类型为 FastDFS 和 MongoDB
时,需要选择已经创建的分布式切片库的 ID。如果还没有创建存储位置,请添加分布式切片库。
- 比例尺方案:用于协助确定切图的比例尺级别。可选择的比例尺方案有:
- Google Maps/Bing Maps,只支持 Web Mercator 坐标系(EPSG
Code:3857)的地图
- 天地图,只支持 WGS 1984(EPSG Code:4326)和 Web Mercator
坐标系(EPSG Code:3857)的地图,天地图默认使用了2~18级比例尺,您可以根据需求选择
- GeoPackage 比例尺,当存储类型为 GeoPackage 时,使用的比例尺方案。该比例尺方案包括0~20级可选的比例尺,第0级比例尺为:在一张瓦片(默认为256*256像素)中全幅显示当前地图坐标系的最大范围时的比例尺,其他级别的比例尺在此基础上依次按照2倍增大。该比例尺方案随地图的坐标系、瓦片大小而变化。
- 推荐比例尺,系统推荐的比例尺方案
- 自定义比例尺,您根据需求手动输入比例尺
其中,Google Maps/Bing Maps 比例尺方案与天地图比例尺方案中的具体比例尺为:
表1 比例尺级别
级别 |
比例尺 |
级别 |
比例尺 |
级别 |
比例尺 |
级别 |
比例尺 |
0 |
1/591658710.9091312 |
5 |
1/18489334.71591035 |
10 |
1/577791.7098721984 |
15 |
1/18055.9909335062 |
1 |
1/295829355.4545656 |
6 |
1/9244667.357955175 |
11 |
1/288895.8549360992 |
16 |
1/9027.9954667531 |
2 |
1/147914677.7272828 |
7 |
1/4622333.678977587 |
12 |
1/144447.9274680496 |
17 |
1/4513.99773337655 |
3 |
1/73957338.8636414 |
8 |
1/2311166.8394887936 |
13 |
1/72223.9637340248 |
18 |
1/2256.998866688275 |
4 |
1/36978669.4318207 |
9 |
1/1155583.4197443968 |
14 |
1/36111.9818670124 |
19 |
1/1128.4994333441375 |
- 缓存比例尺:列表框中为当前已选择的比例尺。您可以在文本框中输入比例尺分母,然后点击“添加比例尺分母”将其添加到比例尺列表中。如果选择了
Google 地图或 Bing 地图的比例尺、推荐比例尺方案,您可以通过比例尺区间选择合适的比例尺范围。当然,您也可以将不需要的比例尺从列表中移除。选择切图比例尺的推荐方法是:先确认客户端访问地图时需要使用的比例或其最接近值,然后设置多个切图比例尺,以便客户端在多个比例尺之间缩放时可以使用地图瓦片。
注意(除
UGCV5瓦片外):
- 如果当前地图没有设置固定比例尺,切图时添加比例尺会自动设置为地图的固定比例尺。
- 如果当前地图中设置了固定比例尺,切图时添加的是固定比例尺之外的比例尺,那么切图任务开启后会将切图的比例尺添加到地图的固定比例尺中,后续如果有针对同一地图的切图任务,则会再次追加切图比例尺到地图的固定比例尺中。
- 缓存范围:用于指定切图的地理范围,格式如:-180, -90, 180, 90。默认为地图全幅范围。
- 切图原点:计算瓦片行列号的起始坐标点,一般为缓存范围即切图范围的左上角。标准瓦片则根据标准中定义的原点而定。
- MBTiles 标准规定的默认原点为全球范围的左下角
- GeoPackage 标准规定的默认原点为:当前地图坐标系的最大范围的左上角,例如,地图的坐标系为
WGS1984时,原点默认为(-180.0,90.0)
- 切片大小:瓦片的大小,单位为像素,目前支持256*256、512*512。
注意:如果存储类型选择
GeoPackage 格式,切图比例尺会随瓦片大小自动更改。
- 是否使用云服务切图方案:即是否使用符合超图云服务标准的瓦片切分方案,要求切图的服务来源必须为
Web Mercator 坐标系(EPSG Code:3857)或 WGS 1984(EPSG Code:4326)的地图。勾选后,可以通过指定的矢量面数据设置切图的范围。
设置地图瓦片
- 图片格式:当切片类型为地图瓦片时,目前支持的瓦片格式包括
PNG、JPG、GIF、JPG_PNG混合格式。如果选择 PNG,且当前地图颜色值数小于等于256,SuperMap iServer
会自动将图片存为 PNG8 格式,以节约存储空间。当所切地图为影像地图时,如果需要透明、并控制图片大小,推荐选择JPG_PNG混合图片格式。
- 图片压缩比例:当图片格式为JPG、JPG_PNG混合格式时,可设置图片的压缩比例,设置范围为(0,1.0],默认为0.75。压缩比例越小,瓦片占用空间越小,从而节约存储空间。
- 背景透明:当切片类型为地图瓦片时,瓦片的背景是否透明。如果勾选,则生成的地图瓦片背景为透明;否则保留地图的原背景色。
- 是否开启数据预处理:如果选择是,则分布式切图服务会在切图任务开启后先对数据进行预处理,完成后再切图。默认会开启,且默认的行列数为50*50。数据预处理机制:
- 通过设置的行列数对数据进行划分格网,每个格网标记为有数据或无数据。
- 通过数据预处理,可以为切图任务预先标记出无数据的区域,切图时直接跳过该区域,从而提高切图效率。在数据不规则度较大和空白较多的时候,数据预处理的作用尤为突出。
- 数据预处理的结果会自动保存在配置文件中(【SuperMap iServer 安装目录】\webapps\iserver\WEB-INF\config\dataPreProcessResult\),每个地图的处理结果为一个与地图同名的文件。如果设置的行列数与已有处理结果相同,则自动重用已有结果,否则新的处理结果会自动覆盖以前保存的处理结果。如果想要删除某个地图的预处理结果,则直接删除与地图同名的配置文件即可。
- 是否启用自动避让:默认情况下,不开启自动避让,地图上的标签较密集时,压盖的标签会自动隐藏。开启自动避让以后,标签位置在一定范围内自动位移,可以使部分被压盖的标签显示出来,从而最大限度地保留地图上的标签。
- 是否对数据进行 md5校验:即在推送切图数据时,是否将切图节点的数据与主节点数据进行
md5方式的校验。如果不勾选进行 md5校验,则根据文件名称和大小来判断数据是否相同。相对文件名称和大小的比对方式,md5校验更加严谨和可靠,但是校验时间更长。
设置矢量瓦片
- 是否包含属性:设置矢量瓦片中是否携带属性字段。
- 抽稀容限:根据设置的容限值对矢量图层中的线和面要素进行抽稀。单位为像素,参数类型为整形数字,默认值为0。如果您设置了抽稀容限,切图时会根据道格拉斯-普克算法(Douglas-Peucker
Algorithm)合并容限范围内的坐标序列,减少几何对象的复杂程度。数据抽稀后会降低数据精度并减少数据量,请您根据数据的实际需求设置该参数。

如上图所示,道格拉斯-普克算法的基本思想是,对每一条曲线的首末点虚连一条直线(即图1中的线 a),求所有点与直线的距离,并找出最大距离值
dmax(即图1中的线 b),用 dmax 与容限 D 相比:
- 若 dmax<D,这条曲线上的中间点全部舍去;
- 若 dmax≥D,保留 dmax 对应的坐标点(即图1中点 c),并以该点为界,把曲线分为两部分,对这两部分重复使用该方法。
- 图层:选择生成矢量瓦片的矢量图层。如果当前地图中设置了最大、最小可见比例尺,那么请在满足条件的比例尺下选择图层。
- 扩充像素:向切片四周扩充若干像素后再裁剪地理要素,最小为2,默认值为要素宽度的一半,如点直径的一半、现宽度的一半或面边线宽度的一半。扩充像素可以避免地理要素在切片边沿产生重复边。
- 属性:设置矢量瓦片中携带的属性字段,默认是全部属性字段。
- 查询属性:设置矢量瓦片中支持关键字查询的属性字段。
设置属性瓦片
- UTFGrid 对应图层:选择生成属性瓦片的矢量图层。生成属性瓦片时,一个切图任务只支持针对一个矢量图层切图。
- UTFGrid 单元网格大小:属性瓦片中的每个单元格的大小,单位为像素,默认为4,常用取值为2的幂,如1、2、4、8。单元格网是瓦片中属性信息存储的基本单位,一个单元格网存储一条属性信息,也就是鼠标交互的最小单位。如果单元格网设置太大会影响地图的鼠标交互效果,因此推荐值为4。例如:瓦片大小为256*256像素,单元格网大小为4*4像素,则一个瓦片中有64*64个格网。
新增瓦片版本与追加瓦片
设置上述参数后,点击“创建切图任务”按钮,即可创建任务。
如果传入的上述参数所指定的存储位置中,已经有地图名、瓦片大小与是否透明均相同的地图瓦片,即单机文件名相同(如*.smtiles)或同一个切片库中切片集名相同,那么会有以下两种情况:
- 对于单机存储的瓦片,如 SMTiles、MBTiles、UGCV5、UTFGrid 和
SVTiles,创建切图任务后,系统会将瓦片追加到同名的瓦片文件中(如*.smtiles),并覆盖已有的同位置的瓦片,或追加原来地理范围或比例尺中没有的新瓦片。
- 对于分布式存储的瓦片,系统会提示:在切片库中“在切片库中该切片集已存在,您想要创建新版本还是在已有的版本中追加瓦片?”,您可以:
- 如果您需选择在已有的切片集中“创建新版本”的瓦片,则系统会根据您的切图设置,对该数据重新进行完整切图,
- 如果您选择在已有的版本中“追加瓦片”,则系统会根据您的切图设置,对新增地理范围、比例尺的数据切瓦片,并追加在已有的瓦片版本中。如果当前切图数据与已有瓦片版本相比有变更,则系统会自动更新变更的瓦片。
版本相关的详细介绍请参考:切片集的版本。
查看任务列表
在“分布式切图”页面,可以看到当前服务器上的所有正在执行和已完成的切图任务,并可查看每个任务的基本信息、进度信息等。
您可以可以停止正在执行的任务、启动或删除暂停的任务,可以点击任务中的地图名称查看更详细的任务信息、进度信息、各个比例尺和切图子节点的工作进度,可以重启任务使之重新切图。
对于已经完成的任务,您可以查看当前任务对应的地图名称、组件名称、任务开始时间、耗时、切片数量,以及切片类型和存储类型、存储位置等。
监控切图进程
在切图任务列表中,点击已创建的切图任务中的地图名称,可查看切图任务的状态信息。包括生成切片的存储信息、切图配置信息、切图任务总进度表(动态显示切图的速度、时间)、切图任务时间统计、生成的切片版本、生成的切片所占用的存储(已占用存储和预计需要占用的存储空间),还可以对切图任务执行“暂停”、“启动”、“重启任务”等管理操作,监控切图任务中各个
TileWorker 的工作状态。