一种基于K-means算法的地图聚合方法_2

文档序号:9667336阅读:来源:国知局
类别、经度以及玮度信息。通过一定的数学转换规则,将每一个标志物的信息都用一个数字向量来表示。
[0034]S4、判断所述当前标志物是否在目标聚簇的网格范围内,如果在,则将所述当前标志物加入到所述目标聚簇的标志物列表中,否则,执行步骤S6 ;
[0035]当步骤S3中的所述距离小于预设距离时,进一步判断当前标志物是否在目标聚簇的网格范围内,如果在,则将所述当前标志物加入到所述目标聚簇的标志物列表中,否贝1J,执行步骤S6。
[0036]示例性地,判断所述当前标志物是否在目标聚簇的网格范围内之前,还包括:根据地图的缩放级别确定所述目标聚簇的网格范围。
[0037]S5、判断所述标志物列表中是否存在下一个未确定目标聚簇的标志物,若是,则作为当前标志物,并返回执行步骤S3,若否,则执行步骤S7 ;
[0038]当一个标志物找到了自己的目标聚簇之后,进一步判断标志物列表中的其余标志物是否都已经归类到了相应的目标聚簇总,如果还有未确定目标聚簇的标志物,则将其作为当前标志物,返回步骤S3,去寻找自己的目标聚簇。如果标志物列表中的所有标志物都已经归类到了相应的目标聚簇中,则跳转到步骤S7。
[0039]S6、以所述当前标志物为聚簇中心,建立新的聚簇,并将该聚簇加入到步骤S2中的聚簇列表中,返回步骤S5 ;
[0040]如果聚簇列表中不存在某一个标志物的目标聚簇,则以该标志物为中心建立一个新的聚簇,并将该聚簇加入到步骤S2中的聚簇列表中,返回步骤S5继续判断所述标志物列表中是否存在下一个未确定目标聚簇的标志物。
[0041]S7、对聚簇列表中的每一个聚簇应用K-means算法得到每个聚簇的中心点;
[0042]到此步骤时,所有的标志物都已经归类到了相应的目标聚簇中,但是此时每个聚簇的中心只是地图上网格的形心,并不是网格的质心,不能真实地反应每个标志物的位置,因此需要进一步对每个对聚簇列表中的每一个聚簇应用K-means算法得到每个聚簇的中心点,此中心点即为质心。
[0043]示例性地,参见图2,K-means算法的流程图具体为,
[0044]a、输入聚类个数(本实施例中即为每个聚簇中的标志物个数);
[0045]b、随机初始化k个聚类中心(在本实施例中即随机选取一个聚簇中的k个标志物作为中心点,k设置为1);
[0046]c、将各个对象分配到距离最近的聚类中(本实施中的各个对象即为每一个聚簇中的标志物);
[0047]上述过程具体为,计算每个标志物与中心点的距离,选取距离最小的中心点作为目标中心点,即为所属的类。
[0048]d、重新计算新类的中心点(中心点即为该类别中所有对象的均值);
[0049]e、判断聚类的准则函数是否收敛,若是,则输出聚类结果,否则,返回步骤c ;所述准则函数为一个聚类中所有对象的误差平方和,准则函数收敛即为即聚类中心不再发生变化。
[0050]f、输出聚类结果。
[0051 ] S8、将所述中心点在地图上进行显示。
[0052]参见图3和图4,为采用K-means算法处理后的数据在地图上显示的效果图,使得当在地图上进行展示的数据量过大时,通过进行点聚合算法,实现了用少量的点来表示地图中的所有点,使地图显示的更清晰、明朗。
[0053]本实施例的技术方案,通过对视野范围内的标志物列表先进行聚合分类,使每一个标志物都找到自己的目标聚簇,形成最终的聚簇列表,再对聚簇列表中的每一个聚簇应用K-means算法计算每一个聚簇的中心点,最后将所述中心点显示在地图上,实现了用少量的点来表示地图中的所有点,使地图显示的更清晰、明朗。
[0054]注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
【主权项】
1.一种基于K-means算法的地图聚合方法,其特征在于,包括: 51、查询地图上视野范围内的标志物列表; 52、根据所述标志物列表创建聚簇列表,提取所述标志物列表中的一个标志物作为当前标志物; 53、判断所述当前标志物与所述聚簇列表中的每一个聚簇之间的距离,是否小于预设距离,若是,则将对应的聚簇作为所述当前标志物的目标聚簇,继续执行步骤S4,否则,执行步骤S6 ; 54、判断所述当前标志物是否在目标聚簇的网格范围内,如果在,则将所述当前标志物加入到所述目标聚簇的标志物列表中,否则,执行步骤S6 ; 55、判断所述标志物列表中是否存在下一个未确定目标聚簇的标志物,若是,则作为当前标志物,并返回执行步骤S3,若否,则执行步骤S7 ; 56、以所述当前标志物为聚簇中心,建立新的聚簇,并将该聚簇加入到步骤S2中的聚簇列表中,返回步骤S5 ; 57、对聚簇列表中的每一个聚簇应用K-means算法得到每个聚簇的中心点; 58、将所述中心点在地图上进行显示。2.根据权利要求1所述的方法,其特征在于,所述标志物列表中的每一个标志物包括:名称、类别、经度以及玮度信息。3.根据权利要求1所述的方法,其特征在于,根据所述标志物列表创建聚簇列表,包括:从所述标志物列表中选取设定数量的标志物,添加至聚簇列表中。4.根据权利要求1所述的方法,其特征在于,判断所述当前标志物是否在目标聚簇的网格范围内之前,还包括: 根据地图的缩放级别确定所述目标聚簇的网格范围。5.根据权利要求1所述的方法,其特征在于,所述K-means算法中的k设置为1。
【专利摘要】本发明公开了一种基于K-means算法的地图聚合方法,通过对视野范围内的标志物列表先进行聚合分类,使每一个标志物都找到自己的目标聚簇,形成最终的聚簇列表,再对聚簇列表中的每一个聚簇应用K-means算法计算每一个聚簇的中心点,最后将所述中心点显示在地图上,实现了用少量的点来表示地图中的所有点,使地图显示的更清晰、明朗。
【IPC分类】G09B29/10, G06F17/30
【公开号】CN105426387
【申请号】CN201510697813
【发明人】杨田镁
【申请人】北京锐安科技有限公司
【公开日】2016年3月23日
【申请日】2015年10月23日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1