一种矢量瓦片切片方法及装置制造方法及图纸

技术编号:13906353 阅读:397 留言:0更新日期:2016-10-26 11:29
本发明专利技术涉及一种切片方法及装置,属于地理信息领域,具体涉及一种矢量瓦片切片方法及装置。包括:根据单个瓦片数据的大小获取在空间上连续的M*N个瓦片数据;其中,M、N为整数;将获取的所有瓦片数据渲染成第一位图,将所述第一位图分割成与单个瓦片对应的M*N个第二位图,将所述第二位图保存为瓦片。因而,本发明专利技术能够通过批量获得矢量数据的方式从而有效的提高了瓦片的切片效率。

【技术实现步骤摘要】

本专利技术涉及一种切片方法及装置,属于地理信息领域,具体涉及一种矢量瓦片切片方法及装置
技术介绍
随着互联网技术和GIS技术的高速发展,基于互联网技术的瓦片地图得到了广泛的使用。地图通过瓦片的方式表现是现在WEBGIS中地图表现的主要方式。但随着矢量数据的大比例尺的数据日益增多,且数据的复杂度日益增强,配图效果的要求越来越高,矢量瓦片切片所需要时间越来越长。而随着矢量数据更新的频率逐步加强,对矢量切片的效率要求越来越高。矢量瓦片切片的流程如图1所示。在整个生产流程中,第1、3、5步的耗时较长,在整个切片过程中所占时间比达到90%以上。1、5涉及到IO,所以耗时较长;3涉及到渲染过程,所以耗时较长。现在常见的提升矢量瓦片切片生产效率的方法有:提升切片的计算机的性能,包括CPU,硬盘IO等;降低矢量数据的复杂度和数据量。但是,这些只是从外部提高效率的方法,并没有从本质上提升切片内部的效率。
技术实现思路
本专利技术主要是解决现有技术所存在的瓦片切片效率低的技术问题,提供了一种矢量瓦片切片方法及装置。本专利技术的上述技术问题主要是通过下述技术方案得以解决的:一种矢量瓦片切片方法,包括:根据单个瓦片数据的大小获取在空间上连续的M*N个瓦片数据;其中,M、N为整数;将获取的所有瓦片数据渲染成第一位图,将所述第一位图分割成与单个瓦片对应的M*N个第二位图,将所述第二位图保存为瓦片。优化的,上述的一种矢量瓦片切片方法,根据单个瓦片数据的大小获取在空间上连续的呈正方形状的M*N个瓦片数据,其中,M等于N。优化的,上述的一种矢量瓦片切片方法,根据单个瓦片数据的大小获取在空间上连续的呈正方形状的10*10个瓦片数据。优化的,上述的一种矢量瓦片切片方法,第一位图的获取包括以下步骤:步骤1,把获取的数据转换成屏幕坐标;步骤2,根据设置的符号,设置绘制引擎的画笔的颜色、宽度信息;步骤3,创建一张位图容器并放到绘制的位置,所述位图容器的长宽分别为单个瓦片数据对应位图的长宽与M、N的乘积,用绘制引擎把数据渲染到位图容器中以得到第一位图。一种矢量瓦片切片装置,包括:数据获取模块,用于根据单个瓦片数据的大小获取在空间上连续的M*N个瓦片数据;其中,M、N为整数;位图生成模块,用于将获取的所有瓦片数据渲染成第一位图,将所述第一位图分割成与单个瓦片对应的M*N个第二位图,瓦片保存模块,用于将所述第二位图保存为瓦片。优化的,上述的一种矢量瓦片切片装置,所述数据获取模块根据单个瓦片数据的大小获取在空间上连续的呈正方形状的M*N个瓦片数据,其中,M等于N。优化的,上述的一种矢量瓦片切片装置,所述数据获取模块根据单个瓦片数据的大小获取在空间上连续的呈正方形状的10*10个瓦片数据。优化的,上述的一种矢量瓦片切片装置,位图生成模块包括以下单元:坐标转换单元,用于将获取的数据转换成屏幕坐标;渲染设置单元,根据设置的符号,设置绘制引擎的画笔的颜色、宽度信息;位图渲染单元,创建一张位图容器并放到绘制的位置,所述位图容器的长宽分别为单个瓦片数据对应位图的长宽与M、N的乘积,用绘制引擎把数据渲染到位图容器中以得到第一位图。因此,本专利技术具有如下优点:通过批量获得矢量数据的方式从而有效的提高了瓦片的切片效率。原因在于在获得的数据总量相同的情况下,一次查询获得所有数据比分100次查询获得所有数据的效率高1个数量级以上。而获取矢量数据这个过程占在总流程的时间占比高达50%以上。所以提高该部分的效率,可以有效的提升整体的切片效率。附图说明附图1是现有技术中的瓦片切片流程原理图;附图2是瓦片切片时的数据获取示意图;附图3是将数据渲染成大位图的意图;附图4是将图3中位图切割成与单个瓦片对应位图的示意图;附图5是本专利技术实施例的流程图。具体实施方式下面通过实施例,并结合附图,对本专利技术的技术方案作进一步具体的说明。实施例:首先对本实施例的术语进行说明。本实施例的矢量数据是用X、Y坐标表示地图图形或地理实体的位置的数据,一般包括点、线、面数据。是GIS中最重要的信息之一。本实施例的瓦片地图金字塔模型是一种多分辨率层次模型,从瓦片金字塔的底层到顶层,分辨率越来越低,但表示的地理范围不变。本实施例的瓦片数据集是用来存储瓦片数据的数据集合,一般可以用大文件、数据库存储。本实施例的矢量切片是把矢量数据配置好符号后渲染成位图,并保存到瓦片数据集中的过程。如图1所示,现有技术中的瓦片切片流程的第一步中由于是根据瓦片的范围获得数据,在大比例尺下大部分单个矢量数据的实际数据范围都比瓦片大,造成矢量数据会多次获取,影响效率。当矢量数据多次获取就会多次渲染,影响效率。所以解决矢量数据多次获取的问题,就能够提升1、3流程的效率。而把获得数据的范围变大,这样就可以解决这两个流程中的效率问题。本实施例提供的解决方法是:一次获得10×10瓦片的范围的数据,并一次渲染到一张大位图中,然后把大位图再分割成10×10的位图保存成10×10的瓦片。在之前的流程中一次只拿到一个瓦片范围的数据,而现在一次获得10×10瓦片的数据。如图2所示,之前只能获得绿色瓦片的数据,而现在可以获得所有黑色瓦片中的所有数据,即之前需要获取100次的数据,现在一次获取到位。对于从数据存储获得数据来说,减少查询和交互的次数可以有效的提升效率。在这个过程中,能够提升一个数量级的效率。10×10的瓦片的范围是要求一次获得的数据在空间上是连续的,并且一个正方形的方式能够有效的减少单个对象被多次获取并渲染的几率。10×10是一个经验值,实际上可以根据机器的性能设置不同的值,比如20×20等。如果每张瓦片对应的位图大小是256×256像素,则渲染10×10的瓦片数据对应的位图是2560×2560像素大小。如图3所示。把数据渲染到一个瓦片的流程是:1.把获取的数据转换成屏幕坐标;2.根据设置的符号,设置绘制引擎的画笔的颜色、宽度等信息;3.创建一张256*256的位图,并放到绘制的位置;4.用绘制引擎把数据渲染到位图。整个渲染的过程和渲染一张瓦片的过程相同,只是这里渲染的数据量变大了100倍。这里一次绘制也会比绘制100次的效率高一些。把一张大位图分割成100张位图的过程中,主要关注分割过程中位图的连续性和正确性。每张瓦片的大小确保是256×256像素,瓦片的行列号要计算正确。如图4所示。在分割完成后,就可以把这100个瓦片批量入到数据集中,整体流程如图5所示。而第4步、第5步所用的时间和第一种方法第4步做100次的时间基本等同。而第1步和第3步节约的时间会提升一个数量级。该方案可以有效的提升矢量瓦片切片的效率。经过测试验证该方案对于相同的数据相同环境下,矢量切片的效率提升了2-3倍。本专利技术通过批量获得矢量数据的方式可以有效的提高效率。这是因为对于数据存储来说,在获得的数据总量相同的情况下,一次查询获得所有数据,比分100次查询获得所有数据的效率高1个数量级以上。而获取矢量数据这个过程占在总流程的时间占比高达50%以上。所以提高该部分的效率,可以有效的提升整体的切片效率。本文中所描述的具体实施例仅仅是对本专利技术精神作举例说明。本专利技术所属
的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本专利技术的精神或者超本文档来自技高网
...

【技术保护点】
一种矢量瓦片切片方法,其特征在于,包括:根据单个瓦片数据的大小获取在空间上连续的M*N个瓦片数据;其中,M、N为整数;将获取的所有瓦片数据渲染成第一位图,将所述第一位图分割成与单个瓦片对应的M*N个第二位图,将所述第二位图保存为瓦片。

【技术特征摘要】
1.一种矢量瓦片切片方法,其特征在于,包括:根据单个瓦片数据的大小获取在空间上连续的M*N个瓦片数据;其中,M、N为整数;将获取的所有瓦片数据渲染成第一位图,将所述第一位图分割成与单个瓦片对应的M*N个第二位图,将所述第二位图保存为瓦片。2.根据权利要求1所述的一种矢量瓦片切片方法,其特征在于,根据单个瓦片数据的大小获取在空间上连续的呈正方形状的M*N个瓦片数据,其中,M等于N。3.根据权利要求1所述的一种矢量瓦片切片方法,其特征在于,根据单个瓦片数据的大小获取在空间上连续的呈正方形状的10*10个瓦片数据。4.根据权利要求1所述的一种矢量瓦片切片方法,其特征在于,第一位图的获取包括以下步骤:步骤1,把获取的数据转换成屏幕坐标;步骤2,根据设置的符号,设置绘制引擎的画笔的颜色、宽度信息;步骤3,创建一张位图容器并放到绘制的位置,所述位图容器的长宽分别为单个瓦片数据对应位图的长宽与M、N的乘积,用绘制引擎把数据渲染到位图容器中以得到第一位图。5.一种矢量瓦片切片装置,其特征在于,包括:数据获取...

【专利技术属性】
技术研发人员:龙燕军贺楷锴刘奕夫黄俊韬朱伟奇程方池晶王建光刘芬
申请(专利权)人:武大吉奥信息技术有限公司
类型:发明
国别省市:湖北;42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1