>作者:xinxin
一、 前言
在古代,地图主要用军事和水利勘测,随着科技的发展,现如今地图已应用于各行各业,融入到百姓的生活当中。目前,地图包含的内容越来越丰富,范围也越来越广,并且常用在WebGIS中,每次前端请求出图,都需要服务器出图,导致服务器压力大,出图慢等问题,而利用瓦片地图技术可以很好的解决这个问题。那什么是地图瓦片呢?地图瓦片是包含了一系列比例尺、一定地图范围内的地图切片文件。地图瓦片按照金字塔结构组织,每张瓦片都可通过级别、行列号唯一标记。在平移、缩放地图时,浏览器根据金字塔规则,计算出所需的瓦片,从瓦片服务器获取并拼接。地图瓦片,是一种改善地图浏览用户体验的优化策略。地图瓦片金字塔结构示意图如下:
如今,地图瓦片可以在BS、CS和移动端使用,且有很多GIS软件工具可以切地图缓存,下面将介绍在SuperMap
iDesktop产品中如果生成地图瓦片。
二、 切地图瓦片
在iDesktop中支持生成地图瓦片,若在执行切图过程中意外中断切图,可以进行续传瓦片;另外,在使用地图瓦片的过程中,如果地图服务数据发生变更,支持通过更新/追加功能更新地图服务中的变更的数据。为了使体量大的数据高效切地图瓦片,iDesktop不仅支持单任务生成地图瓦片,还是支持多任务生成地图瓦片。切地图瓦片的过程如下:
1、
配置地图
在切地图瓦片之前需要准备好地图数据,即可以在iDesktop中配置好地图并保存。
2、
单任务生成地图瓦片
是指在一台机器上只启动单个进程完成切图任务,适用于数据量较小的切图情况,具体操作步骤如下:
(1)
新建切图任务
在工作空间管理器中选择需要生成地图瓦片的地图,右键鼠标,在右键菜单中选择“生成地图瓦片(单任务)”项。弹出“生成地图瓦片(单任务)”对话框。可选择三种单任务切图方式:新建切图任务、更新/追加瓦片、续传/恢复瓦片。此处选择“新建切图任务”项。
(2)
设置切图参数
在“单任务:生成地图瓦片”对话框中设置生成瓦片的比例尺、名称、存储类型、瓦片范围、索引范围等参数。如下图所示:
支持用户导入已有的地图瓦片配置文件(*.sci)。
(3)
切图范围设置
步骤(2)中的参数设置完后,点击下一步,对瓦片处理的地理范围进行设置,提供四种设置方式:整幅地图、当前窗口、完全填充瓦片和过滤选择对象所在图层。
(4)
索引范围
索引范围是地图瓦片切分规则的依据。当索引范围确定时,瓦片的切分规则即可以确定。具有相同索引范围的地图瓦片可以进行合并。
(5)
最后点确定即可。
3、
多任务生成地图瓦片
在一些项目中,地图中用到的数据非常大,如果用单任务切图的话耗时需要几天,甚至更久,这时多任务切图技术就能解决这个问题。多任务切图是将地图切图任务拆分成多个子任务,同时开启多个进程,每个进程自动领取并执行切图子任务。切图结果支持保存为本地瓦片,也支持保存到MongoDB数据库。
(1)切图原理
多任务切图支持在一台计算机上开启多个进程执行切图任务,也支持在多个计算机分别开启多个进程,获取子任务执行切图任务。多机多任务切图原理图如下:
(2)切图流程
多任务切图的流程,可简单的分为4步:新建切图任务;设置瓦片参数;设置多任务参数;执行多进程切图。流程图如下:
(3)切图过程
多任务切图分单机多任务和多机多任务切图,具体的操作步骤可以参考:
多任务切图
注:根据计算机的CPU个数来设置多任务切图的进程数,推荐进程数在2到CPU个数×2的范围内。
三、 结语
在地图的使用过程中,地图瓦片能很大的提升地图性能,而在地图的数据量大时,多机多线程切瓦片对于项目的进程也很重要。
网友评论