CN103150309A - 一种空间方向感知地图兴趣点搜索方法和系统 - Google Patents
一种空间方向感知地图兴趣点搜索方法和系统 Download PDFInfo
- Publication number
- CN103150309A CN103150309A CN2011104027955A CN201110402795A CN103150309A CN 103150309 A CN103150309 A CN 103150309A CN 2011104027955 A CN2011104027955 A CN 2011104027955A CN 201110402795 A CN201110402795 A CN 201110402795A CN 103150309 A CN103150309 A CN 103150309A
- Authority
- CN
- China
- Prior art keywords
- point
- interest
- map
- subregion
- keyword
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种空间方向感知地图兴趣点搜索方法和系统,涉及地图搜索领域。本申请通过以地图平面中的四个顶点为坐标原点,以地图平面中从各原点出发的相邻两条边为轴建立四个坐标系地图;对于每个坐标系地图按POI点的位置先进行径向区域切分,然后进行弧向区域切分,使切分完毕的每个子区域包括相似的POI点个数,然后再针对子区域地图和各POI点分别建立索引;其中,因为是按照圆的方式划分的子区域,所以可以很方便的得到各POI点的相对指定坐标系坐标轴的角度,和子区域的角度范围。如此,对于用户端带有方位信息的请求,即可根据索引的构建方法方便快捷的查询到符合方位信息的POI点。
Description
技术领域
本申请涉及地图搜索领域,特别是涉及一种空间方向感知地图兴趣点搜索方法和系统。
背景技术
近些年来,基于位置的服务(Location Based Service,简称LBS)得到了迅速发展。这主要得益于移动网络(例如:3G,Wi-Fi)的覆盖及移动设备(例如:手机、GPS导航仪)的普及。因此,更多的位置信息被加入到网络服务请求中。
地图服务是互联网发展以来备受关注一项应用,越来越多的网民开始利用网络地图服务(例如:Google Map,百度地图等)来获取想要的信息。它最基础的服务主要包括两方面的内容:一是兴趣点(兴趣点Point of Interest,简称兴趣点)的搜索,一项是线路查询。前者主要根据用户输入的关键词或经纬度坐标返回相关的兴趣点,例如用户通过输入“火车站”来查找所有名称中包含“火车站”的点。由点搜索技术衍生出的其他服务包括视野内搜索,即在特定的区域内搜索满足条件的关键词等。而线路搜索也是一项应用范围更广的技术。很多时候,人们需要从一个地点到达另一个地点。对于起点或终点,他们不一定熟悉,而从起点到终点过程中,会经过哪些位置,他们也并不关心。他们所希望只是能够在给定的时间、金钱预算内到达终点。线路搜索可以很好地帮助他们完成从起点到终点的规划任务。这项服务在GPS导航中的作用益发突出。近些年来,线路搜索技术也在很多方向上进行了扩展,包括多点规划,即用户需要的不只是从一个点到另一个点的线路,而是一条经过若干点的线路,例如,有的用户需要先到“银行”取款,再去“商场”购物,再去“加油站”加油,最后回“家”。底图数据质量的提升及搜索技术的发展能够帮助用户找到更加符合自己要求的点,为其提供更好的查询体验。从底层技术上来说,目前应用最为广泛的空间索引结构是R树,它是一种高度平衡的树形结构。它根据兴趣点的位置分布来建树,直接对一定范围的空间对象进行索引。树中的每个节点存储着一个包含若干区域的外接矩形(最小边界矩形,Minimal Bounding Rectangle,简称MBR),空间对象的具体内容则存储在磁盘上,通过叶节点与之关联。这种结构能方便地支持点查询、范围查询等常见的查询方式。
但是,技术的进步也使得人们对于搜索技术的要求变得更高,传统关键词检索已经不能满足人们日益增强的个性化、区域化请求。一个众所周知的例子就是社会性网络服务(Social Networking Services,简称SNS),它的出现使得个人兴趣、喜好也成为相关性衡量标准中的一个重要维度。在地图服务中,最能体现个性特征的内容就是位置,这个位置可能是用户当前的位置,也可能是用户指定的位置。从直观出发,用户搜索“餐厅”时,他更希望得到的应该是周围的餐厅,或者某一地点(例如:聚会地点附近等)周围的餐厅,因此,距搜索位置越近的点,在返回结果中排序也应该更高。关键字查询是信息检索(Information Retrieval)中的经典问题,而空间数据的检索则可以通过空间索引来实现。因此要解决这类问题,可以将这两项技术结合起来。于是有人提出IR tree这一索引结构,在原有R tree的基础上,在每个节点上附加了一个倒排索引,将每个关键词映射到包含这个关键字的子节点上。IR tree帮助用户检索到位置和关键词匹配程度都较高的兴趣点,并且进行top-k排序。
现有的兴趣点检索方法,会将搜索位置附近的兴趣点全部返回给用户端,距离搜索位置越近排序越靠前,而不能考虑用户的空间位置的方向性,比如在用户驾车在高速公路上行驶时,希望搜索一个最近的出口,而现有技术搜索到的结果排序靠前的可能是用户相反方向的出口,无法将用户行使方向上的出口正常返回给用户。
发明内容
本申请所要解决的技术问题是提供一种空间方向感知地图兴趣点搜索方法与装置,能按用户端的方向需求返回相应兴趣点。
为了解决上述问题,本申请公开了一种空间方向感知地图兴趣点搜索方法,包括:
步骤N1,接收用户查询请求,所述请求包括查询点经纬度、查询方位、返回结果个数k和关键词集合K;所述查询方位包括从查询点出发的两条直线与指定坐标轴方向的夹角范围内的区域;
步骤N2,创建两个优先级队列QR和QP,分别用于存放有待进一步探查的子区域和兴趣点;
步骤N3,根据所述查询方位将所述查询分解到相应各坐标系地图中;
步骤N4,计算查询点与相应各坐标系地图原点的距离,根据所述距离确定查询点所在环区域并将其加入QR中;其中,QR中的区域按距离远点的距离从近至远排序;
步骤N5,按顺序遍历QR中的区域,并根据索引查找符合查询方位覆盖区域、关键词集合K条件的k个兴趣点;
步骤N6,将查找结果返回至用户端;所述查找结果包括QP中满足关键词与方向约束的距查询点距离最小的k个兴趣点;
其中,所述索引通过如下步骤构建:
步骤M1,获取地图信息,分别以地图平面中的四个顶点作为坐标原点O,建立四个坐标系地图,并调整其中三个坐标系地图的属性至与另外一个坐标系地图属性相同;其中所述地图信息包括各兴趣点在经纬度和各兴趣点的关键词集合;
步骤M2,针对每一个坐标系地图,以所述原点为圆心,按照到原点的距离,通过N个1/4圆环将所述坐标系地图切分为N个环区域Ri(1≤i≤N),所述每个环区域包括的兴趣点个数相似;
步骤M3,针对所述切分后的每个区域,通过沿半径方向多条直线将所述环区域切分为M个子区域,所述每个子区域中包括的兴趣点个数相似;并计算每个兴趣点与指定正半轴夹角,和每个子区域各兴趣点所在的夹角范围[θi,j-1,θi,j),其中θi,(j-1)表示Bi,j(1≤j≤M)中的角度最小点的角度;
步骤M4,关键词ki到包括该关键词的子区域的倒排索引Lki R,并建立关键词ki到包括该关键词的兴趣点的倒排索引Lki P;所述子区域与该子区域的所述兴趣点对应并且所述两个索引序关系相同,所述序关系按照距原点的从近到远排序;所述各子区域中兴趣点按与特征方向正半轴的夹角排序。
优选的,通过如下步骤调整其中三个坐标系地图的属性与另外一个坐标系地图属性相同:
以地图左下角顶点为原点,正东方向为x轴正方向,正北方向为y轴正方向建立坐标系地图Map1;
以地图右下角顶点为原点,正北方向为x轴正方向,正西方向为y轴正方向建立坐标系地图Map2;
以地图右上角顶点为原点,正西方向为x轴正方向,正南方向为y轴正方向建立坐标系地图Map3;
以地图左上角顶点为原点,正南方向为x轴正方向,正东方向为y轴正方向建立坐标系地图Map4。
优选的,通过以下步骤通过N个1/4圆环将所述坐标系地图切分为N个环区域:
将有序的p个兴趣点p1,p2,...,pP,均匀放入N个不相交的集合中Bi,每个集合Bi={p(i-1)×λ+1,...,pi×λ},1≤i≤N-1;其中,所述的λ=[p/N];
计算Bi中(1≤i≤N)的点到原点O的最短距离ri-1;
以O为圆心,r1,r2,...,rN-1为半径作N-1个1/4圆环,得到N个环区域R1,R2,...,RN。
优选的,如果存在dist(pλ×i+1,O)=dist(pλ×i,O),则将pλ×i+1放入Bi中,否则放入Bi+1中;其中所述dist(pi,0)表示兴趣点pi到原点O的距离。
优选的,通过以下步骤计算每个子区域的各兴趣点所在的夹角范围:
获取每个子区域中与x轴正方向夹角最小的兴趣点,和与x轴正方向夹角最大的兴趣点;
将与x轴正方向夹角最小的兴趣点的夹角作为该子区域的夹角范围下限,并根据该子区域相邻的下一个子区域的下界确定该子区域的上限。
优选的,通过以下步骤根据所述查询方位将所述查询转换到相应坐标系地图中:
计算从查询点出发的初始方位直线与特定坐标系地图的x轴正半轴的夹角α和结束方位直线与特定坐标系地图的x轴正半轴的夹角β;
将所述两条直线的夹角范围[α,β]分解统一到相应[0,π/2]区间的坐标系地图上。
优选的,其特征在于通过如下步骤按顺序遍历QR中的区域,并根据索引查找符合查询方位覆盖区域、关键词集合K条件的k个兴趣点:
步骤N51,从QR中取出第一个区域Ri,获得从q到Ri的距离最小值MINDIST(q,Ri);
步骤N52,当MINDIST(q,Ri)≥dk,则将当前QP中的前k个满足关键词与方向约束的距查询点距离最小的k个兴趣点作为查找结果;所述dk记录QP中第k小的兴趣点到查询点的距离;
步骤N53,当MINDIST(q,Ri)<dk,通过利用方位信息对Ri中的子区域剪枝和判断查询点q到子区域Ri,j的最短距离是否小于等于dk两个剪枝策略剪去不可能产生可行兴趣点的子区域,并根据剪枝完毕的结果中查询满足关键词与方向约束的距查询点距离最小的k个兴趣点。
优选的,通过如下步骤通过利用方位信息对Ri中的子区域剪枝和判断查询点q到子区域Ri,j的最短距离是否小于等于dk两个剪枝策略剪去不可能产生可行兴趣点的子区域,并根据剪枝完毕的结果中查询k个满足关键词与方向约束的最小的k个兴趣点:
步骤N531,计算方位信息覆盖区域R与所述Ri的相交区域的角度范围[τl Ri,τu Ri],获取Ri中θi,j-1≥τl Ri且θi,j-1≤τl Ri的子区域Ri,j;
步骤N532,对关键词集合K中的每个关键词ki,获取对应的子区域倒排索引Lki R,对其求交获得包含所有关键词的子区域Lk R=∩ki∈KLki R;
步骤N533,计算获得同时满足区域与关键词约束的子区域Ri K[α,β]=Ri[α,β]∩Lk R;
步骤N534,遍历Ri,j∈Ri K[α,β],如果MINDIST(q,Ri,j)≥dk,则剪掉该子区域,否则,将Ri,j加入到子区域集合CRi m中;
步骤N535,遍历步骤N534中得到的CRi m中的每一个子区域Ri,j,如果MINDIST(q,Ri,j)≥dk,停止遍历,否则,在Ri,j中查找可行兴趣点;
步骤N536,对所有K中关键词ki,获得它在Ri,j中对应的兴趣点倒排索引Lki P(Ri,j);
步骤N537,计算所有关键词对应的倒排列表的交集,即包含所有K中关键词的兴趣点LK P=∩ki∈KLki P(Ri,j);
步骤N538,验证步骤N537中得到LK P中的兴趣点p是否满足范围约束,如果是,判断该点p是否dist(p,q)小于dk,如果dist(p,q)<dk,则将它加入到优先级队列QP中,并更新dk;
步骤N539,判断查询点q到Ri+1的最小距离MINDIST(q,Ri+1)是否小于dk,如果MINDIST(q,Ri+1)<dk,则将Ri+1加入QR中,并转入步骤N51。
相应的,本申请还公开了一种空间方向感知地图兴趣点搜索装置,包括:
请求接收模块,接收用户查询请求,所述请求包括查询点经纬度、查询方位、返回结果个数k和关键词集合K;所述查询方位包括从查询点出发的两条直线与指定坐标轴方向的夹角范围内的区域;
队列创建模块,创建两个优先级队列QR和QP,分别用于存放有待进一步探查的子区域和兴趣点;
查询分解模块,根据所述查询方位将所述查询分解到相应各坐标系地图中;
查询定位模块,计算查询点与相应各坐标系地图原点的距离,根据所述距离确定查询点所在环区域并将其加入QR中;其中,QR中的区域按距离原点的距离从近至远排序;
兴趣点查询模块,按顺序遍历QR中的区域,并根据索引查找符合查询方位覆盖区域、关键词集合K条件的k个兴趣点;
结果返回模块,将查找结果返回至用户端;所述查找结果包括QP中满足关键词与方向约束的距查询点距离最小的k个兴趣点;
其中,所述索引通过如下模块构建:
地图信息获取模块,获取地图信息,分别以地图平面中的四个顶点作为坐标原点O,建立四个坐标系地图,并调整其中三个坐标系地图的属性至与另外一个坐标系地图属性相同;其中所述地图信息包括各兴趣点在经纬度和各兴趣点的关键词集合;
径向区域切分模块,针对每一个坐标系地图,以所述原点为圆心,按照到原点的距离,通过N个1/4圆环将所述坐标系地图切分为N个环区域Ri(1≤i≤N),所述每个环区域包括的兴趣点个数相似;
弧度区域切分模块,针对所述切分后的每个区域,通过沿半径方向多条直线将所述环区域切分为M个子区域,所述每个子区域中包括的兴趣点个数相似;并计算每个兴趣点与指定正半轴夹角,和每个子区域各兴趣点所在的夹角范围[θi,(j-1),θi,j),其中θi,(j-1)表示Ri,j(1≤j≤M)中的角度最小点的角度;
索引建立模块,关键词ki到包括该关键词的子区域的倒排索引Lki R,并建立关键词ki到包括该关键词的兴趣点的倒排索引Lki P;所述子区域与该子区域的所述兴趣点对应并且所述两个索引序关系相同,所述序关系按照距原点的从近到远排序;所述各子区域中兴趣点按与特征方向正半轴的夹角排序。
与现有技术相比,本申请包括以下优点:
本申请通过以地图平面中的四个顶点为坐标原点,以地图平面中从各原点出发的相邻两条边为轴建立四个坐标系地图;对于每个坐标系地图按POI点的位置先进行径向区域切分,然后进行弧向区域切分,使切分完毕的每个子区域包括相似的POI点个数,然后再针对子区域地图和各POI点分别建立索引;其中,因为是按照圆的方式划分的子区域,所以可以很方便的得到各POI点的相对指定坐标系坐标轴的角度,和子区域的角度范围。如此,对于用户端带有方位信息的请求,即可根据索引的构建方法方便快捷的查询到符合方位信息的POI点。本申请根据POI点的位置建立一种全新的索引结构,能够方便地支持本发明希望实现的查询技术,当系统接收到查询时,本申请从请求中获得查询位置、指定方向、关键词以及期望返回的结果数,然后利用已建立存储的索引检索满足条件的结果并排序,返回给用户。
附图说明
图1是本申请一种空间方向感知地图兴趣点搜索方法流程示意图;
图2是本申请最优的查询流程示意图;
图3是本申请剪枝示意图;
图4是本申请一种索引示例图;
图5是本申请一种空间方向感知地图兴趣点搜索装置结构示意图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
参照图1,示出了本申请一种空间方向感知地图兴趣点搜索方法流程示意图,包括:
步骤N1,接收用户查询请求,所述请求包括查询点经纬度、查询方位、返回结果个数k和关键词集合K;所述查询方位包括从查询点出发的两条直线与指定坐标轴方向的夹角范围内的区域;
步骤N2,创建两个优先级队列QR和QP,分别用于存放有待进一步探查的子区域和兴趣点;
步骤N3,根据所述查询方位将所述查询分解到相应各坐标系地图中;
步骤N4,计算查询点与相应各坐标系地图原点的距离,根据所述距离确定查询点所在环区域并将其加入QR中;其中,QR中的区域按距离远点的距离从近至远排序;
步骤N5,按顺序遍历QR中的区域,并根据索引查找符合查询方位覆盖区域、关键词集合K条件的k个兴趣点;
步骤N6,将查找结果返回至用户端;所述查找结果包括QP中满足关键词与方向约束的距查询点距离最小的k个兴趣点;
其中,所述索引通过如下步骤构建:
步骤M1,获取地图信息,分别以地图平面中的四个顶点作为坐标原点O,建立四个坐标系地图,并调整其中三个坐标系地图的属性至与另外一个坐标系地图属性相同;其中所述地图信息包括各兴趣点在经纬度和各兴趣点的关键词集合;
步骤M2,针对每一个坐标系地图,以所述原点为圆心,按照到原点的距离,通过N个1/4圆环将所述坐标系地图切分为N个环区域Ri(1≤i≤N),所述每个环区域包括的兴趣点个数相似;
步骤M3,针对所述切分后的每个区域,通过沿半径方向多条直线将所述环区域切分为M个子区域,所述每个子区域中包括的兴趣点个数相似;并计算每个兴趣点与指定正半轴夹角,和每个子区域各兴趣点所在的夹角范围[θi,(j-1),θi,j),其中θi,(j-1)表示Ri,j(1≤j≤M)中的角度最小点的角度;
步骤M4,关键词ki到包括该关键词的子区域的倒排索引Lki R,并建立关键词ki到包括该关键词的兴趣点的倒排索引Lki P;所述子区域与该子区域的所述兴趣点对应并且所述两个索引序关系相同,所述序关系按照距原点的从近到远排序;所述各子区域中兴趣点按与特征方向正半轴的夹角排序。
在本申请进行查询之前,需要预先建立一个有关方位的地图索引,期间了步骤如上:
步骤M1,获取地图信息,分别以地图平面中的四个顶点作为坐标原点O,建立四个坐标系地图,并调整其中三个坐标系地图的属性至与另外一个坐标系地图属性相同;其中所述地图信息包括各兴趣点在经纬度和各兴趣点的关键词集合;
本申请需要预先收集地图信息,分别以地图平面中的四个顶点作为坐标原点O,建立四个坐标系。
比如,以地图左下角顶点Olb为原点,正东方向为x轴正方向,正北方向为y轴正方向建立坐标系,记为Map1;
以地图右下角顶点Orb为原点,正北方向为x轴正方向,正西方向为y轴正方向建立坐标系,记为Map2;
以地图右上角顶点Ort为原点,正西方向为x轴正方向,正南方向为y轴正方向建立坐标系,记为Map3;
以地图左上角顶点Olt为原点,正南方向为x轴正方向,正东方向为y轴正方向建立坐标系,记为Map4。
经过上述的设定,Mapn(1≤n≤4)具有完全相同的属性,在所述四个坐标系中按相同的方式建立索引。在地图上,有POI集合P={p1,p2,...,p|P|},对于所有pi∈P,信息包括:经度lati,纬度loni,关键词集合keywordi1,keywordi2,...,keyworaim,P中POI点按经纬度标记在Map上。
步骤M2,针对每一个坐标系地图,以所述原点为圆心,按照到原点的距离,通过N个1/4圆环将所述坐标系地图切分为N个环区域Ri(1≤i≤N),所述每个环区域包括的兴趣点个数相似。
因为经过上述的设定,Mapn(1≤n≤4)具有完全相同的属性,在所述四个坐标系中按相同的方式建立索引。不失一般性,在下面的描述中,统一用Map表示。
针对每一个坐标系地图Map,按照到原点的距离将Map分为N个1/4圆环,使得每个1/4圆环中的点数一般为λ=[p/N]。
在Map中,所有pi∈P都已经按照距离原点的位置排好序,即若i<j,有dist(pi,O)≤dist(pj,O),(dist(pi,O)表示POI点到原点的距离)将其均分入N个不相交的集合中,使每个集合分别映射到Map中的一个圆环:
步骤a1,对于有序的兴趣点p1,p2,...,p|P|,将其平均放入N个不相交的集合中,即对于1≤i≤N-1,有Bi={p(i-1)×λ+1,...,pi×λ},BN={p(N-1)×λ,...,p|N|}。如果存在dist(pλ×i+1,O)=dist(pλ×i,O),则将pλ×i+1放入Bi中,否则放入Bi+1中。
步骤a2,记集合Bi中(1≤i≤N)的点到原点O的最短距离为ri-1,以O为圆心,r1,r2,...,rN-1为半径作N-1个1/4圆弧,则这N-1个圆弧将Map分为N个区域,分别记为R1,R2,...,RN,R1是半径为r1的圆弧与x、y轴所包围的区域,RN是半径为rN-1的圆弧之外的区域,Ri是半径为ri-1的圆弧和半径为ri的圆弧之间的区域(1/4圆环),所有Bi中的点都落入到区域Ri中,则:若p∈Ri,p’∈Rj,且i<j,有dist(p,O)<dist(p’,O)。
步骤M3,针对所述切分后的每个区域,通过沿半径方向多条直线将所述环区域切分为M个子区域,所述每个子区域中包括的兴趣点个数相似;并计算每个兴趣点与指定正半轴夹角,和每个子区域各兴趣点所在的夹角范围[θi,(j-1),θi,j),其中θi,(j-1)表示Bi,j(1≤j≤M)中的角度最小点的角度。
在步骤M2中进行径向切分后,再对圆环进行进一步划分,使得每个圆环包含M段,每段圆环中POI点数相同,一般等于λ/M。
进一步对区域进行切分,将每一个区域Ri中的λ个POI点按照其与x轴正向的夹角(Mapn不同,x轴正方向不相同,根据定义确定)均匀地分成不相交的M份,再用径向的线段将Ri划分成M个子区域(sub-region),使得每一份POI点恰好映射到一个子区域中:
其中,可通过以下步骤计算每个子区域的各兴趣点所在的夹角范围:
获取每个子区域中与x轴正方向夹角最小的兴趣点,和与x轴正方向夹角最大的兴趣点;
将与x轴正方向夹角最小的兴趣点的夹角作为该子区域的夹角范围下限,并根据该子区域相邻的下一个子区域的下界确定该子区域的上限。其中上限一般为开区间,比如某区域的夹角范围为[θi,θi+1)。其中也可将与x轴正方向夹角最大的兴趣点的夹角作为该子区域的夹角范围上限。
另外,具体的每个子区域的各兴趣点所在的夹角范围也可采用其他形式,只需要保证各子区域的夹角范围包括了该子区域中各个兴趣点,并且同一环区域中相邻两个子区域的夹角范围不相交即可。
具体的,比如:步骤b1:对于Ri中所有POI点,与x轴正方向都有一个夹角,用pθ表示,根据Mapn的划分及定义可知0≤pθ≤π/2,则:pθ=arctan((p.y-O.y)/(p.x-O.x))=arctan(p.y/p.x)。
步骤b2:将Ri中的点均匀的置于M个集合Ri,1,Ri,2,...,Ri,M中,每个集合中有|P|/(M×N)个POI点。假设θi,(j-1)表示Ri,j(1≤j≤M)中的角度最小的点,则用M-1条半径方向的直线将Ri划分为M个子区域,分别记为Ri,1,Ri,2,...,Ri,M,则第j个子区域中POI的点与x轴正半轴夹角的范围为[θi,j-1,θi,j),并且:若p∈Ri,s,p’∈Ri,t,且s<t,有pθ<p’θ。
步骤M4,关键词ki到包括该关键词的子区域的倒排索引Lki R,并建立关键词ki到包括该关键词的兴趣点的倒排索引Lki P;所述子区域与该子区域的所述兴趣点对应并且所述两个索引序关系相同,所述序关系按照距原点的从近到远排序;所述各子区域中兴趣点按与特征方向正半轴的夹角排序。
倒排索引是信息检索领域一种最常用的索引方式,原因在于它能根据关键词,快速定位到包含该关键词的文档。在倒排索引中,每个属性值对应了一个列表,列表中的元素是满足这个属性的记录的位置信息。为了在较短时间内找到满足关键词条件的POI点及子区域,需要对Map及相关信息建立两个倒排索引(其中,不同Mapn可分别建立索引;或用统一索引,用统一索引时可在列表中除基本信息外,附加一个关于n的属性标识该索引对于某个坐标系地图),同时利用指针表示POI点及子区域之间的包含关系:
步骤c1:建立从关键词到子区域的倒排索引,即每个关键词ki对应一个由子区域ID组成的有序列表Lki R,列表中的子区域包含ki(即子区域中至少存在一个包含ki的POI点)。在Lki R中,若i<j,则Ri,s<Rj,t;若s<t,则Ri,s<Ri,t。
步骤c2:建立从关键词到POI点的倒排索引,即每个关键词ki对应一个由POI ID组成的有序列表Lki P,列表中的元素是包含ki的POI。在对POIID进行排序时,首先比较它们所在子区域的先后顺序,序关系和步骤c1中的序关系相同,然后位于同一个子区域中的点按照它们与x轴正半轴的夹角排序。
步骤c3:在Lki R中,给每一个Ri,j附加一个指针,指向Lki P中的一个POI点,这个POI点是Ri,j∩Lki P中的POI ID最小值,记为li,j。通过这样的方式,可以实现从子区域到POI点的快速定位,即若Ri,j包含ki,则Lki P[li,j,li,j+1)是区域Ri,j中包含关键词ki的点。
比如:对于POI集合P’={p1’,p2’,...,p|P|’},pi’={pil’=(plati’,ploni’),keywordsi’=(keywordi1’,keywordi2’,...)},每个关键词对应一个由经纬度表示的位置和一个和这个点相关的关键词集合。设latmin、latmax、lonmin、lonmax分别表示集合中经度的最大值、最小值,纬度的最大值、最小值。以(latmin,lonmin)为原点O,正东方向为x轴正半轴,正北方向为y轴正半轴建立平面直角坐标系,则P中所有POI点均在(latmin,lonmin),(latmax,0),(latmax,lonmax),(0,lonmax)四个点围成的矩形范围内,记为Map。P中每个点pi’与x轴正半轴夹角记为piθ’=(plati’-latmin’)/(ploni’-lonmin’),有0≤piθ’≤π/2。将P中点按到原点距离排序,用欧式距离计算公式:dist(pi’,O)=sqrt((plati’-latmin’)2+(ploni’-lonmin’)2),排序后的集合记为P={p1,p2,...,p|P|},即若i<j,则有dist(pi’,O)<dist(pj’,O),其余表示和原集合相同。
再进行区域划分,即通过N-1个以O为圆心半径不等的1/4圆弧(0≤圆心角θ≤π/2)和N×(M-1)条沿半径方向端点在圆弧上的线段将Map分为N×M个区,每个区中POI点的个数相同(边界部分除外)。每两条圆弧之间的区域从内到外依次记为Ri(1≤i≤N),在Ri中,由径向线段切分后的区域从南向北依次记为Ri,j(1≤j≤M)。然后建立从关键词到Ri,j和POI点的倒排索引Lki P和Lki R。若Ri,j中的POI点pk包含关键词keywords,将Ri,j加入到Index1中keywords对应的倒排列表中,pk加入到Index2中keywords对应的倒排列表中,列表均有序。所有点、子区域添加完成后,添加从Index1到Index2的指针,表示POI点和子区域的包含关系。
在上述步骤结束后,得到一个支持相应查询的索引结构,当内存空间不够时,索引数据可以存放在磁盘上,后续查询算法中的剪枝策略能够帮助减少磁盘I/O次数,缩短查询时间。
再通过上述步骤建立完各坐标系地图的索引后,即可接收用户端的请求进行查询工作。
步骤N1,接收用户查询请求,所述请求包括查询点经纬度、查询方位、返回结果个数k和关键词集合K;所述查询方位包括从查询点出发的两条直线与指定坐标轴方向的夹角范围内的区域。
系统首先会获取并解析查询,在本申请涉及的查询中,用来确定空间信息和方向感知的参数主要包括查询点qgl(精确经纬度qg.x,qg.y)和查询方位(通过两个角度来定义,αraw表示初始方位与指定坐标系x轴正方向的夹角,βraw表示结束方位与指定坐标系x轴正方向的夹角),所述两个方位参数αraw和βraw用来确定查询的范围,即从q点出发,做两条与正东方向夹角分别为αraw与βraw的射线,查询目标就是从这两条射线围成的区域中找到满足条件的POI点。该方位参数可以通过移动设备上的感应设备获得(例如GPS定位,陀螺仪等),也可以由用户通过电脑等终端给定。本申请请求中还包括两个参数分别是:整数k用于确定返回的结果数,关键词集合K用于确定关键词这一约束条件。
在获取并解析完用户端的请求后,即可根据请求在系统中检索查询。在步骤N1中获得了用户自定义参数:qg.x,qg.y,[αraw,βraw],k,K,具体定义见步骤N1中描述,可以利用前述步骤中的索引结构Lki R和Lki P获得符合用户需求的查询结果集:Pq k,结果集k个POI点组成,这k个POI点:①都能覆盖K中包含的所有关键词;②并且位于由qg.x、qg.y和[αraw,βraw]确定的查询区域中,记这个区域为Rg。在所有满足①②条件的点中,这k个点是距离查询位置(qg.x,qg.y)最近的k个点。具体的查询过程通过以下几个步骤完成:
步骤N2,创建两个优先级队列QR和QP,分别用于存放有待进一步探查的子区域和兴趣点。
创建两个优先级队列QR和QP,分别用于存放有待进一步探查的子区域和POI点,键值(key)为q到相应区域(具体计算方式会在后面的步骤中提及)和POI点(欧氏距离)的距离,初始化为空。用变量dk记录QP中第k小的元素对应的键值,即当前top-k的阈值。
步骤N3,根据所述查询方位将所述查询分解到相应各坐标系地图中。
根据索引的建立方式及计算的简便性,根据查询所覆盖的区域将其分解到Mapn(1≤n≤4)中,以下的描述中用[α,β]表示在某一个Map中查询的初始方位和结束方位,α,β的角度是相对于相应Mapn的x轴正半轴:
①若0≤α≤β≤π/2,则用Map1中的索引执行查询,查询为q1={(q.x,q.y);[α,β];K;k},[α,β]=[αraw,βraw];
②若π/2≤α≤β≤π,则用Map2中的索引执行查询,查询为q2={(q.x,q.y);[α,β];K;k},[α,β]=[αraw-π/2,βraw-π/2];
③若π≤α≤β≤3π/2,则用Map3中的索引执行查询,查询为q3={(q.x,q.y);[α,β];K;k},[α,β]=[αraw-π,βraw-π];
④若3π/2≤α≤β≤2π,则用Map4中的索引执行查询,查询为q4={(q.x,q.y);[α,β];K;k},[α,β]=[αraw-3π/2,βraw-3π/2]。
对于更加复杂的情况,我们可以将其分解为前面四种基本查询的组合,例如[0,π/2)∩[α,β]、[π/2,π)∩[α,β]、[π,3π/2)∩[α,β]、[3π/2,2π)∩[α,β]等,最后将分解后的查询结果综合。
通过上述分解方法,可将[α,β]都统一到[0,π/2]这个区间上,并且与Mapn上的索引吻合,这样在查询时,只需对其附加一个和n相关的属性,所有的查询就可以统一处理。
步骤N4,计算查询点与相应各坐标系地图原点的距离,根据所述距离确定查询点所在环区域并将其加入QR中;其中,QR中的区域按距离远点的距离从近至远排序。
在步骤N3进行查询分解以后,需要对进行查询定位。
对于每个qn(1≤n≤4),在对应Map中为查询定位,即确定分解后的查询位置所在的区域Ri n,加入QR中,键值为0。计算dist(qnl,O)后可根据每个Mapn中的r1,r2,...,rN二分查找。
步骤N5,按顺序遍历QR中的区域,并根据索引查找符合查询方位覆盖区域、关键词集合K条件的k个兴趣点。
只要QR不为空,则还有潜在的可行解需要继续探查。通过步骤N4已经获得初始化的QR,按序遍历QR中元素(区域)。所述按序为按照距离原点从近至远的距离。每次获得队头元素(区域)Ri m,在这个区域中查找。先确定可能包含满足条件的解的子区域,然后再到每一个子区域中查找。由于每次处理qn,只需要调用Mapn对应的索引,所以查询统一用q={ql=(q.x,q.y);[α,β];K;k}表示,Mapn统一用Map表示,qnl与[α,β]确定的查询区域用R表示。
优选的,通过如下步骤按顺序遍历QR中的区域,并根据索引查找符合查询方位覆盖区域、关键词集合K条件的k个兴趣点:
步骤N51,从QR中取出第一个区域Ri,获得从q到Ri的距离最小值MINDIST(q,Ri);
步骤N52,当MINDIST(q,Ri)≥dk,则将当前QP中的前k个满足关键词与方向约束的距查询点距离最小的k个兴趣点作为查找结果;所述dk记录QP中第k小的兴趣点到查询点的距离;
从QR中取出第一个元素Ri,获得从q到Ri的距离最小值MINDIST(q,Ri),即用于维护优先级队列的键值。若MINDIST(q,Ri)≥dk,表明当前QP中的前k个元素就是满足关键词与方向约束的用于返回给用户的top-k个解,QR中还未被探查到的剩余区域不可能产生更优的解,搜索结束。否则,继续执行步骤N53。
步骤N53,当MINDIST(q,Ri)<dk,通过利用方位信息对Ri中的子区域剪枝和判断查询点q到子区域Ri,j的最短距离是否小于等于dk两个剪枝策略剪去不可能产生可行兴趣点的子区域,并根据剪枝完毕的结果中查询满足关键词与方向约束的距查询点距离最小的k个兴趣点。
在Ri中剪去不可能产生可行解的子区域,即返回Ri中需要进一步搜索以获得结果的子区域集合CRi m,集合有序。具体的剪枝策略包括:
(1)利用方位信息对Ri中的子区域剪枝。记qθ为查询位置q与x轴正半轴的夹角,qα ri(qβ ri)为从q出发,沿α(β)方向的射线与Ri外侧边界(半径为ri的圆弧)的交点。连接qα ri(qβ ri)与原点O,记连线与x轴正方向的夹角为θqα ri(θqβ ri)。通过θqα ri与θqβ ri,可以大致确定R与Ri相交区域的角度范围[τl Ri,τu Ri],其中τl Ri=min(θqα ri,qθ),τu Ri=min(θqβ ri,qθ)。从索引结构的定义与建立可知,对于所有Ri,j∈Ri,区域中的POI点与x轴正半轴的夹角范围是[θi,j-1,θi,j),因此,若θi,j-1>τu Ri或θi,j<τl Ri,Ri,j中的任何POI点都不可能在R内,即不可能是查询q的解。
(2)判断查询点q到子区域Ri,j的最短距离是否小于等于dk。每个子区域Ri,j,都是圆环的一部分,它与q的相对位置,决定了从q到Ri,j的最短距离。下面给出一种点到子区域的最短距离的计算方式。设Ri的内侧边界(即半径为ri-1的圆弧)与外侧边界(即半径为ri的圆弧)将Ri分为三部分,位于Ri内侧的部分记为Ri <,位于Ri外侧的部分记为Ri >。记Ri,j右下角的点为Pi-1,j-1,q与Pi-1,j-1之间的连线与x轴正半轴的夹角为θ(q,Pi-1,j-1),从q出发沿α(β)方向的射线与Ri的内侧圆弧的交点为qα r(i-1)(qβ r(i-1)),从q出发沿α(β)方向的射线与从O出发沿θi,j(θi,j-1)的射线的交点为qα θi,j(qβ θi,(j-1)),从q出发沿qθ方向的射线与Ri内侧圆弧的交点为qo r(i-1),qo r(i-1)与q之间的距离为qd。由几何知识可以得到表一中的最短距离公式:
表一
若MINDIST(q,Ri,j)>dk,则相应子区域Ri,j可以被剪枝,因为Ri,j中所有POI点到q的距离必然大于dk。参照图3,其示出了本申请的剪枝的示意图。
具体的,通过如下步骤通过利用方位信息对Ri中的子区域剪枝和判断查询点q到子区域Ri,j的最短距离是否小于等于dk两个剪枝策略剪去不可能产生可行兴趣点的子区域,并根据剪枝完毕的结果中查询k个满足关键词与方向约束的最小的k个兴趣点:
步骤N531,计算方位信息覆盖区域R与所述Ri的相交区域的角度范围[τl Ri,τu Ri],获取Ri中θi,j-1≥τl Ri且θi,j-1≤τu Ri的子区域Ri,j。
先利用上述第(1)条剪枝策略计算出[τl Ri,τu Ri],再根据二分查找和θi,1,θi,2,...,θi,M确定Ri与R相交的子区域Ri[α,β]={Ri,l,Ri,l+1,...,Ri,u},即θi,j-1≥τl Ri且θi,j-1≤τu Ri的区域。
步骤N532,对关键词集合K中的每个关键词ki,获取对应的子区域倒排索引Lki R,对其求交获得包含所有关键词的子区域Lk R=∩ki∈KLki R。
步骤N533,计算获得同时满足区域与关键词约束的子区域Ri K[α,β]=Ri[α,β]∩Lk R。
步骤N534,遍历Ri,j∈Ri K[α,β],如果MINDIST(q,Ri,j)≥dk,则剪掉该子区域,否则,将Ri,j加入到子区域集合CRi m中。
Ri K[α,β]中的每个子区域Ri,j都可以同时满足在[α,β]范围内和包含关键词,接下来通过策略(2)排除不可能包含top-k结果的子区域。遍历Ri,j∈Ri K[α,β],如果MINDIST(q,Ri,j)≥dk,说明该子区域中的POI点到查询位置的最短距离大于当前第k大的结果,则该子区域不可能产生top-k的结果。否则,将Ri,j加入到CRi m中。
最后,将CRi m中子区域按MINDIST(q,Ri,j)从小到大排序(也可以直接维护一个优先级队列)。
步骤N535,遍历步骤N534中得到的CRi m中的每一个子区域Ri,j,如果MINDIST(q,Ri,j)≥dk,停止遍历,否则,在Ri,j中查找可行兴趣点。
遍历步骤N534中得到的CRi m中的每一个子区域Ri,j。如果q到Ri,j的最短距离大于dk,停止遍历,否则在Ri,j中查找可行解。
步骤N536,对所有K中关键词ki,获得它在Ri,j中对应的兴趣点倒排索引Lki P(Ri,j)。
步骤N537,计算所有关键词对应的倒排列表的交集,即包含所有K中关键词的兴趣点LK P=∩ki∈KLki P(Ri,j)。
步骤N538,验证步骤N537中得到LK P中的兴趣点p是否满足范围约束,如果是,判断该点p是否dist(p,q)小于dk,如果dist(p,q)<dk,则将它加入到优先级队列QP中,并更新dk;
验证步骤N537中得到的POI点是否满足范围约束。对所有LK P中的点p(p∈LK P),判断p是否在[α,β]确定的范围内。如果它满足条件,说明p是一个可行解,下一步则要判断它是否可能是top-k的结果,如果dist(p,q)<dk,则将它加入到优先级队列QP中,更新dk。
步骤N539,判断查询点q到Ri+1的最小距离MINDIST(q,Ri+1)是否小于dk,如果MINDIST(q,Ri+1)<dk,则将Ri+1加入QR中,并转入步骤N51。判断是否将Ri的下一个区域,即Ri+1加入到QR中。如果查询点q到Ri+1的最小距离MINDIST(q,Ri+1)小于dk,说明区域Ri+1中可能存在到q距离小于dk的可行解。
参照图2,其示出了本申请最优的一个查询流程示意图。
参照图4,其示出了本申请的一个索引示例。
选取M=4,N=3,共有p1~p23共23个POI点,其中p3~p6、p9、p11、p12、p15、p21~p23包含关键词chinese和food。
其中,对于点到区域的最短距离可采用如下的计算方式。沿用步骤(5.4.2.)中的符号,可以由几何知识得到从q到区域Ri+1的最短距离,计算方式如下:
①若qd≥ri+1,则MINDIST(q,Ri+1)=∞;
②若ri≤qd≤ri+1,则MINDIST(q,Ri+1)=0;
③若qd<ri且α≤qθ≤β,则MINDIST(q,Ri+1)=ri-qd;
④若qd<ri且qθ<α,则MINDIST(q,Ri+1)=dist(q,qα ri);
⑤若qd<ri且qθ>β,则MINDIST(q,Ri+1)=dist(q,qβ ri)。
若MINDIST(q,Ri+1)≤dk,则以MINDIST(q,Ri+1)为键值将Ri+1加入到优先级队列QR中。
步骤N6,将查找结果返回至用户端;所述查找结果包括QP中满足关键词与方向约束的距查询点距离最小的k个兴趣点。
参照图,其示出了本申请的一种空间方向感知地图兴趣点搜索装置,包括:
请求接收模块210,接收用户查询请求,所述请求包括查询点经纬度、查询方位、返回结果个数k和关键词集合K;所述查询方位包括从查询点出发的两条直线与指定坐标轴方向的夹角范围内的区域;
队列创建模块220,创建两个优先级队列QR和QP,分别用于存放有待进一步探查的子区域和兴趣点;
查询分解模块230,根据所述查询方位将所述查询分解到相应各坐标系地图中;
查询定位模块240,计算查询点与相应各坐标系地图原点的距离,根据所述距离确定查询点所在环区域并将其加入QR中;其中,QR中的区域按距离远点的距离从近至远排序;
兴趣点查询模块250,按顺序遍历QR中的区域,并根据索引查找符合查询方位覆盖区域、关键词集合K条件的k个兴趣点;
结果返回模块250,将查找结果返回至用户端;所述查找结果包括QP中满足关键词与方向约束的距查询点距离最小的k个兴趣点;
其中,所述索引通过如下模块构建:
地图信息获取模块310,获取地图信息,分别以地图平面中的四个顶点作为坐标原点O,建立四个坐标系地图,并调整其中三个坐标系地图的属性至与另外一个坐标系地图属性相同;其中所述地图信息包括各兴趣点在经纬度和各兴趣点的关键词集合;
径向区域切分模块320,针对每一个坐标系地图,以所述原点为圆心,按照到原点的距离,通过N个1/4圆环将所述坐标系地图切分为N个环区域Ri(1≤i≤N),所述每个环区域包括的兴趣点个数相似;
弧度区域切分模块330,针对所述切分后的每个区域,通过沿半径方向多条直线将所述环区域切分为M个子区域,所述每个子区域中包括的兴趣点个数相似;并计算每个兴趣点与指定正半轴夹角,和每个子区域各兴趣点所在的夹角范围[θi,(j-1),θi,j),其中θi,(j-1)表示Ri,j(1≤j≤M)中的角度最小点的角度;
索引建立模块340,关键词ki到包括该关键词的子区域的倒排索引Lki R,并建立关键词ki到包括该关键词的兴趣点的倒排索引Lki P;所述子区域与该子区域的所述兴趣点对应并且所述两个索引序关系相同,所述序关系按照距原点的从近到远排序;所述各子区域中兴趣点按与特征方向正半轴的夹角排序。
对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
以上对本申请所提供的一种空间方向感知地图兴趣点搜索方法和装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (9)
1.一种空间方向感知地图兴趣点搜索方法,其特征在于,包括:
步骤N1,接收用户查询请求,所述请求包括查询点经纬度、查询方位、返回结果个数k和关键词集合K;所述查询方位包括从查询点出发的两条直线与指定坐标轴方向的夹角范围内的区域;
步骤N2,创建两个优先级队列QR和QP,分别用于存放有待进一步探查的子区域和兴趣点;
步骤N3,根据所述查询方位将所述查询分解到相应各坐标系地图中;
步骤N4,计算查询点与相应各坐标系地图原点的距离,根据所述距离确定查询点所在环区域并将其加入QR中;其中,QR中的区域按距离远点的距离从近至远排序;
步骤N5,按顺序遍历QR中的区域,并根据索引查找符合查询方位覆盖区域、关键词集合K条件的k个兴趣点;
步骤N6,将查找结果返回至用户端;所述查找结果包括QP中满足关键词与方向约束的距查询点距离最小的k个兴趣点;
其中,所述索引通过如下步骤构建:
步骤M1,获取地图信息,分别以地图平面中的四个顶点作为坐标原点O,建立四个坐标系地图,并调整其中三个坐标系地图的属性至与另外一个坐标系地图属性相同;其中所述地图信息包括各兴趣点在经纬度和各兴趣点的关键词集合;
步骤M2,针对每一个坐标系地图,以所述原点为圆心,按照到原点的距离,通过N个1/4圆环将所述坐标系地图切分为N个环区域Ri(1≤i≤N),所述每个环区域包括的兴趣点个数相似;
步骤M3,针对所述切分后的每个区域,通过沿半径方向多条直线将所述环区域切分为M个子区域,所述每个子区域中包括的兴趣点个数相似;并计算每个兴趣点与指定正半轴夹角,和每个子区域各兴趣点所在的夹角范围[θi,j-1,θi,j),其中θi,(j-1)表示Bi,j(1≤j≤M)中的角度最小点的角度;
步骤M4,关键词ki到包括该关键词的子区域的倒排索引Lki R,并建立关键词ki到包括该关键词的兴趣点的倒排索引Lki P;所述子区域与该子区域的所述兴趣点对应并且所述两个索引序关系相同,所述序关系按照距原点的从近到远排序;所述各子区域中兴趣点按与特征方向正半轴的夹角排序。
2.根据权利要求1所述的方法,其特征在于,通过如下步骤调整其中三个坐标系地图的属性与另外一个坐标系地图属性相同:
以地图左下角顶点为原点,正东方向为x轴正方向,正北方向为y轴正方向建立坐标系地图Map1;
以地图右下角顶点为原点,正北方向为x轴正方向,正西方向为y轴正方向建立坐标系地图Map2;
以地图右上角顶点为原点,正西方向为x轴正方向,正南方向为y轴正方向建立坐标系地图Map3;
以地图左上角顶点为原点,正南方向为x轴正方向,正东方向为y轴正方向建立坐标系地图Map4。
3.根据权利要求1或2所述的方法,其特征在于,通过以下步骤通过N个1/4圆环将所述坐标系地图切分为N个环区域:
将有序的p个兴趣点p1,p2,...,pP,均匀放入N个不相交的集合中Bi,每个集合Bi={p(i-1)×λ+1,...,pi×λ},1≤i≤N-1;其中,所述的λ=[p/N];
计算Bi中(1≤i≤N)的点到原点O的最短距离ri-1;
以O为圆心,r1,r2,...,rN-1为半径作N-1个1/4圆环,得到N个环区域R1,R2,...,RN。
4.根据权利要求3所述的方法,其特征在于:
如果存在dist(pλ×i+1,O)=dist(pλ×i,O),则将pλ×i+1放入Bi中,否则放入Bi+1中;其中所述dist(pi,0)表示兴趣点pi到原点O的距离。
5.根据权利要求3或4所述的方法,其特征在于,通过以下步骤计算每个子区域的各兴趣点所在的夹角范围:
获取每个子区域中与x轴正方向夹角最小的兴趣点,和与x轴正方向夹角最大的兴趣点;
将与x轴正方向夹角最小的兴趣点的夹角作为该子区域的夹角范围下限,并根据该子区域相邻的下一个子区域的下界确定该子区域的上限。
6.根据权利要求1或2所述的方法,其特征在于,通过以下步骤根据所述查询方位将所述查询转换到相应坐标系地图中:
计算从查询点出发的初始方位直线与特定坐标系地图的x轴正半轴的夹角α和结束方位直线与特定坐标系地图的x轴正半轴的夹角β;
将所述两条直线的夹角范围[α,β]分解统一到相应[0,π/2]区间的坐标系地图上。
7.根据权利要求1、2、3之一所述的方法,其特征在于通过如下步骤按顺序遍历QR中的区域,并根据索引查找符合查询方位覆盖区域、关键词集合K条件的k个兴趣点:
步骤N51,从QR中取出第一个区域Ri,获得从q到Ri的距离最小值MINDIST(q,Ri);
步骤N52,当MINDIST(q,Ri)≥dk,则将当前QP中的前k个满足关键词与方向约束的距查询点距离最小的k个兴趣点作为查找结果;所述dk记录QP中第k小的兴趣点到查询点的距离;
步骤N53,当MINDIST(q,Ri)<dk,通过利用方位信息对Ri中的子区域剪枝和判断查询点q到子区域Ri,j的最短距离是否小于等于dk两个剪枝策略剪去不可能产生可行兴趣点的子区域,并根据剪枝完毕的结果中查询满足关键词与方向约束的距查询点距离最小的k个兴趣点。
8.根据权利要求7所述的方法,其特征在于,通过如下步骤通过利用方位信息对Ri中的子区域剪枝和判断查询点q到子区域Ri,j的最短距离是否小于等于dk两个剪枝策略剪去不可能产生可行兴趣点的子区域,并根据剪枝完毕的结果中查询k个满足关键词与方向约束的最小的k个兴趣点:
步骤N531,计算方位信息覆盖区域R与所述Ri的相交区域的角度范围[τl Ri,τu Ri],获取Ri中θi,j-1≥τl Ri且θi,j-1≤τl Ri的子区域Ri,j;
步骤N532,对关键词集合K中的每个关键词ki,获取对应的子区域倒排索引Lki R,对其求交获得包含所有关键词的子区域Lk R=∩ki∈KLki R;
步骤N533,计算获得同时满足区域与关键词约束的子区域Ri K[α,β]=Ri[α,β]∩Lk R;
步骤N534,遍历Ri,j∈Ri K[α,β],如果MINDIST(q,Ri,j)≥dk,则剪掉该子区域,否则,将Ri,j加入到子区域集合CRi m中;
步骤N535,遍历步骤N534中得到的CRi m中的每一个子区域Ri,j,如果MINDIST(q,Ri,j)≥dk,停止遍历,否则,在Ri,j中查找可行兴趣点;
步骤N536,对所有K中关键词ki,获得它在Ri,j中对应的兴趣点倒排索引Lki P(Ri,j);
步骤N537,计算所有关键词对应的倒排列表的交集,即包含所有K中关键词的兴趣点LK P=∩ki∈KLki P(Ri,j);
步骤N538,验证步骤N537中得到LK P中的兴趣点p是否满足范围约束,如果是,判断该点p是否dist(p,q)小于dk,如果dist(p,q)<dk,则将它加入到优先级队列QP中,并更新dk;
步骤N539,判断查询点q到Ri+1的最小距离MINDIST(q,Ri+1)是否小于dk,如果MINDIST(q,Ri+1)<dk,则将Ri+1加入QR中,并转入步骤N51。
9.一种空间方向感知地图兴趣点搜索装置,其特征在于,包括:
请求接收模块,接收用户查询请求,所述请求包括查询点经纬度、查询方位、返回结果个数k和关键词集合K;所述查询方位包括从查询点出发的两条直线与指定坐标轴方向的夹角范围内的区域;
队列创建模块,创建两个优先级队列QR和QP,分别用于存放有待进一步探查的子区域和兴趣点;
查询分解模块,根据所述查询方位将所述查询分解到相应各坐标系地图中;
查询定位模块,计算查询点与相应各坐标系地图原点的距离,根据所述距离确定查询点所在环区域并将其加入QR中;其中,QR中的区域按距离原点的距离从近至远排序;
兴趣点查询模块,按顺序遍历QR中的区域,并根据索引查找符合查询方位覆盖区域、关键词集合K条件的k个兴趣点;
结果返回模块,将查找结果返回至用户端;所述查找结果包括QP中满足关键词与方向约束的距查询点距离最小的k个兴趣点;
其中,所述索引通过如下模块构建:
地图信息获取模块,获取地图信息,分别以地图平面中的四个顶点作为坐标原点O,建立四个坐标系地图,并调整其中三个坐标系地图的属性至与另外一个坐标系地图属性相同;其中所述地图信息包括各兴趣点在经纬度和各兴趣点的关键词集合;
径向区域切分模块,针对每一个坐标系地图,以所述原点为圆心,按照到原点的距离,通过N个1/4圆环将所述坐标系地图切分为N个环区域Ri(1≤i≤N),所述每个环区域包括的兴趣点个数相似;
弧度区域切分模块,针对所述切分后的每个区域,通过沿半径方向多条直线将所述环区域切分为M个子区域,所述每个子区域中包括的兴趣点个数相似;并计算每个兴趣点与指定正半轴夹角,和每个子区域各兴趣点所在的夹角范围[θi,(j-1),θi,j),其中θi,(j-1)表示Ri,j(1≤j≤M)中的角度最小点的角度;
索引建立模块,关键词ki到包括该关键词的子区域的倒排索引Lki R,并建立关键词ki到包括该关键词的兴趣点的倒排索引Lki P;所述子区域与该子区域的所述兴趣点对应并且所述两个索引序关系相同,所述序关系按照距原点的从近到远排序;所述各子区域中兴趣点按与特征方向正半轴的夹角排序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110402795.5A CN103150309B (zh) | 2011-12-07 | 2011-12-07 | 一种空间方向感知地图兴趣点搜索方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110402795.5A CN103150309B (zh) | 2011-12-07 | 2011-12-07 | 一种空间方向感知地图兴趣点搜索方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103150309A true CN103150309A (zh) | 2013-06-12 |
CN103150309B CN103150309B (zh) | 2016-03-30 |
Family
ID=48548395
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110402795.5A Active CN103150309B (zh) | 2011-12-07 | 2011-12-07 | 一种空间方向感知地图兴趣点搜索方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103150309B (zh) |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103279560A (zh) * | 2013-06-13 | 2013-09-04 | 清华大学 | 基于安全区域的关键字连续查询方法 |
CN104199937A (zh) * | 2014-09-10 | 2014-12-10 | 中国测绘科学研究院 | 一种多网站poi的位置映射方法及装置 |
CN104484477A (zh) * | 2014-12-29 | 2015-04-01 | 广州视源电子科技股份有限公司 | 一种电子地图搜索方法、装置及系统 |
CN104679787A (zh) * | 2013-11-27 | 2015-06-03 | 华为技术有限公司 | 兴趣信息的统计方法及装置 |
CN104850649A (zh) * | 2015-05-29 | 2015-08-19 | 苏州大学张家港工业技术研究院 | 一种在地图上进行兴趣点采样的方法及系统 |
CN104915393A (zh) * | 2015-05-26 | 2015-09-16 | 百度在线网络技术(北京)有限公司 | 一种用于方向定向搜索的方法与设备 |
CN105260461A (zh) * | 2015-10-16 | 2016-01-20 | 杭州中奥科技有限公司 | 实现空间大数据快速处理及检索的方法 |
CN106599044A (zh) * | 2016-11-09 | 2017-04-26 | 中国测绘科学研究院 | 一种道路网目标信息的识别和处理方法 |
CN106815319A (zh) * | 2016-12-26 | 2017-06-09 | 北京爱接力科技发展有限公司 | 一种目标对象的确定方法及装置 |
CN107291785A (zh) * | 2016-04-12 | 2017-10-24 | 滴滴(中国)科技有限公司 | 一种数据查找方法及装置 |
CN107330734A (zh) * | 2017-07-03 | 2017-11-07 | 云南大学 | 基于Co‑location模式和本体的商业地址选择方法 |
CN107346313A (zh) * | 2016-05-05 | 2017-11-14 | 清华大学 | 虚拟面挖掘的方法和装置 |
CN108268504A (zh) * | 2016-12-31 | 2018-07-10 | 中国移动通信集团陕西有限公司 | 一种划分兴趣点的搜索区域的方法及设备 |
CN108475064A (zh) * | 2017-05-16 | 2018-08-31 | 深圳市大疆创新科技有限公司 | 用于设备控制的方法、设备和计算机可读存储介质 |
CN108628950A (zh) * | 2018-04-04 | 2018-10-09 | 昆明理工大学 | 一种基于文本-域倒排的空间文本查询方法及装置 |
CN109740072A (zh) * | 2018-12-29 | 2019-05-10 | 携程计算机技术(上海)有限公司 | Ota平台下基于poi的酒店排序方法及系统 |
CN110290459A (zh) * | 2019-06-25 | 2019-09-27 | 清华大学 | 一种室内定位方法及装置 |
CN110535893A (zh) * | 2018-05-24 | 2019-12-03 | 视联动力信息技术股份有限公司 | 一种基于浏览器的地图数据渲染方法和装置 |
WO2020135585A1 (zh) * | 2018-12-29 | 2020-07-02 | 北京辰安科技股份有限公司 | 基于互联网地图的空间数据采集方法及装置 |
CN111798698A (zh) * | 2020-06-24 | 2020-10-20 | 中国第一汽车股份有限公司 | 一种前方目标车辆的确定方法、装置及车辆 |
CN112948717A (zh) * | 2021-05-13 | 2021-06-11 | 北京电信易通信息技术股份有限公司 | 一种基于多因素约束的海量空间poi搜索方法及系统 |
CN112989079A (zh) * | 2021-04-22 | 2021-06-18 | 北京电信易通信息技术股份有限公司 | 一种新型图像数据检索的方法及系统 |
CN113704583A (zh) * | 2021-10-27 | 2021-11-26 | 远江盛邦(北京)网络安全科技股份有限公司 | 网络疆域地图的坐标连续性调整方法及装置 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105069071A (zh) * | 2015-07-30 | 2015-11-18 | 清华大学 | 微博数据的地理位置信息提取方法 |
US9589358B1 (en) | 2015-09-29 | 2017-03-07 | International Business Machines Corporation | Determination of point of interest views from selected vantage points |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060142942A1 (en) * | 2004-12-29 | 2006-06-29 | Samsung Electronics Co., Ltd. | Device and method for creating electronic album using map data |
CN101226063A (zh) * | 2008-01-30 | 2008-07-23 | 深圳市戴文科技有限公司 | 一种获取导航信息的方法、移动终端和导航系统 |
CN101290228A (zh) * | 2007-04-17 | 2008-10-22 | 北京协进科技发展有限公司 | 一种基于移动终端的地图数据处理方法、系统及移动终端 |
CN101299217A (zh) * | 2008-06-06 | 2008-11-05 | 北京搜狗科技发展有限公司 | 一种地图信息处理的方法、装置和系统 |
CN101313300A (zh) * | 2005-08-30 | 2008-11-26 | 谷歌公司 | 本地搜索 |
-
2011
- 2011-12-07 CN CN201110402795.5A patent/CN103150309B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060142942A1 (en) * | 2004-12-29 | 2006-06-29 | Samsung Electronics Co., Ltd. | Device and method for creating electronic album using map data |
CN101313300A (zh) * | 2005-08-30 | 2008-11-26 | 谷歌公司 | 本地搜索 |
CN101290228A (zh) * | 2007-04-17 | 2008-10-22 | 北京协进科技发展有限公司 | 一种基于移动终端的地图数据处理方法、系统及移动终端 |
CN101226063A (zh) * | 2008-01-30 | 2008-07-23 | 深圳市戴文科技有限公司 | 一种获取导航信息的方法、移动终端和导航系统 |
CN101299217A (zh) * | 2008-06-06 | 2008-11-05 | 北京搜狗科技发展有限公司 | 一种地图信息处理的方法、装置和系统 |
Cited By (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103279560A (zh) * | 2013-06-13 | 2013-09-04 | 清华大学 | 基于安全区域的关键字连续查询方法 |
CN104679787A (zh) * | 2013-11-27 | 2015-06-03 | 华为技术有限公司 | 兴趣信息的统计方法及装置 |
CN104679787B (zh) * | 2013-11-27 | 2021-01-01 | 华为技术有限公司 | 兴趣信息的统计方法及装置 |
CN104199937A (zh) * | 2014-09-10 | 2014-12-10 | 中国测绘科学研究院 | 一种多网站poi的位置映射方法及装置 |
CN104484477A (zh) * | 2014-12-29 | 2015-04-01 | 广州视源电子科技股份有限公司 | 一种电子地图搜索方法、装置及系统 |
CN104484477B (zh) * | 2014-12-29 | 2018-05-22 | 广州视源电子科技股份有限公司 | 一种电子地图搜索方法、装置及系统 |
CN104915393A (zh) * | 2015-05-26 | 2015-09-16 | 百度在线网络技术(北京)有限公司 | 一种用于方向定向搜索的方法与设备 |
CN104850649A (zh) * | 2015-05-29 | 2015-08-19 | 苏州大学张家港工业技术研究院 | 一种在地图上进行兴趣点采样的方法及系统 |
CN104850649B (zh) * | 2015-05-29 | 2018-06-19 | 苏州大学张家港工业技术研究院 | 一种在地图上进行兴趣点采样的方法及系统 |
CN105260461B (zh) * | 2015-10-16 | 2018-05-04 | 杭州中奥科技有限公司 | 实现空间大数据快速处理及检索的方法 |
CN105260461A (zh) * | 2015-10-16 | 2016-01-20 | 杭州中奥科技有限公司 | 实现空间大数据快速处理及检索的方法 |
US10969239B2 (en) | 2016-04-12 | 2021-04-06 | Beijing Didi Infinity Technology And Development Co., Ltd. | Systems and methods for determining a point of interest |
CN107291785A (zh) * | 2016-04-12 | 2017-10-24 | 滴滴(中国)科技有限公司 | 一种数据查找方法及装置 |
CN107346313B (zh) * | 2016-05-05 | 2020-11-27 | 清华大学 | 虚拟面挖掘的方法和装置 |
CN107346313A (zh) * | 2016-05-05 | 2017-11-14 | 清华大学 | 虚拟面挖掘的方法和装置 |
CN106599044A (zh) * | 2016-11-09 | 2017-04-26 | 中国测绘科学研究院 | 一种道路网目标信息的识别和处理方法 |
CN106815319B (zh) * | 2016-12-26 | 2019-12-31 | 北京爱接力科技发展有限公司 | 一种目标对象的确定方法及装置 |
CN106815319A (zh) * | 2016-12-26 | 2017-06-09 | 北京爱接力科技发展有限公司 | 一种目标对象的确定方法及装置 |
CN108268504A (zh) * | 2016-12-31 | 2018-07-10 | 中国移动通信集团陕西有限公司 | 一种划分兴趣点的搜索区域的方法及设备 |
CN108475064A (zh) * | 2017-05-16 | 2018-08-31 | 深圳市大疆创新科技有限公司 | 用于设备控制的方法、设备和计算机可读存储介质 |
CN108475064B (zh) * | 2017-05-16 | 2021-11-05 | 深圳市大疆创新科技有限公司 | 用于设备控制的方法、设备和计算机可读存储介质 |
CN107330734B (zh) * | 2017-07-03 | 2020-07-31 | 云南大学 | 基于Co-location模式和本体的商业地址选择方法 |
CN107330734A (zh) * | 2017-07-03 | 2017-11-07 | 云南大学 | 基于Co‑location模式和本体的商业地址选择方法 |
CN108628950A (zh) * | 2018-04-04 | 2018-10-09 | 昆明理工大学 | 一种基于文本-域倒排的空间文本查询方法及装置 |
CN108628950B (zh) * | 2018-04-04 | 2022-07-19 | 昆明理工大学 | 一种基于文本-域倒排的空间文本查询方法及装置 |
CN110535893A (zh) * | 2018-05-24 | 2019-12-03 | 视联动力信息技术股份有限公司 | 一种基于浏览器的地图数据渲染方法和装置 |
WO2020135585A1 (zh) * | 2018-12-29 | 2020-07-02 | 北京辰安科技股份有限公司 | 基于互联网地图的空间数据采集方法及装置 |
CN109740072A (zh) * | 2018-12-29 | 2019-05-10 | 携程计算机技术(上海)有限公司 | Ota平台下基于poi的酒店排序方法及系统 |
CN109740072B (zh) * | 2018-12-29 | 2023-07-04 | 携程计算机技术(上海)有限公司 | Ota平台下基于poi的酒店排序方法及系统 |
CN110290459A (zh) * | 2019-06-25 | 2019-09-27 | 清华大学 | 一种室内定位方法及装置 |
CN111798698A (zh) * | 2020-06-24 | 2020-10-20 | 中国第一汽车股份有限公司 | 一种前方目标车辆的确定方法、装置及车辆 |
CN112989079B (zh) * | 2021-04-22 | 2021-08-03 | 北京电信易通信息技术股份有限公司 | 一种新型图像数据检索的方法及系统 |
CN112989079A (zh) * | 2021-04-22 | 2021-06-18 | 北京电信易通信息技术股份有限公司 | 一种新型图像数据检索的方法及系统 |
CN112948717B (zh) * | 2021-05-13 | 2021-08-20 | 北京电信易通信息技术股份有限公司 | 一种基于多因素约束的海量空间poi搜索方法及系统 |
CN112948717A (zh) * | 2021-05-13 | 2021-06-11 | 北京电信易通信息技术股份有限公司 | 一种基于多因素约束的海量空间poi搜索方法及系统 |
CN113704583A (zh) * | 2021-10-27 | 2021-11-26 | 远江盛邦(北京)网络安全科技股份有限公司 | 网络疆域地图的坐标连续性调整方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103150309B (zh) | 2016-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103150309B (zh) | 一种空间方向感知地图兴趣点搜索方法和系统 | |
Chen et al. | Spatial keyword search: a survey | |
US10963471B2 (en) | Progressive spatial searching using augmented structures | |
USRE44876E1 (en) | Proximity search methods using tiles to represent geographical zones | |
JP5602864B2 (ja) | 位置ベースのサービスミドルウェア | |
US20100325127A1 (en) | Method and apparatus for automatic geo-location and social group indexing | |
US20170067748A1 (en) | Location-Based Search Refinements | |
WO2012172160A1 (en) | Method and apparatus for resolving geo-identity | |
WO2019217293A1 (en) | Personalized match score for places | |
CN104778284B (zh) | 一种空间图像查询方法和系统 | |
CN103927310B (zh) | 一种地图数据搜索建议生成方法及装置 | |
US8495046B1 (en) | Encoding locations and using distances for resources | |
CN109492150A (zh) | 基于语义轨迹大数据的反向最近邻查询方法及装置 | |
CN112948717B (zh) | 一种基于多因素约束的海量空间poi搜索方法及系统 | |
CN103714081A (zh) | 一种专有地名的识别方法和装置 | |
US20130138635A1 (en) | Search method using a plurality of space of interest objects | |
Fang et al. | SpaceKey: exploring patterns in spatial databases | |
Zhang et al. | Enrichment of topographic road database for the purpose of routing and navigation | |
CN112883272B (zh) | 一种推荐对象的确定方法 | |
US20140094197A1 (en) | Speed and topology relevant dynamic geo search | |
Arefin et al. | Skyline Query for Selecting Spatial Objects by Utilizing Surrounding Objects. | |
US11074642B2 (en) | System, computer-readable media and computer-implemented method for automated location interaction management | |
JP2013156991A (ja) | Soi検索システム及び方法 | |
Chen et al. | Skyline query-based attraction recommendation system: an example on design and development of the demodulation and encoding heritage system | |
EP2624198A1 (en) | Search method using a plurality of space of interest objects |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |