基于地图金字塔模型的矢量瓦片轻量化重采样方法技术

技术编号:37357401 阅读:19 留言:0更新日期:2023-04-27 07:07
本发明专利技术公开了一种基于地图金字塔模型的矢量瓦片轻量化重采样方法,包括以下步骤:S1、根据矢量瓦片所在的层级编号以及重采样倍率,计算重采样精度;S2、根据重采样精度对与矢量瓦片范围相交的记录进行重采样;S3、将重采样后的数据生成矢量瓦片文件。本发明专利技术采用与矢量瓦片层级相关的动态重采样精度,对矢量瓦片范围内的空间记录进行重采样并对重采样结果的图形进行抽稀处理,以过滤掉在该层级用眼睛无法分辨的记录,以达到在不影响视觉效果的基础上对矢量瓦片进行轻量化处理,能够提高矢量瓦片生成、传输、绘制的效率,提升使用体验。提升使用体验。提升使用体验。

【技术实现步骤摘要】
基于地图金字塔模型的矢量瓦片轻量化重采样方法


[0001]本专利技术属于地理信息系统
,特别涉及一种基于地图金字塔模型的矢量瓦片轻量化重采样方法。

技术介绍

[0002]现阶段,电子地图瓦片主要使用两种方式,一种是传统的栅格瓦片,另外一种是近几年推出的矢量瓦片(Vector Tiles),前者是采用四叉树金字塔模型的分级方式,将地图切割成无数大小相等的矩形栅格图片,由这些矩形栅格图片按照一定规则拼接成不同层级的地图显示。金字塔模型如图1所示。
[0003]矢量瓦片类似栅格瓦片,是将矢量数据用多层次模型分割成矢量要素描述文件存储在服务器端,再到客户端根据指定样式进行渲染绘制地图,在单个矢量瓦片上存储着投影于一个矩形区域内的几何信息和属性信息。当客户端通过分布式网络获取矢量瓦片、地图标注字体、图标、样式文件等数据后,最终在客户端进行渲染输出地图。
[0004]虽然矢量瓦片也采用金字塔的方式进行存储数据,但是由于其默认网格数较高,以PBF为例,单个矢量瓦片的网格是4096*4096,所以在视网膜屏等设备上也显示地很清楚,而不会出现锯齿,同时这个网格数可以随时进行修改调整,以更精确的方式来记录几何位置信息从而适应不同屏幕的要求。
[0005]使用矢量瓦片地图来提供地图比栅格瓦片地图由更好的显示效果,互动性也强,实现二三维一体化,更新速度快,地图样式快速切换,占用空间少,无极缩放显示等特点。
[0006]当前的主流切片工具(如PostGIS、ArcGIS Pro,SuperMap,GeoServer等)在进行切片时会按照一定抽稀策略来对矢量数据的图形进行抽稀,以使其在金字塔不同层级能够在不影响视觉效果的情况下,对矢量数据的图形进行压缩,减小单个矢量瓦片的大小,更快速的传输和绘制。
[0007]当矢量数据的图形比较小且很密集的情况下,一个矢量瓦片范围内就会包含大量的矢量数据,虽然切片工具会对其图形进行抽稀,即便抽稀到极限(多边形图形保留3个点,线图形保留2个点,点图形不变),生成的矢量的体积也会很大,有时会达到几十兆的大小。而这些几何图形很小的数据绘制到地图上几乎是无法识别的(只占一个或几个平面像素),在矢量瓦片的生成、传输、绘制过程中消耗了大量的资源,反而降低了使用体验。

技术实现思路

[0008]本专利技术的目的在于克服现有技术的不足,提供一种基于地图金字塔模型的矢量瓦片轻量化重采样方法,本专利技术采用与矢量瓦片层级相关的动态重采样精度,对矢量瓦片范围内的空间记录进行重采样并对重采样结果的图形进行抽稀处理,以过滤掉在该层级用眼睛无法分辨的记录,以达到在不影响视觉效果的基础上对矢量瓦片进行轻量化处理,能够提高矢量瓦片生成、传输、绘制的效率,提升使用体验。
[0009]本专利技术的目的是通过以下技术方案来实现的:基于地图金字塔模型的矢量瓦片轻
量化重采样方法,包括以下步骤:
[0010]S1、根据矢量瓦片所在的层级编号以及重采样倍率,计算重采样精度;
[0011]S2、根据重采样精度对与矢量瓦片范围相交的记录进行重采样;
[0012]S3、将重采样后的数据生成矢量瓦片文件。
[0013]所述步骤S1具体实现方法为:预设矢量瓦片的显示像素大小为256
×
256,z地图层级的像素地图边长计算公式为:
[0014][0015]其中,pixelWidth为一个像素的地图边长,单位为米;R为地球半径,取值6378137米;z为层级编号;
[0016]对于点、线、面的几何类型分别采用不同的重采样精度,计算方式分别为:
[0017](1)点的重采样精度为将矢量瓦片范围划分等分格网单边格网的数量,计算公式为:
[0018]cellCnt=2
(9

t)
[0019]其中,t为点的重采样的倍率,取值范围为[1,9];
[0020](2)线的重采样精度为最短的线长,单位为米,计算公式为:
[0021]minLength=t
×
pixelWidth
[0022]其中,t为线的重采样的倍率,取值范围为大于或等于2;
[0023](3)面的重采样精度为最小面的面积,单位为平方米,计算公式为:
[0024]minArea=t
×
pixelWidth2[0025]其中,t为面的重采样的倍率,取值范围为大于或等于2。
[0026]所述步骤S2具体实现方法为:
[0027]S21、计算矢量瓦片的平面范围:分别计算矢量瓦片的球面经纬度范围:
[0028]ln
g
Min=(2
(1

z)
XX

1)X180
[0029]lngMaX=[2
(1

z)
×
(x+1)

1]X180
[0030][0031][0032]其中,x为矢量瓦片的列编号,y为矢量瓦片的行编号;lngMin、lngMax、latMin、latMax分别为矢量瓦片的经度最小值,经度最大值,纬度最小值,纬度最大值;由lngMin、lngMax、latMin、latMax围成的区域即为矢量瓦片的球面范围;
[0033]将球面坐标转换为平面坐标,得到矢量瓦片的平面范围:
[0034][0035][0036]其中,x、y为平面坐标;lng、lat为经度和纬度;
[0037]S22、分别进行点、线、面的重采样;
[0038]点的重采样策略为:将矢量瓦片的平面范围划分为等分的格网,对格网内的数据进行抽稀处理作为最终的结果;
[0039]线的重采样策略为:将采样精度作为查询条件,查询长度大于或等于该值的线记录,对查询到的记录的图形用矢量瓦片的范围进行裁剪,保留矢量瓦片范围内的部分,然后对保留的线图形进行抽稀作为最终的结果;
[0040]面的重采样策略为:将采样精度作为查询条件,查询面积大于等于该值的面记录,对查询到的记录的图形用矢量瓦片的范围进行裁剪,保留矢量瓦片范围内的部分,然后对保留的面图形进行抽稀作为最终的结果。
[0041]所述步骤S22中点的重采样策略的抽稀处理具体方法为:首先按照重采样精度将矢量瓦片范围划分为cellCnt
×
cellCnt数量的格网;然后将点按所在的格网进行分组,最后对在同一个格网内的所有点的坐标取平均值作为最终的点坐标,将第一条记录的属性作为点的属性;
[0042]格网的点位坐标计算公式为:
[0043][0044][0045]其中,x、y为最终的点位坐标;n为格网内的点总数;x
i
、y
i
为第i个点的坐标。
[0046]所述步骤S22中线的重采样策略的抽稀处理具体方法为:采用道格拉斯—普克算法,具体步骤如下:
[0047]a、对每一条折线的首末本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于地图金字塔模型的矢量瓦片轻量化重采样方法,其特征在于,包括以下步骤:S1、根据矢量瓦片所在的层级编号以及重采样倍率,计算重采样精度;S2、根据重采样精度对与矢量瓦片范围相交的记录进行重采样;S3、将重采样后的数据生成矢量瓦片文件。2.根据权利要求1所述的基于地图金字塔模型的矢量瓦片轻量化重采样方法,其特征在于,所述步骤S1具体实现方法为:预设矢量瓦片的显示像素大小为256
×
256,z地图层级的像素地图边长计算公式为:其中,pixelWidth为一个像素的地图边长,单位为米;R为地球半径,取值6378137米;z为层级编号;对于点、线、面的几何类型分别采用不同的重采样精度,计算方式分别为:(1)点的重采样精度为将矢量瓦片范围划分等分格网单边格网的数量,计算公式为:cellCnt=2
(9

t)
其中,t为点的重采样的倍率,取值范围为[1,9];(2)线的重采样精度为最短的线长,单位为米,计算公式为:minLength=t
×
pixelWidth其中,t为线的重采样的倍率,取值范围为大于或等于2;(3)面的重采样精度为最小面的面积,单位为平方米,计算公式为:minArea=t
×
pixelWidth2其中,t为面的重采样的倍率,取值范围为大于或等于2。3.根据权利要求1所述的基于地图金字塔模型的矢量瓦片轻量化重采样方法,其特征在于,所述步骤S2具体实现方法为:S21、计算矢量瓦片的平面范围:分别计算矢量瓦片的球面经纬度范围:ln
g
Min=(2
(1

z)
×
x

1)
×
180lngMax=[2
(1

z)
×
(x+1)

1]
×
180180其中,x为矢量瓦片的列编号,y为矢量瓦片的行编号;lngMin、lngMax、latMin、latMax分别为矢量瓦片的经度最小值,经度最大值,纬度最小值,纬度最大值;由lngMin、lngMax、latMin、latMax围成的区域即为矢量瓦片的球面范围;将球面坐标转换为平面...

【专利技术属性】
技术研发人员:王进宝李庆明王宇飞徐林
申请(专利权)人:成都瀚涛天图科技有限公司
类型:发明
国别省市:

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

1