兴趣点数据显示方法及终端与流程

文档序号:11774528阅读:233来源:国知局
兴趣点数据显示方法及终端与流程

本发明涉及通信领域,具体涉及电子地图领域中的一种兴趣点(pointofinterest)数据显示方法及终端。



背景技术:

随着交通的日渐便利以及出行范围的扩大,日常生活中人们使用地图和导航软件查询目的地的频次越来越高,不但可以手动输入查找想去的地方,也可以通过语音查找,方便又快捷。

但在查询目的地时,如果输入的关键词不够准确,经常会遇到搜索出来一大堆地址信息的情况,用户还要仔细地查看,甚至还要通过数次翻页的操作才能找到自己真正想去的地址。特别地,对于使用语音导航的用户,如果用户在驾驶过程中需要手动翻页查看地址列表将是非常危险的事情。

目前针对地址查询结果过多的问题,常见的做法是仅显示最为匹配的一个结果。当该结果并不是用户想要查询目的地址时,用户只有再进行一次或多次操作(如点击按钮或滑动屏幕),才能查看到所有结果,且此时所查看到的结果在地图上显示并无任何规律,需要用户花大量的时间和精力进行查找,这样显然过于繁琐,每增加一个步骤都是对用户体验的极大损害,用户体验满意度大大降低。



技术实现要素:

本发明要解决的主要技术问题是,提供一种兴趣点数据显示方法及终端,解决现有进行地址查询后仅在地图上显示最为匹配的一个地址不方便用户准确查找,导致用户体验满意度差的问题。

为解决上述技术问题,本发明提供一种兴趣点数据显示方法,包括:

接收包含目的地址的兴趣点搜索指令;

获取与所述目的地址相关的所有源地址;

将所述源地址按聚合分组原则分成至少一个聚合组,每一个聚合组包含至少一个源地址;

从各聚合组中选择至少一个源地址作为代表地址在地图上进行显示,将各聚合组中的其他源地址进行隐藏。

在本发明的一种实施例中,所述聚合分组原则为:

从当前所有源地址中选择一个作为中心地址;

将当前所有源地址中与所述中心地址之间的距离小于预设距离阈值的源地址以及该中心地址分为一个聚合组;

从当前剩下的源地址重新选择一个作为中心地址重复上述操作,直到对所有源地址实现分组。

在本发明的一种实施例中,从当前所有源地址中选择一个作为中心地址包括:

从当前所有源地址中随机选择一个作为中心地址;

或从当前所有源地址中选择排在第一位的源地址作为中心地址;

或从当前所有源地址中选择与用户当前位置距离最近的一个源地址作为中心地址;

或从当前所有源地址中选择与所述目的地址匹配度最高的一个源地址作为中心地址。

在本发明的一种实施例中,从各聚合组中选择一个源地址作为代表地址,包括:

选择各聚合组的中心地址作为各聚合组的代表地址。

在本发明的一种实施例中,从各聚合组中选择至少一个源地址作为代表地址在地图上进行显示后,还包括:

接收到展开显示指令时,对用户当前选择的聚合组中隐藏的各源地址在地图上展开显示,或对所有聚合组中隐藏的源地址进行展开显示。

为了解决上述问题,本发明还提供了一种兴趣点数据显示终端,包括:

指令接收模块,用于接收包含目的地址的兴趣点搜索指令;

地址获取模块,用于获取与所述目的地址相关的所有源地址;

分组处理模块,用于将所述源地址按聚合分组原则分成至少一个聚合组,每一个聚合组包含至少一个源地址;

显示控制模块,用于从各聚合组中选择至少一个源地址作为代表地址在地图上进行显示,将各聚合组中的其他源地址进行隐藏。

在本发明的一种实施例中,所述聚合分组原则为:

从当前所有源地址中选择一个作为中心地址;

将当前所有源地址中与所述中心地址之间的距离小于预设距离阈值的源地址以及该中心地址分为一个聚合组;

从当前剩下的源地址重新选择一个作为中心地址重复上述操作,直到对所有源地址实现分组。

在本发明的一种实施例中,所述分组处理模块包括:

第一选择单元,用于从当前所有源地址中随机选择一个作为中心地址;

或第二选择单元,用于从当前所有源地址中选择排在第一位的源地址作为中心地址;

或第三选择单元,用于从当前所有源地址中选择与用户当前位置距离最近的一个源地址作为中心地址;

或第四选择单元,用于从当前所有源地址中选择与所述目的地址匹配度最高的一个源地址作为中心地址。

在本发明的一种实施例中,所述显示控制模块包括代表地址选择单元,用于选择各聚合组的中心地址作为各聚合组的代表地址。

在本发明的一种实施例中,还包括展开显示模块,用于在所述显示控制模从各聚合组中选择至少一个源地址作为代表地址在地图上进行显示后,接收到展开显示指令时,对用户当前选择的聚合组中隐藏的各源地址在地图上展开显示,或对所有聚合组中隐藏的源地址进行展开显示。

本发明的有益效果是:

本发明提供的兴趣点数据显示方法及终端,在获取到与用户输入查找的目的地址相关的所有源地址后,并不是直接将最匹配的一个源地址直接进行显示;而是将获取到的所有源地址先按聚合分组原则分成至少一个聚合组,然后从各聚合组中选择至少一个源地址作为代表地址;最后在地图上显示各聚合组的代表地址,将各聚合组中的其他源地址进行隐藏。这样既能保证在地图上同时显示多个具有代表性的地址供用户选择,以便于用户通过一次查询操作就能从多个代表地址中选择到自己想要的目的地址,提升一次查询的准确率;又不至于出现将所有源地址在地图上进行无规律的显示,不便于用户准确查找。因此可大大提升用户体验的满意度。

另外,本发明中,从各聚合组中选择至少一个源地址作为代表地址在地图上进行显示以供用户查询式,当用户从显示的代表地址中没有查询到目的地址时,用户可以针对某一个或多个聚合组(此时用户可以预估或确定目的地址在这些聚合组中);接收到展开显示指令后,即可对用户当前选择的一个或多个聚合组中隐藏的各源地址在地图上展开显示,以便用户进行进一步筛选查询。此时可使用户在二次查询差过程大大缩小查询范围,便于用户更快、更准确的找到目的地址,能进一步提升用户体验。

附图说明

图1为本发明实施例一提供的兴趣点数据显示方法流程示意图一;

图2为本发明实施例一提供的兴趣点数据显示方法流程示意图二;

图3为本发明实施例二提供的兴趣点数据显示终端结构示意图一;

图4为本发明实施例二提供的兴趣点数据显示终端结构示意图二。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例只是本发明中一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明在获取到与用户输入查找的目的地址相关的所有源地址后,并不是直接将最匹配的一个源地址直接进行显示;而是将获取到的所有源地址先按聚合分组原则分成至少一个聚合组,然后从各聚合组中选择至少一个源地址作为代表地址在地图上显示。这样既能保证在地图上同时显示多个具有代表性的地址供用户选择,提升一次查询成功的成功率;又不至于出现将所有源地址在地图上进行无规律的显示,不便于用户准确查找的问题,能在较大程度上提升用户体验的满意度。下面通过具体实施方式结合附图对本发明作进一步详细说明。

实施例一:

请参见图1所示,本实施例提供的兴趣点数据显示方法包括:

s101:接收包含目的地址的兴趣点搜索指令。

本实施例中的目的地址是用户想查询的地址;本实施例中的兴趣点搜索指令用户可以通过语音或手动输入。

s102:获取与目的地址相关的所有源地址。

该步骤获取到的源地址都是根据目的地址搜索匹配得到的,一般包含多个。当然在输入的目的地址足够精确或目的地址确实只有一个时,搜索到的源地址则只有一个。

s103:将获取的所有源地址按聚合分组原则分成至少一个聚合组;得到的每一个聚合组包含至少一个源地址。

s104:从各聚合组中选择至少一个源地址作为代表地址在地图上进行显示,将各聚合组中的其他源地址进行隐藏。这样用户在输入带有目的地址的兴趣点搜索指令后,即可在地图上显示出多个代表地址,用户可以现在这个代表地址中查询看是否存在自己想要的目的地址。相对现有仅显示一个匹配度最高的源地址,可以提升一次显示查询成功的准确率。

本实施例中的聚合分组原则为:

从当前所有源地址中选择一个源地址作为中心地址;

将当前所有源地址中与选择的中心地址之间的距离小于预设距离阈值l的源地址以及该中心地址分为一个聚合组;

从当前剩下的源地址重新选择一个作为中心地址重复上述操作,直到对所有源地址实现分组。

以上示例聚合原则是中心地址为圆心,以预设距离阈值l(例如1km,值得注意的是,该l的取值可以根据具体应用场景灵活设定)的为半径,将该区域内的所有源地址分为一个聚合组。例如假设当前获取到的与目的地址相关的所有源地址为addr1,addr2,addr3,addr4,addr5,addr6。进行分组时,选择addr1为中心地址,addr2和addr3分别距离addr1的距离为l1和l2,且l1和l2都小于l,addr4,addr5,addr6到addr1的距离大于l,则将addr1,addr2,addr3分为一个聚合组a。剩余addr4,addr5,addr6。再选择addr4为中心地址,addr5和addr6分别距离addr4的距离为l5和l6,且l5和l5都小于l,因此将addr4、addr5、addr6分为一个聚合组b。因此得到两个聚合组,显示时将两个聚合组a、b的代表地址在地图显示即可。

本实施例中,用户通过输入包含关键字的兴趣点搜索指令搜索得到包含所有源地址的地址列表时,该列表中的源地址可依据匹配度进行排序,而匹配度是根据名称、距离、搜索频度等多种因素综合计算得出的,匹配度最优的结果在前,然后依次往后排列。本实施例可基于该地址列表按照匹配度排序,且最优的结果在最前面。

本实施例中,从当前所有源地址中选择一个作为中心地址时,可以采用以下任一原则进行选择:

从当前所有源地址中随机选择一个作为中心地址;

从当前所有源地址中选择排在第一位的源地址作为中心地址;

从当前所有源地址中选择与用户当前位置距离最近的一个源地址作为中心地址;

从当前所有源地址中选择与目的地址匹配度最高的一个源地址作为中心地址。

本实施例中,具体可从各聚合组中选择一个源地址作为代表地址,聚合组中的其他源地址则先进行隐藏不显示。在实施例中的一种示例中,具体可以选择各聚合组的中心地址作为各聚合组的代表地址。

在本实施例中,在第一次显示将各聚合组中选择至少一个源地址作为代表地址在地图上进行显示后,用户在现实的各代表地址中未查找到目的地址时,可以进一步输入展开显示指令。且用户可以针对某一个或多个聚合组输入展开显示指令,也可以直接针对所有聚合组输入展开显示指令。当针对一个或多个聚合组展开时,可以仅将用户选中的这些聚合组中所有的源地址在地图上进行显示。当用户选中所有聚合组时,则将所有聚合组中隐藏的源地址进行展开显示。以上进行二次显示的方式只是本发明的一种示例,应当理解的是二次显示的方式并不限于上述方式。

本发明的核心是把搜索到的地址列表,通过聚合算法进行分组,在展示搜索结果的时候灵活运用这些聚合后的地址集合,可有效减少用户的操作步骤,提高在第一显示页找到目的地址的概率。下面再以一完整示例对本发明做进一步说明,请参见图2所示,包括:

s201:把根据用户输入的目的地址关键词搜索得到的所有源地址加入地址列表作为原始地址列表。

originallist={addr1,addr2,addr3,…};

s202:选取第一个地址addr1,把它作为中心地址。

centralpoint=addr1;

s203:并计算剩余所有源地址和该中心地址之间的距离。

distance2=计算距离(centrelpoint,addr2);

distance3=计算距离(centrelpoint,addr3);

……

s204:假设预先设置的距离阈值threshold_value=1km;把所有经计算后距离小于1km的源地址放到同一个子列表中作为一个聚合组。

假设经过计算后,distance2,distance4,distance5的值小于1km,则可以得到子列表childlist1,

childlist1={addr1,addr2,addr4,addr5};

作为中心地址的源同样作为第一个地址放入这个子列表中,这就是聚合后的第一个聚合组。

s205:在原始地址列表里面删除已经放入子列表中的地址,剩余的地址组成的列表又作为原始列表,

originallist={addr3,addr6,addr7,…};

s206:重复前面的s202至s205,直到所有地址都被聚合后,整个流程结束,最终可以得到多个经过聚合后的地址集合,

aggregationlist={childlist1,childlist2,childlist3,…};

s207:得到聚合后的地址集合后,在给用户展示地址的时候就可以灵活运用,例如仅显示每个子列表的第一个地址(也即代表地址),其余地址隐藏起来。

本示例中,用户可以通过点击的动作展开隐藏的某一个子列表里的地址,也可以点击展开全部子列表里的地址。采取怎样的方案展示给用户能够提供最佳的用户体验,还可根据具体场景灵活选择。

实施例二:

本实施例提供了一种兴趣点数据显示终端,该终端可以是任意能实现电子地图搜索显示的移动终端或固定类终端,请参见图3所示,包括:

指令接收模块31,用于接收包含目的地址的兴趣点搜索指令;目的地址是用户想查询的地址;本实施例中的兴趣点搜索指令用户可以通过语音或手动输入。

地址获取模块32,用于获取与目的地址相关的所有源地址;此处获取的源地址都是根据目的地址搜索匹配得到的,一般包含多个。

分组处理模块33,用于将获取的源地址按聚合分组原则分成至少一个聚合组,每一个聚合组包含至少一个源地址;

显示控制模块34,用于从各聚合组中选择至少一个源地址作为代表地址在地图上进行显示,将各聚合组中的其他源地址进行隐藏。这样用户在输入带有目的地址的兴趣点搜索指令后,即可在地图上显示出多个代表地址,用户可以现在这个代表地址中查询看是否存在自己想要的目的地址。相对现有仅显示一个匹配度最高的源地址,可以提升一次显示查询成功的准确率。

本实施例中的聚合分组原则为:

从当前所有源地址中选择一个源地址作为中心地址;

将当前所有源地址中与选择的中心地址之间的距离小于预设距离阈值l的源地址以及该中心地址分为一个聚合组;

从当前剩下的源地址重新选择一个作为中心地址重复上述操作,直到对所有源地址实现分组。

本实施例中的分组处理模块33包括:

第一选择单元,用于从当前所有源地址中随机选择一个作为中心地址;

或第二选择单元,用于从当前所有源地址中选择排在第一位的源地址作为中心地址;

或第三选择单元,用于从当前所有源地址中选择与用户当前位置距离最近的一个源地址作为中心地址;

或第四选择单元,用于从当前所有源地址中选择与所述目的地址匹配度最高的一个源地址作为中心地址。

本实施例中的显示控制模块34包括代表地址选择单元,用于选择各聚合组的中心地址作为各聚合组的代表地址。

请参见图4所示,本实施例中的兴趣点数据显示终端还包括展开显示模块35,用于在显示控制模34从各聚合组中选择至少一个源地址作为代表地址在地图上进行显示后,接收到展开显示指令时,对用户当前选择的聚合组中隐藏的各源地址在地图上展开显示,或对所有聚合组中隐藏的源地址进行展开显示。

为了更好的理解本发明,下面通过一个具体的搜索示例对本发明做进一步说明。本示例以搜索目的地址关键词“人民公园”为例进行说明。具体过程如下:

搜索地址关键词“人民公园”,得到一个包含所有源地址的原始地址列表如下:

{人民公园,人民公园-停车场,人民公园-东门,人民公园-西门,人民公园-南门,人民公园-北门,人民公园-地铁站a出口,人民公园-地铁站b出口,人民公园-地铁站c出口,人民公园-地铁站d出口,人民公园-公共 厕所,人民公园-南门公交站,人民公园-北门公交站,人民公园游乐场,麦当劳(人民公园店),兰州拉面(人民公园店),…,狗不理(人民公园店),人民公园(惠州),人民公园(东莞),…}。实际上这个列表很长,可能多达上千条地址,此处仅列出部分有代表性的进行说明。为了方便阅读,每个地址的其它信息没有列出来,如省市区、道路名、经纬度等信息,仅用地址名称予以代表。

现在,使用聚合原则对搜索到的地址列表进行处理,首先把搜索得到的地址列表作为原始地址列表:

originallist={人民公园,人民公园-停车场,人民公园-东门,人民公园-西门,人民公园-南门,人民公园-北门,人民公园-地铁站a出口,人民公园-地铁站b出口,人民公园-地铁站c出口,人民公园-地铁站d出口,人民公园-公共厕所,人民公园-南门公交站,人民公园-北门公交站,人民公园游乐场,麦当劳(人民公园店),兰州拉面(人民公园店),…,狗不理(人民公园店),人民公园(惠州),人民公园(东莞),…};

然后选取第一个地址“人民公园”,把它作为中心地址:

centralpoint=人民公园;

计算剩余所有地址和该中心点地址之间的距离,

distance2=计算距离(人民公园,人民公园-停车场)=0.1km;

distance3=计算距离(人民公园,人民公园-东门)=0.3km;

……

distance21=计算距离(人民公园,狗不理(人民公园店))=0.9km;

distance22=计算距离(人民公园,人民公园(惠州))=30.8km;

distance23=计算距离(人民公园,人民公园(东莞))=35.3km;

经过把这些距离和threshold_value(取值为1km)进行比较,把所有小于threshold_value的地址以及该中心地址放在一起,得到第一个子列表,也即第一个聚合组:

childlist1={人民公园,人民公园-停车场,人民公园-东门,人民公园-西门,人民公园-南门,人民公园-北门,人民公园-地铁站a出口,人民公园 -地铁站b出口,人民公园-地铁站c出口,人民公园-地铁站d出口,人民公园-公共厕所,人民公园-南门公交站,人民公园-北门公交站,人民公园游乐场,麦当劳(人民公园店),兰州拉面(人民公园店),…,狗不理(人民公园店)};

然后在原始地址列表里面删除已经放入子列表中的地址,剩余的地址组成的列表又作为原始列表:

originallist={人民公园(惠州),人民公园(东莞),…};

现在重复前面的步骤,把“人民公园(惠州)”作为中心地址进行聚合,计算剩余所有地址和该中心点地址之间的距离:

distance2=计算距离(人民公园(惠州),人民公园(东莞))=38.9km;

……;

于是得到第二个子列表,也即第二个聚合组:

childlist2={人民公园(惠州)};

同理,得到其它的子列表:

childlist3={人民公园(东莞)};

childlist4…;

childlist5…

……;

现在得到了多个地址子列表,也即多个聚合组,可以基于这些子列表提供多种方式把地址展示给用户,以提供更好的用户体验。例如直接选择各个子列表中的进行聚合运算时的中心地址作为各子列表中的代表地址进行显示。也可在选择该中心地址的基础上同时选择至少一个其他源地址作为代表地址进行显示。也可以选择除中心地址之外的其他地址进行显示。

例如,用户在深圳,但想要找的地址是“人民公园(东莞)”,用户输入“人民公园”四个关键字进行搜索,结果得到了上千条地址供用户选择,通常一页可以显示五条地址,根据上面列出的地址顺序,用户至少需要翻到第四页之后才能看到想要去的地址。这样的用户体验显然不是最佳的。经过聚合处理后,可以在页面上仅显示每个子列表的第一个地址,也即显示每个子 列表的代表地址,这样,就得到这样的显示列表:displaylist={人民公园,人民公园(惠州),人民公园(东莞),…};用户想要找的地址位于第三个,在第一页就可以看到,十分方便快捷,提升了目的地址查找的效率和准确率。

显然,本领域的技术人员应该明白,上述本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储介质(rom/ram、磁碟、光盘)中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。所以,本发明不限制于任何特定的硬件和软件结合。

以上仅是本发明的具体实施方式而已,并非对本发明做任何形式上的限制,凡是依据本发明的技术实质对以上实施方式所做的任意简单修改、等同变化、结合或修饰,均仍属于本发明技术方案的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1