什么是地图瓦片?

地图瓦片是包含了一系列比例尺、一定地图范围内的地图切片文件。地图瓦片按照金字塔结构组织,每张瓦片都可通过级别、行列号唯一标记。在平移、缩放地图时,浏览器根据金字塔规则,计算出所需的瓦片,从瓦片服务器获取并拼接。地图瓦片,是一种改善地图浏览用户体验的优化策略。

随着测绘技术的发展,地图数据的体量越来越大,一般情况下,电子地图生成地图瓦片(以下简称切图)少则需要几天,多则一个月乃至更长时间。如何才能高效地生成地图瓦片,是众多技术人员共同关心的问题。

多任务切图原理

多任务切图是将地图切图任务拆分成多个子任务,同时开启多个进程,每个进程自动领取并执行切图子任务。切图结果支持保存为本地瓦片,也支持保存到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)设置多任务参数

根据上一步的参数设定,系统自动拆分完任务之后,会弹出多任务切图对话框,在对话框中,检查或设置工作空间路径、地图的名称,以及进程数等参数。

根据切图计算机的配置,设置进程参数为6并应用。

(4)执行生成

参数确认无误后,点击生成,系统后台自动执行切图任务。地图切图完成后,会弹出此次切图的用时统计,方便了解切图耗时。

SuperMap桌面产品及数据产品包下载,请点击:http://support.supermap.com.cn/DownloadCenter/ProductPlatform.aspx

五分钟学GIS | 快速生成地图瓦片秘籍的更多相关文章

  1. 五分钟学Java:如何才能学好Java Web里这么多的技术

    原创声明 本文作者:黄小斜 转载请务必在文章开头注明出处和作者. 系列文章介绍 本文是<五分钟学Java>系列文章的一篇 本系列文章主要围绕Java程序员必须掌握的核心技能,结合我个人三年 ...

  2. 五分钟学Java:如何学习Java面试必考的JVM虚拟机

    原创声明 本文首发于微信公众号[程序员黄小斜] 本文作者:黄小斜 转载请务必在文章开头注明出处和作者. 本文思维导图 为什么要学习JVM虚拟机 最近的你有没有参加Java面试呢?你有没有发现,Java ...

  3. 只需五分钟-用Maven快速搭建Spring Cloud微服务

    Maven安装手册 1.准备安装包 安装包: apache-maven-3.5.4-bin.zip  (最好JDK 1.7及以上版本) 集成包: eclipse-maven3-plugin.zip 2 ...

  4. 五分钟用Docker快速搭建Go开发环境

    挺早以前在我写过一篇用 `Docker`搭建LNMP开发环境的文章:[用Docker搭建Laravel开发环境](http://mp.weixin.qq.com/s?__biz=MzUzNTY5MzU ...

  5. 五分钟学Java:如何学习Java面试必考的网络编程

    原创声明 本文作者:黄小斜 转载请务必在文章开头注明出处和作者. 本文思维导图 简介 Java作为一门后端语言,对于网络编程的支持是必不可少的,但是,作为一个经常CRUD的Java工程师,很多时候都不 ...

  6. 五分钟学后端技术:如何学习Redis、memcache等常用缓存技术

    原创声明 本文作者:黄小斜 转载请务必在文章开头注明出处和作者. 本文思维导图 什么是缓存 计算机中的缓存 做后端开发的同学,想必对缓存都不会陌生了,平时我们可能会使用Redis,MemCache这类 ...

  7. 五分钟学Java:可变参数究竟是怎么一回事?

    在逛 programcreek 的时候,我发现了一些专注基础但不容忽视的主题.比如说:Java 的可变参数究竟是怎么一回事?像这类灵魂拷问的主题,非常值得深入地研究一下. 我以前很不重视基础,觉得不就 ...

  8. 五分钟学Java:打印Java数组最优雅的方式是什么?

    在逛 Stack Overflow 的时候,发现了一些访问量像‎安第斯山一样高的问题,比如说这个:打印 Java 数组最优雅的方式是什么?访问量足足有 220W+,想不到啊,这么简单的问题竟然有这么多 ...

  9. 五分钟学Java:一篇文章搞懂spring和springMVC

    原创声明 本文作者:黄小斜 转载请务必在文章开头注明出处和作者. 本文思维导图 什么是Spring,为什么你要学习spring? 你第一次接触spring框架是在什么时候?相信很多人和我一样,第一次了 ...

随机推荐

  1. 51.Lowest Common Ancestor of a Binary Tree(二叉树的最小公共祖先)

    Level:   Medium 题目描述: Given a binary tree, find the lowest common ancestor (LCA) of two given nodes ...

  2. C#获取文件夹/文件的大小以及占用空间 转摘自:http://www.cnblogs.com/chenpeng-dota/articles/2176470.html

    C#获取文件夹/文件的大小以及占用空间 今天,头给了个任务:写个方法,我会给你个路径,计算这个路径所占用的磁盘空间 . 然后,找了很多资料.但大部分都是获取文件夹/文件的大小的.对于占用空间的没有成品 ...

  3. LeetCode Linked List Easy 83. Remove Duplicates from Sorted List

    Description Given a sorted linked list, delete all duplicates such that each element appear only onc ...

  4. 2018-8-10-win10-uwp-横向-AppBarButton

    title author date CreateTime categories win10 uwp 横向 AppBarButton lindexi 2018-08-10 19:16:50 +0800 ...

  5. 利用Stream模式进行文件拷贝

    const fs = require('fs'); const file = fs.createReadStream("readfile.js"); const outputFil ...

  6. oldlinux

    http://oldlinux.org/Linux.old/ http://oldlinux.org/Book-Lite/

  7. Halo(五)

    ApplicationPreparedEvent 监听事件 Event published once the application context has been refreshed but be ...

  8. shell正则匹配IP地址

    IP分成5大类: A类地址 ⑴ 第1字节为网络地址,其它3个字节为主机地址. ⑵ 范围:1.0.0.1—126.155.255.254 ⑶ 私有地址和保留地址: ① 10.X.X.X是私有地址(只能在 ...

  9. vue+express+mysql +node项目搭建

    项目搭建前需要先安装node环境及mysql数据库. 1.利用vue-cli脚手架创建一个vue项目 a.全局安装 npm install -g vue-cli b.初始化项目 vue init we ...

  10. 97、PageRank算法学习

    最近由于.......你懂得,需要一些搜索方面的知识,于是乎我重新复习了一下上半年读的那本书<数学之美>Dr吴军老师写的. 感觉读完这种书还是写一下比较好,因为将来说不定就会忘记了. 接下 ...