【导语】

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

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

  1. 【iDesktop】多机多任务切图实现步骤

    文章目录 前言 一.新建共享文件夹 二.新建切图任务 三.参与切图任务机器加入切图 前言   随着技术的进步,地图数据量已经迈进海量数据的时代,而单机切图的效率实在不能满足需求.例如,在普通的工作机上 ...

  2. ue4 android 地图瓦片,Bitmap2material 3贴图快速生成软件

    Bitmap2material 3是一款功能强大的纹理贴图生成软件,通过该软件用户可以从位图中生成完整.高质量的.无缝的瓦片状材质(如法线.高度.高光等),且生成材料可以直接应用于3D Max.Uni ...

  3. GIS地图瓦片、坐标转换基本概念

    什么是地图瓦片? 地图瓦片是包含了一系列比例尺.一定地图范围内的地图切片文件.地图瓦片按照金字塔结构组织,每张瓦片都可通过级别.行列号唯一标记.在平移.缩放地图时,浏览器根据金字塔规则,计算出所需的瓦 ...

  4. Java自动生成地图_多任务生成地图瓦片

    传统的地图瓦片是在单任务(单进程)中执行的,而随着技术的进步,地图数据的数据量已经迈进海量数据的时代,电子地图生成地图瓦片(以下简称切图)都会耗费很长的时间.例如,在普通的工作机上,对中国范围.几十个 ...

  5. 百度、高德、腾讯、天地图、谷歌、必应地图切片切图工具 MapCutter(旧名MapTiler),支持超大图、高清切片、webgl、leaflet、maptalk、openlayers、cesium等

    # MapCutter 地图覆盖图瓦片地图(金字塔图)切图工具,支持百度.腾讯.高德.天地图.谷歌.必应地图等,是市面上最易使用的同类软件.. 百度.高德.腾讯.天地图.谷歌.必应等自定义地图/图片叠 ...

  6. 百度地图切图工具下载和百度地图切图工具使用方法

    百度地图切图很麻烦,虽然百度地图提供了api,百度地图API当前默认支持两种地图类型<map type>:普通图和三维图,如果您想自定义地图,那么这个时候就必须切图了...下今天小编给大家 ...

  7. SuperMap GIS基础软件地图瓦片问题QA

     目录 一.地图瓦片存储.原理.结构介 1.1 不同存储类型对比 1.2 不同存储结构的存储示意图 2.1 目录结构说明 二.生成瓦片流程详解 1.海量影像瓦片 2.矢量瓦片 三.项目案例分享 1.X ...

  8. 地图瓦片相关学习总结

    瓦片地图 瓦片地图金字塔模型是一种多分辨率层次模型,从瓦片金字塔的底层到顶层,分辨率越来越低,但表示 的地理范围不变. 中文名 瓦片地图 模    型层次模型 软    件ArcGIS软件 发     ...

  9. 涨姿势!摹客切图小技巧

    设计师在将设计稿交付给前端工程师之前必定会用到切图功能,但有时生成的切图却不符合前端的要求,怎么办呢? 今天就给大家分享关于切图的一些小技巧.切图往往存在两种形式:素材填满整个切图或者素材周围带空白区 ...

  10. 利用MapTiler工具进行地图瓦片切图,适合用于在h5中显示手绘地图场景

    1.利用工具下载卫星图层,我用的是"BIGEMAP地图下载器",官网地址:http://www.bigemap.com/ 选择好要切图的区域,记录下经纬度范围并选择导出的等级. 完 ...

最新文章

  1. 什么是回归分析(regression analysis)?有哪些类型的回归分析(regression analysis)?
  2. char str[]与char *str的区别
  3. Java高并发编程(九):Java中原子操作类
  4. Word2Vec中文语料实战
  5. java json注解_返回json用什么注解
  6. GeoServer地图开发解决方案(四):发布Web地图服务(WMS)篇
  7. java反射作用与意义
  8. PHP上传的文件权限不足,上传文件的PHP脚本不工作的问题(目录权限问题)php-fpm+nginx...
  9. 蓝桥杯 java 组素数_第四届蓝桥杯javaC组_组素数
  10. php 开源留言系统,PHP开源多功能留言板(SyGuestBook)
  11. vivado中fifo ipcore的empty和dout输出特征
  12. 【论】PISCES: A Programmable, Protocol-Independent Software Switch
  13. MySQL Workbench建表时的PK,NN,UQ,B,UN,ZF,AI,G
  14. Scroller类及scroll相关方法总结
  15. 仿真器和模拟器的区别
  16. 隐形窗口_建立网站时要考虑的隐形(但至关重要)注意事项
  17. 计算机增加一个硬盘怎么设置方法,电脑加硬盘【操作教程】
  18. 【新东郊商城】周年店庆 关注微信,转发微博抽奖品!玩赚乐不停
  19. 【Codeforces Round #420 (Div. 2) B】Okabe and Banana Trees
  20. R语言绘制等值线和等高线

热门文章

  1. 机器人论文(1)-下肢外骨骼的平衡与稳定性问题:系统综述
  2. 三人行新解:前辈、平辈和后辈
  3. 网易,这次你让粉丝们失望了
  4. 窗口函数preceding和following字段
  5. u8、u16、u32、s8、s16、s32、Size_t是什么类型?
  6. Ubuntu18.04搭建源码搜索引擎Opengrok
  7. 微信账号和系统账号绑定
  8. Python自动化办公:27行代码实现将多个Excel表格内容批量汇总合并到一个表格
  9. python高级变量类型
  10. 292 炮兵阵地(状态压缩dp)