什么是地图瓦片?
地图瓦片是包含了一系列比例尺、一定地图范围内的地图切片文件。地图瓦片按照金字塔结构组织,每张瓦片都可通过级别、行列号唯一标记。在平移、缩放地图时,浏览器根据金字塔规则,计算出所需的瓦片,从瓦片服务器获取并拼接。地图瓦片,是一种改善地图浏览用户体验的优化策略。
随着测绘技术的发展,地图数据的体量越来越大,一般情况下,电子地图生成地图瓦片(以下简称切图)少则需要几天,多则一个月乃至更长时间。如何才能高效地生成地图瓦片,是众多技术人员共同关心的问题。
多任务切图原理
多任务切图是将地图切图任务拆分成多个子任务,同时开启多个进程,每个进程自动领取并执行切图子任务。切图结果支持保存为本地瓦片,也支持保存到MongoDB数据库。
多任务切图支持在一台计算机上开启多个进程执行切图任务,也支持在多个计算机分别开启多个进程,获取子任务执行切图任务。
多任务切图的优势
相对单任务切图,多任务切图能够有效缩短生成地图瓦片的时间。切图过程中,如果有闲置机器资源,可以增加进程数;反之,如果机器资源紧张,则可以减少进程数,做到最大限度地、合理有效地利用计算机资源。
经过多次、反复的测试验证,对于单台机器,建议设置的切图任务个数在2~CPU个数×2的范围进行取值,可以显著提升切图效率。
测试场景说明:China矢量地图,切图比例尺1:18055,拆分得到100个子任务,共生成1638400张256*256像素的瓦片。
多任务切图功能,既支持单个机器上切图(单机多任务),也支持多个机器协同切图(多机多任务)。经过反复多次测试验证表明,输出时瓦片存储类型不同,瓦片的存储位置不同,要有效提高切图效率,适用的切图方式也是不同的。下表1中给出了一些推荐设置。
注:图3、表1中的测试结论,均基于SuperMap iDesktop 9D SP1。
SuperMap多任务切图要点
在SuperMap桌面软件中执行多任务切图时,需要注意以下几点:
1.数据源只读:多任务切图时每个切图任务会同时访问地图中图层所在的数据源,所以数据源需要设置为只读打开,并保存工作空间。
2.切图进程数目:根据计算机的CPU个数来设置多任务切图的进程数,推荐进程数在2~CPU个数×2的范围内。
3.多机切图:执行多机多任务切图,需要确保多台机器均能连接到Host主机,并进入共享目录。
4.共享目录:输出瓦片存储类型为原始或紧凑时,多机多任务切图需要在主机中设置一个共享目录,确保其他机器对该共享目录有读写权限,并且无密码。
SuperMap多任务切图实战
在SuperMap桌面软件中进行多任务切图的流程,如下图4所示,只需简单4步,即可完成多任务切图。注:图4流程中的进程1、进程2……进程N等多个进程执行切图任务,在计算机后台进行,无需人工参与。
我们通过对SuperMap数据产品包中的示例地图China进行单机多任务切图,来了解具体的切图步骤。
(1)新建切图任务
打开China地图,在地图选项卡制图分组中,单击多任务,在弹出的对话框中选择新建切图任务。
(2)设置切片基本参数
设置切图比例尺,块大小,瓦片名称,瓦片路径,瓦片存储类型,以及瓦片范围等基本参数。
China地图设置了标准的14级别的比例尺,在此例中,切图比例尺采用默认的地图比例尺,其他参数也使用默认值。
(3)设置多任务参数
根据上一步的参数设定,系统自动拆分完任务之后,会弹出多任务切图对话框,在对话框中,检查或设置工作空间路径、地图的名称,以及进程数等参数。
(4)执行生成
参数确认无误后,点击生成,系统后台自动执行切图任务。地图切图完成后,会弹出此次切图的用时统计,方便了解切图耗时。
SuperMap桌面产品及数据产品包下载,请点击:http://support.supermap.com.cn/DownloadCenter/ProductPlatform.aspx