快速生产地图瓦片解决方案:多任务切图

版权声明:本文为博主原创文章,欢迎转载,SuperMap技术问答社区 http://ask.supermap.com https://blog.csdn.net/supermapsupport/article/details/80883993

【导语】

       地图瓦片,是一种改善地图浏览用户体验的优化策略。目前流行的在线地图服务,例如天地图、百度地图等,对地图浏览速度和并发性要求都比较高,均采用使用地图瓦片技术的方式满足快速访问地图的需求。地图瓦片是包含了一系列比例尺、一定地图范围内的地图切片文件。地图瓦片按照金字塔结构组织,每张瓦片都可通过级别、行列号唯一标记。在平移、缩放地图时,浏览器根据金字塔规则,计算出所需的瓦片,从瓦片服务器获取并拼接。
       随着测绘技术的发展,地图数据的体量越来越大,更新越来越频繁,一般情况下,矢量电子地图生成地图瓦片少则需要几天,多则一个月乃至更长时间,远不能满足实际应用需求。如何才能快速地生成地图瓦片,是众多技术人员共同关心的问题。
       随着硬件技术的发展,高性能计算机逐渐普及,多任务并发处理,让高效率的数据生产成为可能。多任务生成地图瓦片,简称多任务切图,是SuperMap 9D桌面产品基于多任务并发技术,提出的一种快速生产地图瓦片的解决方案。

多任务切图原理

       多任务切图是将一个“巨大”的切图任务拆分成多个子任务,并开启多个切图进程,每个进程自动领取切图子任务并执行。瓦片成果支持保存到本地,也支持保存到MongoDB数据库。  
多任务切图支持在一台计算机上开启多个进程执行切图任务(即单机多任务),也支持在多个计算机分别开启多个进程执行切图任务(即多机多任务)。
这里写图片描述

多任务切图的优势

       稳定、快速
       相比传统的单任务切图,多任务切图最显著的优势就是切图更稳定、更快速。如下图2所示,同一份矢量地图数据,同时开启8个进程切图的效率是只有1个进程切图的4倍以上。
这里写图片描述
注:测试数据China矢量地图,比例尺1:18055,拆分得到100个子任务,共生成1638400张256*256像素的瓦片。使用软件:SuperMap iDesktop 9D SP1。
       自动拆分切图任务,拆分过程无需人工参与
       多任务切图在执行时,桌面产品会根据已设置的切图比例尺、进程数等参数,自动在后台拆分切图任务,拆分过程无需人工参与。桌面产品自动拆分切图任务时,会在磁盘生成一系列的、带有标识性名称的文件夹,用来存放切图产生的临时文件,为后续的瓦片检查做准备。
       动态调整进程数,合理利用计算机资源
       在多任务切图过程中,支持动态调整进程数:有闲置机器资源,可以再增加进程数;反之,如果机器资源紧张,则可以减少进程数,做到最大限度地、合理有效地利用计算机资源。
需要注意的是,在切图过程中,减少进程数,会中断当前的切图任务,根据新设定的进程数重新执行切图任务。
       地图瓦片生成进度随时掌握
       多任务切图时,每一级比例尺下的地图瓦片的生成进度都能随时掌握。桌面产品定时刷新每一级切图比例尺的进度,也支持手动刷新进度。
       跨平台,不仅Windows能用,Linux也能用
       SuperMap 9D桌面产品中的多任务切图基于SuperMap iObjects Java开发,由于iObjects Java的跨平台特性,所以多任务切图不仅能在Windows系统中执行,也能在Linux系统中执行。经过反复测试验证,在相同的数据、参数配置等前提下,多任务切图在Linux系统中的性能要优于Windows系统,并且两个系统下的瓦片效果一致。

多任务瓦片结果检查

       地图切图任务完成后,对瓦片进行结果检查,是必不可少的步骤。SuperMap 9D桌面产品中的瓦片结果检查,可以检查纯色瓦片、检查白线,并且可以补切错误瓦片,保存错误数据到数据源中。支持同时开启多个任务进行瓦片结果检查,提升地图瓦片结果检查的效率。
       经过桌面测试团队反复多次测试验证表明,输出时瓦片存储类型不同,瓦片存储位置不同,要有效提高切图效率,适用的切图方式也是不同的。下表1中给出了一些推荐设置。
这里写图片描述

多任务切图要点

       在SuperMap 9D桌面产品中执行多任务切图,需要注意以下几点:
       数据源只读:多任务切图时每个切图任务会同时访问地图中图层所在的数据源,所以数据源需要设置为只读打开,并保存工作空间。
       切图进程数:根据计算机的CPU个数来设置多任务切图的进程数,推荐进程数在2~CPU个数×2的范围内。
       多机切图:执行多机多任务切图,需要确保多台机器均能连接到Host主机,并进入共享目录。 
       共享目录:输出瓦片存储类型为原始或紧凑时,多机多任务切图需要在主机中设置一个共享目录,确保其他机器对该共享目录有读写权限,并且无密码。
       最后,再来一张简单的流程图,让我们一张图搞清楚使用SuperMap 9D桌面产品进行多任务切图的过程。注:图3流程中的进程1、进程2……进程N等多个进程执行切图任务,在计算机后台进行,无需人工参与。
这里写图片描述

猜你喜欢

转载自blog.csdn.net/supermapsupport/article/details/80883993