一种用于电子地图中的点聚合方法技术

技术编号:37855352 阅读:9 留言:0更新日期:2023-06-14 22:48
本发明专利技术公开了一种用于电子地图中的点聚合方法,包括以下步骤:S1、设置参数配置,对不同缩放层级设置不同的簇数量。S2、通过二分法构建在兴趣点2维场景下的K

【技术实现步骤摘要】
一种用于电子地图中的点聚合方法


[0001]本专利技术涉及地理信息开发
,具体涉及一种用于电子地图中的点聚合方法。

技术介绍

[0002]随着互联网技术的发展,地理信息系统(GIS)应用的场景也越来越多,点聚合成为了定理信息系统中常用的一种功能。通过点聚合可以有效避免地图上兴趣点过多而导致的点密集分布的情况,用聚合后的标签来代替密集的兴趣点,提高地图的可视化质量。点聚合的应用方式较多,传统的GIS开发框架是通过前端浏览器解析代码,直接进行点聚合计算,这类方式会消耗大量的计算资源,代码的执行效率较低,不适用于大量的点聚合情况,但支持兴趣点的实时更新。大规模的点聚合往往需要单独进行计算,通过后端计算的结果存储到数据库中,再由前端读取并渲染到地图中,这种方法可以避免实时计算点聚合结果,可以实现数量更大的点聚合。其中前端读取点聚合的计算结果,可以通过数据库查询的方式,也可以将计算好的点聚合发不成地图服务切片,通过前端加载点聚合图层。
[0003]对于其他点聚合算法,例如直接网格法(Grid

based Clustering)和普通的k

means算法,都存在聚合效果上的不足。直接网格法将地图直接划分为若干个网格,将网格中心作为网格内的点聚合,这种方式聚合速度快,计算成本低,但聚合的中心点不一定在网格中心,聚合的结果分类是按照网格排列的,体现不了点的分布效果,聚合效果差。普通的k

means聚合算法是通过给定的中心坐标拟合聚合结果,因此中心坐标的选择会影响到聚合效果,不同的中心坐标都会影响簇的划分。

技术实现思路

[0004]本专利技术的目的在于提供一种用于电子地图中的点聚合方法。
[0005]本专利技术所解决的技术问题为:现有点聚合算法聚合效果不好的问题。
[0006]本专利技术的目的可以通过以下技术方案实现:
[0007]一种用于电子地图中的点聚合方法,包括以下步骤:
[0008]S1、设置参数配置,对不同缩放层级设置不同的簇数量。
[0009]S2、通过二分法构建在兴趣点2维场景下的K

D树,建立兴趣点(X,Y)和K

D树节点的一一对应关系。
[0010]S3、通过k

means划分所有层级下对应的K

D树下的兴趣点数,得到聚合结果。
[0011]S4、将聚合结果存入数据库中,通过对应的缩放层级来查询聚合结果。
[0012]作为本专利技术进一步的方案:步骤S2中,K

D树的构建过程包括:
[0013]S21、找到所有兴趣点的中位点,对所有的兴趣点坐标的x轴数值进行排序,选取中位数作为x轴方向上的划分,在划分线上的节点作为K

D树的根节点,划分线两侧的节点作为簇继续划分。
[0014]S22、根据步骤S21划分后的结果,对根节点两侧的兴趣点进行进一步划分,每次划
分改变x轴的方向,根节点的子节点会根据y轴方向的中位点进行划分,划分时子节点继续更换划分轴的方向,找出中位点进行划分,直至所有兴趣点划分完成。
[0015]作为本专利技术进一步的方案:通过k

means划分K

D树下的兴趣点数的过程包括:
[0016]S311、从K

D树的跟节点开始,将当前的簇一分为二,分别通过两个簇内兴趣点的x轴和y轴极值计算两个簇内的中心点。
[0017]S312、然后通过SSE公式计算划分后簇内所有兴趣点到中心点的误差平方和。
[0018]S313、再将误差平方和大的簇一分为二,重复步骤S311和S312,直到当前层级簇的数量达到设定的簇数量,进行下一层级的兴趣点数划分。
[0019]作为本专利技术进一步的方案:中心点的坐标为:
[0020][0021]其中,X
min
为X轴上的最小值,Y
min
为Y轴上的最小值,,X
max
为X轴上的最大值,Y
max
为Y轴上的最大值。
[0022]作为本专利技术进一步的方案:SSE公式如下:
[0023][0024]其中,n为簇内兴趣点的数量,m为当前层级簇的数量,x
(i)
为簇内第i个兴趣点,μ
(j)
表示第j位簇的中心点,w
(i,j)
为兴趣点到中心点的误差平方和。
[0025]作为本专利技术进一步的方案:若当前层级簇的数量达到设定的簇数量时,仍存在未划分的兴趣点,则将未划分的兴趣点在下一层级进行划分。
[0026]本专利技术的有益效果:
[0027](1)结构化兴趣点分布数据,使得点聚合效果更好,聚合结果更稳定;
[0028](2)采用基于距离的划分式点聚合方式,而且结合地图缩放功能进行分层划分兴趣点,适用于电子地图上的应用场景,且相较于传统的电子地图点聚合算法,聚合中心更准确;
[0029](3)可以通过数据库缓存计算结果,而不是直接使用前端代码计算并渲染点聚合,可以在数据库存储大量兴趣点的计算结果,提高大量兴趣点聚合的渲染效果。
[0030]下面结合附图对本专利技术作进一步的说明。
[0031]图1是本专利技术点聚合方法的逻辑图;
[0032]图2是本专利技术K

D树节点的划分示意图;
[0033]图3是本专利技术不同缩放层级下的点聚合示意图;
[0034]图4是本专利技术K

D树划分轴的选取方式示意图;
[0035]图5是本专利技术点聚合渲染过程示意图。
具体实施方式
[0036]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它
实施例,都属于本专利技术保护的范围。
[0037]请参阅图1

5所示,本专利技术为一种用于电子地图中的点聚合方法,包括以下步骤:
[0038]S1、设置参数配置,对不同缩放层级设置不同的簇数量。
[0039]S2、通过二分法构建在兴趣点2维场景下的K

D树,建立兴趣点(X,Y)和K

D树节点的一一对应关系。
[0040]S3、通过k

means划分所有层级下对应的K

D树下的兴趣点数,得到聚合结果。
[0041]S4、将聚合结果存入数据库中,通过对应的缩放层级来查询聚合结果。
[0042]具体的,本专利技术通过构建K

D二叉树来作为兴趣点的存储方式,K

D树是一种平衡二叉树,适用于节点的搜索查询。通过构建K
...

【技术保护点】

【技术特征摘要】
1.一种用于电子地图中的点聚合方法,其特征在于,包括以下步骤:S1、设置参数配置,对不同缩放层级设置不同的簇数量;S2、通过二分法构建在兴趣点2维场景下的K

D树,建立兴趣点(X,Y)和K

D树节点的一一对应关系;S3、通过k

means划分所有层级下对应的K

D树下的兴趣点数,得到聚合结果;S4、将聚合结果存入数据库中,通过对应的缩放层级来查询聚合结果。2.根据权利要求1所述的一种用于电子地图中的点聚合方法,其特征在于,步骤S2中,K

D树的构建过程包括:S21、找到所有兴趣点的中位点,对所有的兴趣点坐标的x轴数值进行排序,选取中位数作为x轴方向上的划分,在划分线上的节点作为K

D树的根节点,划分线两侧的节点作为簇继续划分;S22、根据步骤S21划分后的结果,对根节点两侧的兴趣点进行进一步划分,每次划分改变x轴的方向,根节点的子节点会根据y轴方向的中位点进行划分,划分时子节点继续更换划分轴的方向,找出中位点进行划分,直至所有兴趣点划分完成。3.根据权利要求2所述的一种用于电子地图中的点聚合方法,其特征在于,通过k

means划分K

D树下的...

【专利技术属性】
技术研发人员:邵永培何章伟张伦王文刚孟德艳刘胜文张超
申请(专利权)人:合肥亿图网络科技有限公司
类型:发明
国别省市:

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

1