创建切图任务的服务器为切图主节点(TileMaster),其它集群子节点为切图子节点(TileWorker),所有切图环境和存储的准备、任务的创建和监控等操作,都在主节点上进行,子节点无需进行任何操作。切图任务创建后,待切图的数据会自动部署到子节点,如果主节点数据发生变更,则会自动同步到子节点。关于分布式切图的原理和内部通讯机制,请参考:分布式切图机制。
创建分布式切图任务并设置参数
访问切图主节点的服务管理器 WebManager,依次点击导航栏中“集群”、“瓦片管理”进入瓦片管理主界面。点击“选择服务”,选择需要进行切图的地图或影像服务,返回瓦片管理主界面后点击图层后的“生成地图瓦片“按钮,并设置切片类型、缓存比例尺等相关参数。
通用设置
通用设置主要包括瓦片设置、存储设置和比例尺设置三部分。
瓦片设置:
- 瓦片类型:用于设置生成瓦片的类型,目前支持栅格瓦片、矢量瓦片和属性瓦片(已过时)三种。其中,栅格瓦片默认对整个地图进行切图,切图结果为栅格格式的图片,矢量瓦片和属性瓦片对地图中指定的一个或多个矢量图层进行切图。 关于瓦片类型与格式的详细信息,请参考:瓦片格式。
- 瓦片大小(像素):生成的每个瓦片的大小,单位为像素。支持的尺寸为256*256、512*512,默认为256*256。
- 瓦片范围:用于设置生成瓦片的地理范围,格式如:-180, -90, 180, 90。默认为地图全幅范围。
- 瓦片原点:计算瓦片行列号的起始坐标点,默认为切图范围的左上角。标准瓦片则根据标准中定义的原点而定:
- MBTiles 标准规定的默认原点为全球范围的左下角
- GeoPackage 标准规定的默认原点为:当前地图坐标系的最大范围的左上角,例如,地图的坐标系为 WGS1984时,原点默认为(-180.0,90.0)
- 分辨率(DPI):瓦片的分辨率,单位为像素,默认为96。
注意:如果存储类型选择 GeoPackage 格式,切图比例尺会随瓦片大小自动更改。
存储设置:
- 存储类型:指定生成的瓦片的存储类型。详细介绍请参考:瓦片格式。
- 如果选择的瓦片类型为栅格瓦片,支持的存储类型有 FastDFS(已过时) 、MongoDB、OTS(已过时)、SMTiles、MBTiles、UGCV5、GeoPackage。请注意,影像服务切图仅支持 UGCV5 和 MongoDB 两种存储类型。
- 如果选择的瓦片类型为矢量瓦片,支持的存储类型为 SVTiles
- 如果选择的瓦片类型为属性瓦片(已过时),支持的存储类型为 UTFGrid
- 存储路径:生成瓦片的存储路径。当选择的存储类型为 SMTiles、UGCV5、UTFGrid(已过时)、MBTiles、GeoPackage 和 SVTiles 时,存储路径的默认值为当前产品包的默认输出路径(output),详细信息请参考:瓦片格式。
注意:当选择的存储类型为 SMTiles 时,不能存储到挂载的共享目录中。
当选择的存储类型为 UGCV5 时,您还可以将缓存文件存储至 S3 对象存储服务中。此时,存储路径需填写为 {Endpoint}/{bucket名}/{指定文件路径}/?accessKey={Access Key ID}&secretKey={Secret Access Key},例如:http://oss-cb-beijing.aliyuncs.com/iServer/test/?accessKey={Access Key ID}&secretKey={Secret Access Key}
其中,
- Endpoint: 终端节点即对象存储服务在不同区域的区域域名,用于处理各自区域的访问请求。如 http(s)://obs.cn-north-4.myhuaweicloud.com
- bucket名:您所创建的存储桶的名称
- 指定文件路径:即在您的存储桶内用于保存瓦片的文件路径
- Access Key ID:访问密钥 ID。与私有访问密钥关联的唯一标识符
- Secret Access Key:与访问密钥 ID 结合使用的私有访问密钥
- 存储 ID:分布式存储位置的标识。当选择的存储类型为 FastDFS(已过时) 和 MongoDB 时,需要选择已经创建的分布式切片库的 ID。如果还没有创建存储位置,请添加分布式切片库。
- 存储格式:当存储类型为 UGCV5 时,参数可用。UGCV5瓦片格式包括原始型和紧凑型。当瓦片储存类型为原始型,切片文件以单独的图片文件格式存放在磁盘上,不对数据进行压缩,能够直接读取。地图瓦片数据直观地表现为多个文件夹下的原始图片。紧凑型瓦片会对原始的切片文件采用一定的压缩和加密机制,包括两个部分:索引文件(*.sci)、瓦片数据。其中瓦片数据在结构上采用一组文件替代原始的图片格式,不同比例尺文件夹下的瓦片数据将存储为一组文件(*.cf)。与原始型相比,紧凑型存储方式具有以下优势:减少文件数量,有利于大量的瓦片数据的传输与拷贝;缩短缓存创建的时间耗费;数据支持加密。请注意, iServer 仅支持将原始型 UGCV5 格式的瓦片文件存储至 S3 对象存储服务中。
- 瓦片名称:当存储类型为 UGCV5 时,您还可以设置生成的瓦片名称,对应存储瓦片的文件夹名,默认与地图名一致。当勾选“配置到此地图服务”时,不可修改且与地图名一致。
比例尺设置:
- 比例尺设置:用于设置瓦片比例尺的方式。可选择的比例尺方案有:
- SuperMap Cloud/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倍增大。该比例尺方案随地图的坐标系、瓦片大小而变化。
- 全球比例尺,全球比例尺有0~25层级,不支持添加、删除固定比例尺层级
- 自定义比例尺,您根据需求手动输入比例尺
其中,SuperMap Cloud/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 |
- 瓦片比例尺:用于生成瓦片的比例尺层级。您可以选中比例尺列表中的某一比例尺层级,点击其后的编辑按钮并在文本框中输入比例尺分母,然后点击“√”按钮确认编辑。也可以点击按钮选择“添加比例尺”追加比例尺列表中的比例尺层级,或选择“默认比例尺”还原比例尺设置。还可以通过点击比例尺层级选中指定比例尺或全选、反选所有比例尺,并点击“删除”按钮来删除指定比例尺层级。选择切图比例尺的推荐方法是:先确认客户端访问地图时需要使用的比例或其最接近值,然后设置多个切图比例尺,以便客户端在多个比例尺之间缩放时可以使用地图瓦片。
设置栅格瓦片
- 瓦片格式:当瓦片类型为栅格瓦片时,目前支持的瓦片格式包括 WebP(默认)、 PNG、PNG8、JPG、JPG_PNG 混合格式。如果选择 PNG,且当前地图颜色值数小于等于256,SuperMap iServer 会自动将图片存为 PNG8 格式,以节约存储空间。当所切地图为影像地图时,如果需要透明、并控制图片大小,推荐选择 JPG_PNG 混合图片格式。(注:在切图时,栅格、影像数据建议使用 WebP 格式,矢量数据建议使用 PNG 格式。)
- 瓦片压缩比例:当图片格式为 JPG、JPG_PNG 混合格式时,可设置图片的压缩比例,设置范围为(0,1.0],默认为0.75。压缩比例越小,瓦片占用空间越小,从而节约存储空间。
- 背景透明:当瓦片类型为栅格瓦片时,瓦片的背景是否透明。如果勾选,则生成的地图瓦片背景为透明;否则保留地图的原背景色。当选择 WEBP、PNG、JPG_PNG 时,背景透明默认为:是。
- 配置到此地图服务:仅支持切图来源为 iServer 发布的地图服务,默认不勾选。如果勾选此项,则瓦片存储路径将变更为“全局设置”中设置的“缓存图片的输出路径”且不可更改。该地图服务开启地图缓存后将使用该目录下的地图瓦片。
- 开启数据预处理:默认勾选。如果勾选此项,则分布式切图服务会在切图任务开启后先对数据进行预处理,完成后再切图。默认的行列数为50*50,可在“数据预处理配置”中设置。影像服务不支持该参数。数据预处理机制:
- 通过设置的行列数对数据进行划分格网,每个格网标记为有数据或无数据。
- 通过数据预处理,可以为切图任务预先标记出无数据的区域,切图时直接跳过该区域,从而提高切图效率。在数据不规则度较大和空白较多的时候,数据预处理的作用尤为突出。
- 数据预处理的结果会自动保存在配置文件中(【SuperMap iServer 安装目录】\webapps\iserver\WEB-INF\config\dataPreProcessResult\),每个地图的处理结果为一个与地图同名的文件。如果设置的行列数与已有处理结果相同,则自动重用已有结果,否则新的处理结果会自动覆盖以前保存的处理结果。如果想要删除某个地图的预处理结果,则直接删除与地图同名的配置文件即可。
- 对数据进行 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 的工作状态。