CN104679904A - 一种路网中位置点查询方法及装置 - Google Patents
一种路网中位置点查询方法及装置 Download PDFInfo
- Publication number
- CN104679904A CN104679904A CN201510124552.8A CN201510124552A CN104679904A CN 104679904 A CN104679904 A CN 104679904A CN 201510124552 A CN201510124552 A CN 201510124552A CN 104679904 A CN104679904 A CN 104679904A
- Authority
- CN
- China
- Prior art keywords
- node
- point
- location point
- candidate
- road network
- 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.)
- Pending
Links
Landscapes
- Navigation (AREA)
Abstract
本发明公开了一种路网中位置点查询方法及装置,应用于路网,所述路网中包括多个位置点,每个位置点具有其各自的空间位置信息及位置属性信息,所述方法包括:接收查询请求,所述查询请求包括查询位置点及查询关键字;基于所述查询请求,确定所述路网中的目标位置点;其中,所述目标位置点的位置属性信息与所述查询关键字之间的对应关系满足预设第一条件,且所述目标位置点的空间位置信息与所述查询位置点的位置信息之间的对应关系满足预设第二条件。
Description
技术领域
本发明涉及路网定位技术领域,特别涉及一种路网中位置点查询方法及装置。
背景技术
定位技术和移动通信的飞速发展,使得位置信息查询称为多种应用中的重要组成部分,比如地图应用中提供带有简短文本描述信息的目标位置的查询应用,如带有游泳池的酒店位置等,人们可以找到与他们输入的关键字“游泳池”相关的目标酒店。
现有技术中,已经提出多种空间关键字查询方案,如Boolean空间关键字查询方案等。但这些方案通常无法更好的满足用户的意图,例如,Boolean空间关键字查询方案中,在数据库中没有位置点满足查询要求时,将不会返回任何位置点,而在很多位置点均满足查询要求时则会返回太多的位置点参考给用户选择,使得查询结果的准确性较低。
发明内容
本发明的目的在于提供一种路网中位置点查询方法及装置,用以解决现有技术中的关键字查询方案中查询结果的准确性较低的技术问题。
本发明提供了一种路网中位置点查询方法,应用于路网,所述路网中包括多个位置点,每个位置点具有其各自的空间位置信息及位置属性信息,所述方法包括:
接收查询请求,所述查询请求包括查询位置点及查询关键字;
基于所述查询请求,确定所述路网中的目标位置点;
其中,所述目标位置点的位置属性信息与所述查询关键字之间的对应关系满足预设第一条件,且所述目标位置点的空间位置信息与所述查询位置点的位置信息之间的对应关系满足预设第二条件。
上述方法,优选的,所述第一条件包括:位置点的位置属性信息与查询关键字之间的文本相关性属性值大于或等于预设第一阈值,所述第二条件包括:位置点的空间位置信息与所述查询位置点的位置信息之间的位置距离损耗值由小到大排列序号值小于或等于预设第二阈值;
相应的,所述基于所述查询请求,确定所述路网上的目标位置点,包括:
确定所述路网中位置属性信息与所述查询关键字之间的文本相关性属性值大于或等于预设第一阈值的位置点为候选位置点;
确定所述候选位置点中空间位置信息与所述查询位置点的位置信息之间的位置距离损耗值由小到大排列序号值小于或等于预设第二阈值的位置点为目标位置点。
上述方法,优选的,所述路网具有关键字倒排文件,所述关键字倒排文件包括多个倒排列表,每个所述倒排列表对应所述路网中所有关键字中的一个倒排关键字,每个所述倒排列表中包括多个具有所述倒排关键字的位置点,所述位置点对应其重要性属性值及其所属路网结点,每个所述倒排列表中的位置点依据其各自的重要性属性值的大小顺序排列;
其中,所述确定所述路网中位置属性信息与所述查询关键字之间的文本相关性属性值大于或等于预设第一阈值的位置点为候选位置点,包括:
将每个所述倒排列表中排序第一位的位置点作为当前位置点;
将所述当前位置点置于预设候选集合中;
对所述候选集合中的当前位置点的重要性属性值进行加和,得到所述当前位置点对应的上界得分;
判断所述上界得分是否小于所述第一阈值,如果是,结束当前处理,否则,将每个所述倒排列表中所述当前位置点的下一个位置点更新为当前位置点,返回执行所述将所述当前位置点置于预设候选集合中,直到所述当前位置点对应的上界得分是否小于所述第一阈值,结束当前处理;
删除所述候选集合中文本相关性属性值小于所述第一阈值的位置点;
确定所述候选集合中剩余的位置点为候选位置点。
上述方法,优选的,所述确定所述候选位置点中空间位置信息与所述查询位置点的位置信息之间的位置距离损耗值由小到大排列序号值小于或等于预设第二阈值的位置点为目标位置点,包括:
基于所述候选集合中的各个候选位置点,确定目标结点集合,所述目标结点集合包括每个所述候选位置点在所述路网上对应的路网结点;
基于所述查询位置点,确定所述目标结点集合中与所述查询位置点之间的距离损耗值由小到大排列序号值小于或等于所述第二阈值的结点,以组成候选结点集合;
将所述候选位置点中其对应结点未出现在所述候选结点集合中的位置点删除;
确定剩余的候选位置点为目标位置点。
上述方法,优选的,所述第一条件包括所述位置属性信息与查询关键字之间的文本相关性属性值大于或等于预设第一阈值,所述第二条件包括空间位置信息与所述查询位置点的位置信息之间的位置距离损耗值由小到大排列序号值小于或等于预设第二阈值;
相应的,所述基于所述查询请求,确定所述路网上的目标位置点,包括:
将所述路网中的根结点确定为当前结点;
将所述当前结点插入预设的候选队列中,所述候选队列中的结点按照其与所述查询位置点之间的位置距离损耗值由小到大排列;
判断所述候选队列中的排列序号值最小的目标结点是否为叶子结点;
在所述目标结点为叶子结点时,判断所述目标结点对应的位置点的位置属性信息与所述查询关键字之间的文本相关性属性值是否大于或等于所述第一阈值,如果是,将所述目标结点对应的位置点确定为目标位置点并删除所述候选队列中的目标结点,返回执行所述判断所述候选队列中的排列序号值最小的目标结点是否为叶子结点,直到所述候选队列为空或者所述目标位置点的数量大于或等于所述第二阈值,结束当前处理,否则,删除所述候选队列中的目标结点,返回执行所述判断所述候选队列中的排列序号值最小的目标结点是否为叶子结点,直到所述候选队列为空或者所述目标位置点的数量大于或等于所述第二阈值,结束当前处理;
在所述目标结点非叶子结点时,确定所述目标节点的子结点,删除所述候选队列中的目标结点并将所述目标结点的子节点中与所述查询关键字的文本相关性属性值大于或等于所述第一阈值的子结点确定为当前结点,返回执行所述将所述当前结点插入所述候选队列中。
本发明还提供了一种路网中位置点查询装置,应用于路网,所述路网中包括多个位置点,每个位置点具有其各自的空间位置信息及位置属性信息,所述装置包括:
请求接收单元,用于接收查询请求,所述查询请求包括查询位置点及查询关键字;
目标确定单元,用于基于所述查询请求,确定所述路网中的目标位置点;
其中,所述目标位置点的位置属性信息与所述查询关键字之间的对应关系满足预设第一条件,且所述目标位置点的空间位置信息与所述查询位置带你的位置信息之间的对应关系满足预设第二条件。
上述装置,优选的,所述第一条件包括:位置点的位置属性信息与所述查询关键字之间的文本相关性属性值大于或等于预设第一阈值,所述第二条件包括:位置点空间位置信息与所述查询位置点的位置信息之间的位置距离损耗值由小到大排列序号值小于或等于预设第二阈值;
相应的,所述目标确定单元包括:
候选确定子单元,用于确定所述路网中位置属性信息与所述查询关键字之间的文本相关性属性值大于或等于预设第一阈值的位置点为候选位置点;
目标确定子单元,用于确定所述候选位置点中空间位置信息与所述查询位置点的位置信息之间的位置距离损耗值由小到大排列序号值小于或等于预设第二阈值的位置点为目标位置点。
上述装置,优选的,所述路网具有关键字倒排文件,所述关键字倒排文件包括多个倒排列表,每个所述倒排列表对应所述路网中所有关键字中的一个倒排关键字,每个所述倒排列表中包括多个具有所述倒排关键字的位置点,所述位置点对应其重要性属性值及其所述路网结点,每个所述倒排列表中的位置点依据其各自的重要性属性值的大小顺序排列;
其中,所述候选确定子单元包括:
当前确定模块,用于将每个所述倒排列表中排序第一位的位置点作为当前位置点;
位置点设置模块,用于将所述当前位置点置于预设候选集合中;
上界获取模块,用于对所述候选集合中的当前位置点的重要性属性值进行加和,得到所述当前位置点对应的上界数值;
上界判断模块,用于判断所述上界数值是否小于所述第一阈值,如果是,结束当前处理,否则,触发当前更新模块;
当前更新模块,用于将每个所述倒排列表中所述当前位置点的下一个位置点更新为当前位置点,返回触发所述位置点设置模块将所述当前位置点置于预设候选集合中,直到所述当前位置点对应的上界数值是否小于所述第一阈值,结束当前处理;
位置点删除模块,用于删除所述候选集合中文本相关性属性值小于所述第一阈值的位置点;
候选点确定模块,用于确定所述候选集合中剩余的位置点为候选位置点。
上述装置,优选的,所述目标确定子单元包括:
目标集合确定模块,用于基于所述候选集合中的各个候选位置点,确定目标结点集合,所述目标结点集合包括每个所述候选位置点在所述路网上对应的路网结点;
候选集合确定模块,用于基于所述查询位置点,确定所述目标结点集合中与所述查询位置点之间的距离损耗值由小到大排列序号值小于或等于所述第二阈值的结点,以组成候选结点集合;
位置点筛选模块,用于将所述候选位置点中其对应结点未出现在所述候选结点集合中的位置点删除;
目标点确定模块,用于确定剩余的候选位置点为目标位置点。
上述装置,优选的,所述目标确定单元包括:
当前结点确定子单元,用于将所述路网中的根结点确定为当前节点;
当前结点插入子单元,用于将所述当前节点插入预设的候选队列中,所述候选队列中的结点按照其与所述查询位置点之间的位置距离损耗值由小到大排列;
叶子结点判断子单元,用于判断所述候选队列中的排列序号值最小的目标结点是否为叶子结点,如果是,触发阈值判断子单元,否则,触发当前节点更新子单元;
阈值判断子单元,用于判断所述目标结点对应的位置点的位置属性信息与所述查询关键字之间的文本相关性属性值是否大于或等于所述第一阈值,如果是,触发位置点确定子单元,否则,触发结点删除子单元;
位置点确定子单元,将所述目标结点对应的位置点确定为目标位置点,触发结点删除子单元;
结点删除子单元,用于删除所述候选队列中的目标结点,返回触发所述叶子结点判断子单元判断所述候选队列中的排列序号值最小的目标结点是否为叶子结点,直到所述候选队列为空或者所述目标位置点的数量大于或等于所述第二阈值,结束当前处理;
当前节点更新子单元,用于确定所述目标节点的子结点,删除所述候选队列中的目标结点并将所述目标结点的子节点中与所述查询关键字的文本相关性属性值大于或等于所述第一阈值的子结点确定为当前结点,返回触发当前结点插入子单元将所述当前结点插入所述候选队列中。
由上述方案可知,本发明提供的一种路网中位置点查询方法及装置,通过对路网中每个位置点的空间位置信息及位置属性信息进行条件判断,来确定路网中位置属性信息与查询请求中查询关键字之间的对应关系满足第一条件且空间位置信息与查询位置点的位置信息之间的对应关系满足第二条件的位置点,这些位置点即为符合用户的查询请求的目标位置点。本发明通过对路网中各个位置点与查询位置点之间的空间位置信息及位置属性信息进行条件判断,进而确定符合用户查询请求的目标位置点,避免现有技术中返回空或大量的位置点使得查询结果不准确的情况,由此提高查询结果的准确率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明提供的一种路网中位置点查询方法实施例一的流程图;
图2a~图2f为本发明实施例的应用示例图;
图3为本发明提供的一种路网中位置点查询方法实施例二的部分流程图;
图4为本发明提供的一种路网中位置点查询方法实施例三的部分流程图;
图5为本发明提供的一种路网位置点查询方法实施例三的另一部分流程图;
图6为本发明提供的一种路网中位置点查询方法实施例四的部分流程图;
图7为本发明提供的一种路网中位置点查询装置实施例五的结构示意图;
图8为本发明提供的一种路网中位置点查询装置实施例六的部分结构示意图;
图9为本发明提供的一种路网中位置点查询装置实施例七的部分结构示意图;
图10位本发明实施例七的另一部分结构示意图;
图11为本发明提供的一种路网中位置点查询装置实施例八的部分结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参考图1,为本发明提供的一种路网中位置点查询方法实施例一的流程图,其中,所述方法可以应用于路网中,所述路网中包括有多个位置点,如图2a中所示的位置点p1~p12,每个所述位置点具有其各自的空间位置信息及位置属性信息,其中,所述空间位置信息可以理解为所述位置点的地理位置信息等,如地理坐标或经度和纬度等,所述位置属性信息是指所述位置点的文本相关信息,如关键字等,如America、Australia、Japan、Chinese、Resturant、hotel、post-office、music、film等信息。
在本实施例中,所述方法可以包括以下步骤实现:
步骤101:接收查询请求,所述查询请求包括查询位置点及查询关键字。
其中,所述查询请求为用户所需要进行位置点查询时所输入的请求,其包括能够表明用户查询意愿的查询位置点及查询关键字,即用户需要查询距离所述查询位置点的距离满足要求且其关键字与所述查询关键字具有一定关系的位置点。例如,以图2b中为例,用户需要查询距离位置点Q最近且具有关键字Chinese、hotel及music的关键字的位置点。
步骤102:基于所述查询请求,确定所述路网中的目标位置点。
其中,所述目标位置点的位置属性信息与所述查询关键字之间的对应关系满足预设第一条件,且所述目标位置点的空间位置信息与所述查询位置点的位置信息之间的对应关系满足预设第二条件。
也就是说,所述路网中的所有位置点中,只有其位置属性信息与所述查询关键字的对应骨关系满足所述第一条件且其空间位置信息与所述查询位置点之间的对应关系满足所述第二条件的位置点,才会被确定为目标位置点,即满足用户查询请求的位置点。
由上述方案可知,本发明提供的一种路网中位置点查询方法实施例一,通过对路网中每个位置点的空间位置信息及位置属性信息进行条件判断,来确定路网中位置属性信息与查询请求中查询关键字之间的对应关系满足第一条件且空间位置信息与查询位置点的位置信息之间的对应关系满足第二条件的位置点,这些位置点即为符合用户的查询请求的目标位置点。本实施例通过对路网中各个位置点与查询位置点之间的空间位置信息及位置属性信息进行条件判断,进而确定符合用户查询请求的目标位置点,避免现有技术中返回空或大量的位置点使得查询结果不准确的情况,由此提高查询结果的准确率。
需要说明的是,所述第一条件与所述第二条件可以由用户进行设定,以提高查询的灵活性。
在具体实现中,所述第一条件可以为:位置点的位置属性信息与查询关键字之间的文本相关性属性值大于或等于预设第一阈值,而所述第二条件可以为:位置点的空间位置信息与所述查询位置点的位置信息之间的位置距离损耗值由小到大排列序号值小于或等于预设第二阈值。
也就是说,本实施例中所查询到的位置点与查询位置点之间的关键字文本相关性满足第一条件,即其相关性属性值大于或等于第一阈值,且目标位置点与查询位置点之间的位置距离损耗值满足第二条件,即距离最近的K个位置点为目标位置点。
相应的,参考图3,为本发明提供的一种路网中位置点查询方法实施例二中所述步骤102的实现流程图,其中,所述步骤102可以通过以下步骤实现:
步骤121:确定所述路网中位置属性信息与所述查询关键字之间的文本相关性属性值大于或等于预设第一阈值的位置点为候选位置点。
步骤122:确定所述候选位置点中空间位置信息与所述查询位置点的位置信息之间的位置距离损耗值由小到大排列序号值小于或等于预设第二阈值的位置点为目标位置点。
也就是说,所述路网中以本实施例中的方案进行位置点查询,简称TK-SK查询,是根据一个给定的查询请求,包括查询位置点及查询关键值,以QN表示,本实施例的目标在于找到k(第二阈值)个距离查询位置比较近且他们的文本相关性得分(文本相关性属性值)高于一个给定阈值(第一阈值,用户设置,能够灵活改变的阈值)的位置点。
此时,QN有4个组成部分,可表示为<q.l,q.d,q.K,q.T>。其中q.l表示查询的空间地理位置(包括经度和维度),q.d表示一组查询关键字,q.K表示最大返回结果的个数(第二阈值),以及q.T表示文本相关性得分阈值(第一阈值)。每个位置点POI(用p表示),正如前文中所说的,都会依附于路网中的一个结点。本实施例给定一个查询QN、路网G以及POI数据集P。QN根据得分函数τ以得分降序的顺序返回k个POI。得分函数τ与文本相关性成正相关,与距离消耗成负相关,定义如下:
τ(p)=f(θ(p.d,q.d)-Τ)/δ(p.l,q.l)
其中,得分f是一个特殊的布尔满足表达函数。θ(p.d,q.d)代表着p.d与查询关键字q.d的文本相关性得分(介于0-1)。T是一个文本相关性阈值。这个阈值是文本限制用来决定一个POI p是否满足查询的文本需求。比如,一个POI p,如果θ(q.d,p.d)≥T,则认为p满足查询q的文本需求。换而言之,f(θ(p.d,q.d)-Τ)是用来决定查询q是否得到满足。如果q得到满足,,则f(θ(p.d,q.d)-Τ)=1,否则f(θ(p.d,q.d)-Τ)=0。δ(p.l,q.l)代表着查询位置(q.l)与POI位置(p.l)路网邻近程度。也就是说,POI p与查询位置(q.l)的最短路径成本,可以定义为:
δ(p.l,q.l)=||p.l,q.l||
其中,本发明实施例可以基于迪杰斯特拉算法的baseline方案实现在路网中进行TK-SK查询,以下为例:
本实施例中,Baseline索引结构包含一个空间组成部分和一个空间文本组成部分。该索引保存路网中的位置信息以及其连通性,可以用来在路网中进行TK-Sk查询。其中空间组成部分保存一个路网R-tree和一个(节点与边)连接文件,用于保存路网的空间结构,这样可以从路网中任意位置进行查询。另一方面,空间文本组成部分用于保存所用POI的文本信息。给定靠近查询QN的(路网中的)结点,空间文本组成部分可以计算出哪些POIs的文本相关性得分是高于阈值T。如图2a所示,POI Pi的文本信息可以根据Pi的ID以及其所关联的结点获取得到。
总体来说,算法以QN作为参数,按得分τ降序的顺序返回最好的K个POI。首先,路网R-tree用来定位查询位置所在的结点v,然后,结点v以保存到堆栈N(以距离升序排序)中进行迭代算法。迭代算法开始,从N中距离查询位置最近的结点v开始访问,每个关联v的POI都进行判断,如果满足文本相关性限制要求的POI放入结果集Hq.k中,并标记v为已访问,从N中删除。在将于v相连的未被访问的结点存入N中,重新迭代,直到找到k个满足要求的POI或者整个路网全部都被访问。
在实际应用中,可以预先获取路网的关键字倒排文件来实现上述技术方案,以降低IO操作的消耗。也就是说,所述路网具有关键字倒排文件,所述关键字倒排文件可以包括多个倒排列表,每个所述倒排列表对应所述路网中所有关键字中的一个倒排关键字,每个所述倒排列表中包括多个具有所述倒排关键字的位置点,所述位置点对应其重要性属性值及其所属路网结点,每个所述倒排列表中的位置点依据其各自的重要性属性值的大小顺序排列,如图2c中的关键字Chinese、hotel、music各自的倒排列表所示。
也就是说,倒排文件是由一系列关键字表示的列表组成的。每个倒排列表保存的POI都包含同一个关键字。对于每一个POI p,该列表保存p所关联的结点和该列表所对应的的关键字的ti在p中的得分,并且按得分降序排序。如图2c所示,由“Hotel”确定的倒排列表中,第一个位置是POI P2的相关信息,数值0.7171表示P2的重要性得分,而v9表示P2所在的边。
而在本实施例中可以引入G-tree路网索引方案,在本方案中,G-tree是一个基于树地以一种有效地方式保存空间结构的路网索引结构,能有效地处理路网中的KNN查询。本实施例利用其来找到路网中最近的k个候选POIs。根据图2b的信息,图2d表示G-tree图划分,而图2e则表示G-tree路网结构。距离矩阵保存一个边到另外一个边/结点(非叶子结点/叶子节点(等同于“结点”))的最短路径。非叶子结点的距离矩阵保存其孩子结点的边界之间的最短路径距离,而叶子结点的距离矩阵保存其包含的路网结点到边界的最短路径距离。因此,两个结点之间(路网中的结点)最短路径长度计算的复杂度较小。
此时,基于前文中所述内容,参考图4,为本发明提供的一种路网中位置点查询方法实施例三中所述步骤121的流程图,其中,所述步骤121可以通过以下步骤实现:
步骤401:将每个所述倒排列表中排序第一位的位置点作为当前位置点。
步骤402:将所述当前位置点置于预设候选集合中。
步骤403:对所述候选集合中的当前位置点的重要性属性值进行加和,得到所述当前位置点对应的上界得分。
步骤404:判断所述上界得分是否小于所述第一阈值,如果是,执行步骤405,否则,执行步骤406。
步骤405:结束当前处理。
步骤406:将每个所述倒排列表中所述当前位置点的下一个位置点更新为当前位置点,返回执行所述步骤402将所述当前位置点置于预设候选集合中,直到所述当前位置点对应的上界得分是否小于所述第一阈值,执行步骤405。
步骤407:删除所述候选集合中文本相关性属性值小于所述第一阈值的位置点。
步骤408:确定所述候选集合中剩余的位置点为候选位置点。
也就是说,所述步骤401至所述步骤408用来找到所有的候选POIs P'(p∈P',θ(p.d,q.d)≥T)。首先,一个用来提前结束执行流程的上界得分(上界初始化为∞,并根据查询关键字获取相应的倒排文件。然后,访问这些倒排文件,在每个列表中的每个元素(同一排列顺序)以步伐pos逐一访问,并且候选POIs集合C中的元素p得到相应的更新以及上界得分也得到相应的得分。如果上界得分比阈值q.T还小,则停止探索倒排文件中各个倒排列表的后续其他位置点。接下来,完善C中的POI的完整得分,即为:将文本相关性属性值不满足(θ(p'.d,q.d)<T)的POI从C中删除,C即为所述候选集合,其中剩余的位置点为候选位置点。
相应的,参考图5,为本发明提供的一种路网位置点查询方法实施例三中所述步骤122的流程图,其中,所述步骤122可以通过以下步骤实现:
步骤501:基于所述候选集合中的各个候选位置点,确定目标结点集合,所述目标结点集合包括每个所述候选位置点在所述路网上对应的路网结点。
基于前文中描述内容,本实施例中将候选集合中剩下的POIs关联的结点保存到结点集合N。最终得到了满足要求的候选POI集合C以及相应的结点N,其中,结点集合N是POI集合C中的POI所关联的路网中结点去重集合,因为存在多个POI关联同一个结点的情况。
步骤502:基于所述查询位置点,确定所述目标结点集合中与所述查询位置点之间的距离损耗值由小到大排列序号值小于或等于所述第二阈值的结点,以组成候选结点集合。
步骤503:将所述候选位置点中其对应结点未出现在所述候选结点集合中的位置点删除。
步骤504:确定剩余的候选位置点为目标位置点。
也就是说,本实施例在得到候选POIs集合C以及相关的结点集合N之后,本实施例通过步骤用来找到最近的k个POI。首先,根据集合N,生成相应的(结点)出现列表O,队列H初始化为{<root,0>},然后找到最近的k个结点集合R。根据集合R,重新评估POIs集合C,对于那些C中POI,其关联的结点不在R中则将其从C中删除,最后返回C作为最后的结果,C中的位置点即为目标位置点。
另外,本发明中也可以通过分层次索引IG-tree来实现明白位置点的确定。这种方案中,IG-tree结构将倒排文件和G-tree路网整合在一起,并且以倒排文件关在G-tree树结点的形式组织起来。IG-tree是从下往上的方式构建起来的。具体来说,IG-tree结点的倒排文件构建是先于其父节点的倒排文件构建。除根结点以外的结点都关联一个倒排文件。路网中的结点表示为IG-tree中的叶子节点,其倒排文件保存关联的POIs的文本详细信息,例如,加入两个叶子节点LN1和LN2、以及他们的父节点N1,LN1关联的POI有p1(Music=0.8,Hotel=0.2),p2(Music=0.4,Chinese=0.6),LN2关联的POI有p3(Hotel=0.5,Bar=0.5)那么LN1关联的倒排文件就是{<p1,{Music=0.8,Hotel=0.2}>,<p2,{Music=0.4,Chinese=0.6}>};LN2关联的倒排文件就是{<p3,{Hotel=0.5,Bar=0.5}>};从而N1关联的倒排文件就是{Music=0.8,Hotel=0.5,Bar=0.5,Chinese=0.6},即叶子结点由于其直接可代表路网中的结点,其关联的倒排文件直接保存POI的文本详细信息,而对于非叶子节点则保存其包含的POI所拥有的关键字的最大得分值。
而非叶子结点保存其容纳的POIs所包含的关键字的对应的最大得分,例如,最大得分如上一示例中,非叶子节点的某个关键字的最大得分是其所有孩子结点中该关键字得分的最大值。如图2f中索引结构所示。
具体的,参考图6,为本发明提供的一种路网中位置点查询方法实施例四中所述步骤102的实现流程图,其中,所示步骤102可以包括以下步骤:
步骤601:将所述路网中的根结点确定为当前结点;
步骤602:将所述当前结点插入预设的候选队列中,所述候选队列中的结点按照其与所述查询位置点之间的位置距离损耗值由小到大排列;
步骤603:判断所述候选队列中的排列序号值最小的目标结点是否为叶子结点,在所述目标结点为叶子结点时,执行步骤604,在所述目标结点非叶子结点时,执行步骤605。
步骤604:判断所述目标结点对应的位置点的位置属性信息与所述查询关键字之间的文本相关性属性值是否大于或等于所述第一阈值,如果是,执行步骤606,否则,执行步骤607。
步骤605:确定所述目标节点的子结点,删除所述候选队列中的目标结点并将所述目标结点的子节点中与所述查询关键字的文本相关性属性值大于或等于所述第一阈值的子结点确定为当前结点,返回执行所述步骤602将所述当前结点插入所述候选队列中。
步骤606:将所述目标结点对应的位置点确定为目标位置点并删除所述候选队列中的目标结点,返回执行所述步骤603判断所述候选队列中的排列序号值最小的目标结点是否为叶子结点,直到所述候选队列为空或者所述目标位置点的数量大于或等于所述第二阈值,结束当前处理。
步骤607:删除所述候选队列中的目标结点,返回执行所述步骤603判断所述候选队列中的排列序号值最小的目标结点是否为叶子结点,直到所述候选队列为空或者所述目标位置点的数量大于或等于所述第二阈值,结束当前处理。
也就是说,基于前文所述,本实施例中接收QN作为输入参数最多返回k个按得分τ降序排序的最佳POIs。若结点n是一个叶子结点(例如,n是路网中的结点),其关联的POI p只要其满足θ(p.d,q.d)≥Τ则就将其加入结果集中,如果n是一个非叶子结点,在计算其孩子结点与查询q的文本相关性,将那些文本相关性得分大于等于阈值T的孩子结点放入队列H中,并且其孩子结点到查询位置结点的距离进行相应的更新。在找到k个POI或者整个路网遍历完时结束程序。假设一个查询QN,其查询位置邻近v7,如图2b中所示。查询关键字q.d={Chinese music hotel},q.k=1以及文本相关性阈值q.T=0.6。首先生成列表O,然后计算第一位top1如下:
第一步:将根节点<G0,0>存入队列H中;此时队列H的状态是<G0,0>。
第二步:从H拿到<G0,0>,寻找其子节点G1,G2。计算他们的文本相关性,即分别计算G1与查询QN和G2与QN的文本相关性,并非G1与G2之间的文本相关性,例如,计算p1’(Music=0.8,Hotel=0.2)与查询q(q.d={Music})则其相关性得分就是0.8。同时,可以得到θ(G1.d,q.d)=1,θ(G2.d,q.d)=1,两者都大于第一阈值T。再计算他们与查询位置的距离,由于δ(G2.l,q.l)=0,δ(G1.l,q.l)=3,则G2排在G1之前。此时队列H的状态是<G2,0>,<G1,3>。
第三步:从H中拿到<G2,0>,查找其孩子结点分别是G5和G6,同样计算他们的文本相关性得分,可以算出得到θ(G5.d,q.d)=0.87和θ(G6.d,q.d)=0.81。然后计算他们与查询位置的邻近程度。由于δ(G5.l,q.l)=0,G5插入H中位置在<G1,3>之前,而G6由于其δ(G6.l,q.l)=8插入到H中<G1,3>的后面。此时队列H的状态是<G5.0>,<G1.3>,<G6.8>。
第四步:从H中拿到<G5.0>,同样地探寻其子结点,然后计算每个叶子结点,我们发现没有叶子节点相对于查询的文本相关性得分大于等于阈值。在探索<G1,3>时,同样如此。因此,此时队列H的状态是<G6.8>。
第五步:从H中拿到<G6.8>,同样探索其子结点,相应的计算文本相关性以及路网邻近程度,我们发现叶子节点v10满足文本相关性需求,即其余与查询的文本相关性得分大于阈值0.6。将<v10,8>放入堆栈中。此时堆栈H的状态是<v10,8>。
第六步:从H中拿到<v10,8>,探索v10关联的POI,最终发现P3为返回结果,这是因为θ(p3.d,q.d)=0.81且P3是目前位置第一个满足要求的POI。所以top 1结果得到。
参考图7,为本发明提供的一种路网中位置点查询装置实施例五的结构示意图,其中,所述装置应用于路网中,所述路网中包括有多个位置点,如图2a中所示的位置点p1~p12,每个所述位置点具有其各自的空间位置信息及位置属性信息,其中,所述空间位置信息可以理解为所述位置点的地理位置信息等,如地理坐标或经度和纬度等,所述位置属性信息是指所述位置点的文本相关信息,如关键字等,如America、Australia、Japan、Chinese、Resturant、hotel、post-office、music、film等信息。
在本实施例中,所述装置可以包括以下结构:
请求接收单元701,用于接收查询请求,所述查询请求包括查询位置点及查询关键字。
其中,所述查询请求为用户所需要进行位置点查询时所输入的请求,其包括能够表明用户查询意愿的查询位置点及查询关键字,即用户需要查询距离所述查询位置点的距离满足要求且其关键字与所述查询关键字具有一定关系的位置点。例如,以图2b中为例,用户需要查询距离位置点Q最近且具有关键字Chinese、hotel及music的关键字的位置点。
目标确定单元702,用于基于所述查询请求,确定所述路网中的目标位置点。
其中,所述目标位置点的位置属性信息与所述查询关键字之间的对应关系满足预设第一条件,且所述目标位置点的空间位置信息与所述查询位置带你的位置信息之间的对应关系满足预设第二条件。
也就是说,所述路网中的所有位置点中,只有其位置属性信息与所述查询关键字的对应骨关系满足所述第一条件且其空间位置信息与所述查询位置点之间的对应关系满足所述第二条件的位置点,才会被确定为目标位置点,即满足用户查询请求的位置点。
由上述方案可知,本发明提供的一种路网中位置点查询装置实施例五,通过对路网中每个位置点的空间位置信息及位置属性信息进行条件判断,来确定路网中位置属性信息与查询请求中查询关键字之间的对应关系满足第一条件且空间位置信息与查询位置点的位置信息之间的对应关系满足第二条件的位置点,这些位置点即为符合用户的查询请求的目标位置点。本实施例通过对路网中各个位置点与查询位置点之间的空间位置信息及位置属性信息进行条件判断,进而确定符合用户查询请求的目标位置点,避免现有技术中返回空或大量的位置点使得查询结果不准确的情况,由此提高查询结果的准确率。
需要说明的是,所述第一条件与所述第二条件可以由用户进行设定,以提高查询的灵活性。
在具体实现中,所述第一条件可以为:位置点的位置属性信息与查询关键字之间的文本相关性属性值大于或等于预设第一阈值,而所述第二条件可以为:位置点的空间位置信息与所述查询位置点的位置信息之间的位置距离损耗值由小到大排列序号值小于或等于预设第二阈值。
也就是说,本实施例中所查询到的位置点与查询位置点之间的关键字文本相关性满足第一条件,即其相关性属性值大于或等于第一阈值,且目标位置点与查询位置点之间的位置距离损耗值满足第二条件,即距离最近的K个位置点为目标位置点。
参考图8,为本发明提供的一种路网中位置点查询装置实施例六中所述目标确定单元702的结构示意图,其中,所述目标确定单元702可以包括以下结构:
候选确定子单元721,用于确定所述路网中位置属性信息与所述查询关键字之间的文本相关性属性值大于或等于预设第一阈值的位置点为候选位置点。
目标确定子单元722,用于确定所述候选位置点中空间位置信息与所述查询位置点的位置信息之间的位置距离损耗值由小到大排列序号值小于或等于预设第二阈值的位置点为目标位置点。
也就是说,所述路网中以本实施例中的方案进行位置点查询,简称TK-SK查询,是根据一个给定的查询请求,包括查询位置点及查询关键值,以QN表示,本实施例的目标在于找到k(第二阈值)个距离查询位置比较近且他们的文本相关性得分(文本相关性属性值)高于一个给定阈值(第一阈值,用户设置,能够灵活改变的阈值)的位置点。
此时,QN有4个组成部分,可表示为<q.l,q.d,q.K,q.T>。其中q.l表示查询的空间地理位置(包括经度和维度),q.d表示一组查询关键字,q.K表示最大返回结果的个数(第二阈值),以及q.T表示文本相关性得分阈值(第一阈值)。每个位置点POI(用p表示),正如前文中所说的,都会依附于路网中的一个结点。本实施例给定一个查询QN、路网G以及POI数据集P。QN根据得分函数τ以得分降序的顺序返回k个POI。得分函数τ与文本相关性成正相关,与距离消耗成负相关,定义如下:
τ(p)=f(θ(p.d,q.d)-Τ)/δ(p.l,q.l)
其中,得分f是一个特殊的布尔满足表达函数。θ(p.d,q.d)代表着p.d与查询关键字q.d的文本相关性得分(介于0-1)。T是一个文本相关性阈值。这个阈值是文本限制用来决定一个POI p是否满足查询的文本需求。比如,一个POI p,如果θ(q.d,p.d)≥T,则认为p满足查询q的文本需求。换而言之,f(θ(p.d,q.d)-Τ)是用来决定查询q是否得到满足。如果q得到满足,,则f(θ(p.d,q.d)-Τ)=1,否则f(θ(p.d,q.d)-Τ)=0。δ(p.l,q.l)代表着查询位置(q.l)与POI位置(p.l)路网邻近程度。也就是说,POI p与查询位置(q.l)的最短路径成本,可以定义为:
δ(p.l,q.l)=||p.l,q.l||
其中,本发明实施例可以基于迪杰斯特拉算法的baseline方案实现在路网中进行TK-SK查询,具体实现可以参考前文中相应方法实施例内容,此处不再详述。
在实际应用中,可以预先获取路网的关键字倒排文件来实现上述技术方案,以降低IO操作的消耗。也就是说,所述路网具有关键字倒排文件,所述关键字倒排文件可以包括多个倒排列表,每个所述倒排列表对应所述路网中所有关键字中的一个倒排关键字,每个所述倒排列表中包括多个具有所述倒排关键字的位置点,所述位置点对应其重要性属性值及其所属路网结点,每个所述倒排列表中的位置点依据其各自的重要性属性值的大小顺序排列,如图2c中的关键字Chinese、hotel、music各自的倒排列表所示。
也就是说,倒排文件是由一系列关键字表示的列表组成的。每个倒排列表保存的POI都包含同一个关键字。对于每一个POI p,该列表保存p所关联的结点和该列表所对应的的关键字的ti在p中的得分,并且按得分降序排序。如图2c所示,由“Hotel”确定的倒排列表中,第一个位置是POI P2的相关信息,数值0.7171表示P2的重要性得分,而v9表示P2所在的边。
而在本实施例中可以引入G-tree路网索引方案,在本方案中,G-tree是一个基于树地以一种有效地方式保存空间结构的路网索引结构,能有效地处理路网中的KNN查询。本实施例利用其来找到路网中最近的k个候选POIs。根据图2b的信息,图2d表示G-tree图划分,而图2e则表示G-tree路网结构。距离矩阵保存一个边到另外一个边/结点(非叶子结点/叶子节点(等同于“结点”))的最短路径。非叶子结点的距离矩阵保存其孩子结点的边界之间的最短路径距离,而叶子结点的距离矩阵保存其包含的路网结点到边界的最短路径距离。因此,两个结点之间(路网中的结点)最短路径长度计算的复杂度较小。
此时,基于前文中所述内容,参考图9,为本发明提供的一种路网中位置点查询装置实施例七中所述候选确定子单元721的结构示意图,其中,所述候选确定子单元721可以包括以下结构:
当前确定模块901,用于将每个所述倒排列表中排序第一位的位置点作为当前位置点;
位置点设置模块902,用于将所述当前位置点置于预设候选集合中;
上界获取模块903,用于对所述候选集合中的当前位置点的重要性属性值进行加和,得到所述当前位置点对应的上界数值;
上界判断模块904,用于判断所述上界数值是否小于所述第一阈值,如果是,结束当前处理,否则,触发当前更新模块905;
当前更新模块905,用于将每个所述倒排列表中所述当前位置点的下一个位置点更新为当前位置点,返回触发所述位置点设置模块903将所述当前位置点置于预设候选集合中,直到所述当前位置点对应的上界数值是否小于所述第一阈值,结束当前处理;
位置点删除模块906,用于删除所述候选集合中文本相关性属性值小于所述第一阈值的位置点;
候选点确定模块907,用于确定所述候选集合中剩余的位置点为候选位置点。
也就是说,上述结构用来找到所有的候选POIs P'(p∈P',θ(p.d,q.d)≥T)。其具体实现方案及举例可以参考前文中相应方法实施例内容,此处不再详述。
相应的,参考图10,位本发明实施例七中所述目标确定子单元722的结构示意图,其中,所述目标确定子单元722可以包括以下结构:
目标集合确定模块1001,用于基于所述候选集合中的各个候选位置点,确定目标结点集合,所述目标结点集合包括每个所述候选位置点在所述路网上对应的路网结点。
基于前文中描述内容,本实施例中将候选集合中剩下的POIs关联的结点保存到结点集合N。最终得到了满足要求的候选POI集合C以及相应的结点N,其中,结点集合N是POI集合C中的POI所关联的路网中结点去重集合,因为存在多个POI关联同一个结点的情况。
候选集合确定模块1002,用于基于所述查询位置点,确定所述目标结点集合中与所述查询位置点之间的距离损耗值由小到大排列序号值小于或等于所述第二阈值的结点,以组成候选结点集合。
位置点筛选模块1003,用于将所述候选位置点中其对应结点未出现在所述候选结点集合中的位置点删除。
目标点确定模块1004,用于确定剩余的候选位置点为目标位置点。
也就是说,本实施例在得到候选POIs集合C以及相关的结点集合N之后,本实施例通过步骤用来找到最近的k个POI。首先,根据集合N,生成相应的(结点)出现列表O,队列H初始化为{<root,0>},然后找到最近的k个结点集合R。根据集合R,重新评估POIs集合C,对于那些C中POI,其关联的结点不在R中则将其从C中删除,最后返回C作为最后的结果,C中的位置点即为目标位置点。
另外,本发明中也可以通过分层次索引IG-tree来实现明白位置点的确定。这种方案中,IG-tree结构将倒排文件和G-tree路网整合在一起,并且以倒排文件关在G-tree树结点的形式组织起来。IG-tree是从下往上的方式构建起来的。具体来说,IG-tree结点的倒排文件构建是先于其父节点的倒排文件构建。除根结点以外的结点都关联一个倒排文件。路网中的结点表示为IG-tree中的叶子节点,其倒排文件保存关联的POIs的文本详细信息。
而非叶子结点保存其容纳的POIs所包含的关键字的对应的最大得分,例如,最大得分如上一示例中,非叶子节点的某个关键字的最大得分是其所有孩子结点中该关键字得分的最大值。如图2f中索引结构所示。
具体的,参考图11,为本发明提供的一种路网中位置点查询装置实施例八中所述目标确定单元702的结构示意图,其中,所述目标确定单元702可以包括以下结构:
当前结点确定子单元1101,用于将所述路网中的根结点确定为当前节点。
当前结点插入子单元1102,用于将所述当前节点插入预设的候选队列中,所述候选队列中的结点按照其与所述查询位置点之间的位置距离损耗值由小到大排列。
叶子结点判断子单元1103,用于判断所述候选队列中的排列序号值最小的目标结点是否为叶子结点,如果是,触发阈值判断子单元1104,否则,触发当前节点更新子单元1105。
阈值判断子单元1104,用于判断所述目标结点对应的位置点的位置属性信息与所述查询关键字之间的文本相关性属性值是否大于或等于所述第一阈值,如果是,触发位置点确定子单元1106,否则,触发结点删除子单元1107;
位置点确定子单元1106,将所述目标结点对应的位置点确定为目标位置点,触发结点删除子单元1107;
结点删除子单元1107,用于删除所述候选队列中的目标结点,返回触发所述叶子结点判断子单元1103判断所述候选队列中的排列序号值最小的目标结点是否为叶子结点,直到所述候选队列为空或者所述目标位置点的数量大于或等于所述第二阈值,结束当前处理;
当前节点更新子单元1105,用于确定所述目标节点的子结点,删除所述候选队列中的目标结点并将所述目标结点的子节点中与所述查询关键字的文本相关性属性值大于或等于所述第一阈值的子结点确定为当前结点,返回触发当前结点插入子单元1102将所述当前结点插入所述候选队列中。
本实施例的具体实现方案,可以参考前文中相应方法实施例,此处不再详述。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本申请所提供的一种路网中位置点查询方法及装置进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种路网中位置点查询方法,其特征在于,应用于路网,所述路网中包括多个位置点,每个位置点具有其各自的空间位置信息及位置属性信息,所述方法包括:
接收查询请求,所述查询请求包括查询位置点及查询关键字;
基于所述查询请求,确定所述路网中的目标位置点;
其中,所述目标位置点的位置属性信息与所述查询关键字之间的对应关系满足预设第一条件,且所述目标位置点的空间位置信息与所述查询位置点的位置信息之间的对应关系满足预设第二条件。
2.根据权利要求1所述的方法,其特征在于,所述第一条件包括:位置点的位置属性信息与查询关键字之间的文本相关性属性值大于或等于预设第一阈值,所述第二条件包括:位置点的空间位置信息与所述查询位置点的位置信息之间的位置距离损耗值由小到大排列序号值小于或等于预设第二阈值;
相应的,所述基于所述查询请求,确定所述路网上的目标位置点,包括:
确定所述路网中位置属性信息与所述查询关键字之间的文本相关性属性值大于或等于预设第一阈值的位置点为候选位置点;
确定所述候选位置点中空间位置信息与所述查询位置点的位置信息之间的位置距离损耗值由小到大排列序号值小于或等于预设第二阈值的位置点为目标位置点。
3.根据权利要求2所述的方法,其特征在于,所述路网具有关键字倒排文件,所述关键字倒排文件包括多个倒排列表,每个所述倒排列表对应所述路网中所有关键字中的一个倒排关键字,每个所述倒排列表中包括多个具有所述倒排关键字的位置点,所述位置点对应其重要性属性值及其所属路网结点,每个所述倒排列表中的位置点依据其各自的重要性属性值的大小顺序排列;
其中,所述确定所述路网中位置属性信息与所述查询关键字之间的文本相关性属性值大于或等于预设第一阈值的位置点为候选位置点,包括:
将每个所述倒排列表中排序第一位的位置点作为当前位置点;
将所述当前位置点置于预设候选集合中;
对所述候选集合中的当前位置点的重要性属性值进行加和,得到所述当前位置点对应的上界得分;
判断所述上界得分是否小于所述第一阈值,如果是,结束当前处理,否则,将每个所述倒排列表中所述当前位置点的下一个位置点更新为当前位置点,返回执行所述将所述当前位置点置于预设候选集合中,直到所述当前位置点对应的上界得分是否小于所述第一阈值,结束当前处理;
删除所述候选集合中文本相关性属性值小于所述第一阈值的位置点;
确定所述候选集合中剩余的位置点为候选位置点。
4.根据权利要求2或3所述的方法,其特征在于,所述确定所述候选位置点中空间位置信息与所述查询位置点的位置信息之间的位置距离损耗值由小到大排列序号值小于或等于预设第二阈值的位置点为目标位置点,包括:
基于所述候选集合中的各个候选位置点,确定目标结点集合,所述目标结点集合包括每个所述候选位置点在所述路网上对应的路网结点;
基于所述查询位置点,确定所述目标结点集合中与所述查询位置点之间的距离损耗值由小到大排列序号值小于或等于所述第二阈值的结点,以组成候选结点集合;
将所述候选位置点中其对应结点未出现在所述候选结点集合中的位置点删除;
确定剩余的候选位置点为目标位置点。
5.根据权利要求1所述的方法,其特征在于,所述第一条件包括所述位置属性信息与查询关键字之间的文本相关性属性值大于或等于预设第一阈值,所述第二条件包括空间位置信息与所述查询位置点的位置信息之间的位置距离损耗值由小到大排列序号值小于或等于预设第二阈值;
相应的,所述基于所述查询请求,确定所述路网上的目标位置点,包括:
将所述路网中的根结点确定为当前结点;
将所述当前结点插入预设的候选队列中,所述候选队列中的结点按照其与所述查询位置点之间的位置距离损耗值由小到大排列;
判断所述候选队列中的排列序号值最小的目标结点是否为叶子结点;
在所述目标结点为叶子结点时,判断所述目标结点对应的位置点的位置属性信息与所述查询关键字之间的文本相关性属性值是否大于或等于所述第一阈值,如果是,将所述目标结点对应的位置点确定为目标位置点并删除所述候选队列中的目标结点,返回执行所述判断所述候选队列中的排列序号值最小的目标结点是否为叶子结点,直到所述候选队列为空或者所述目标位置点的数量大于或等于所述第二阈值,结束当前处理,否则,删除所述候选队列中的目标结点,返回执行所述判断所述候选队列中的排列序号值最小的目标结点是否为叶子结点,直到所述候选队列为空或者所述目标位置点的数量大于或等于所述第二阈值,结束当前处理;
在所述目标结点非叶子结点时,确定所述目标节点的子结点,删除所述候选队列中的目标结点并将所述目标结点的子节点中与所述查询关键字的文本相关性属性值大于或等于所述第一阈值的子结点确定为当前结点,返回执行所述将所述当前结点插入所述候选队列中。
6.一种路网中位置点查询装置,其特征在于,应用于路网,所述路网中包括多个位置点,每个位置点具有其各自的空间位置信息及位置属性信息,所述装置包括:
请求接收单元,用于接收查询请求,所述查询请求包括查询位置点及查询关键字;
目标确定单元,用于基于所述查询请求,确定所述路网中的目标位置点;
其中,所述目标位置点的位置属性信息与所述查询关键字之间的对应关系满足预设第一条件,且所述目标位置点的空间位置信息与所述查询位置带你的位置信息之间的对应关系满足预设第二条件。
7.根据权利要求6所述的装置,其特征在于,所述第一条件包括:位置点的位置属性信息与所述查询关键字之间的文本相关性属性值大于或等于预设第一阈值,所述第二条件包括:位置点空间位置信息与所述查询位置点的位置信息之间的位置距离损耗值由小到大排列序号值小于或等于预设第二阈值;
相应的,所述目标确定单元包括:
候选确定子单元,用于确定所述路网中位置属性信息与所述查询关键字之间的文本相关性属性值大于或等于预设第一阈值的位置点为候选位置点;
目标确定子单元,用于确定所述候选位置点中空间位置信息与所述查询位置点的位置信息之间的位置距离损耗值由小到大排列序号值小于或等于预设第二阈值的位置点为目标位置点。
8.根据权利要求7所述的装置,其特征在于,所述路网具有关键字倒排文件,所述关键字倒排文件包括多个倒排列表,每个所述倒排列表对应所述路网中所有关键字中的一个倒排关键字,每个所述倒排列表中包括多个具有所述倒排关键字的位置点,所述位置点对应其重要性属性值及其所述路网结点,每个所述倒排列表中的位置点依据其各自的重要性属性值的大小顺序排列;
其中,所述候选确定子单元包括:
当前确定模块,用于将每个所述倒排列表中排序第一位的位置点作为当前位置点;
位置点设置模块,用于将所述当前位置点置于预设候选集合中;
上界获取模块,用于对所述候选集合中的当前位置点的重要性属性值进行加和,得到所述当前位置点对应的上界数值;
上界判断模块,用于判断所述上界数值是否小于所述第一阈值,如果是,结束当前处理,否则,触发当前更新模块;
当前更新模块,用于将每个所述倒排列表中所述当前位置点的下一个位置点更新为当前位置点,返回触发所述位置点设置模块将所述当前位置点置于预设候选集合中,直到所述当前位置点对应的上界数值是否小于所述第一阈值,结束当前处理;
位置点删除模块,用于删除所述候选集合中文本相关性属性值小于所述第一阈值的位置点;
候选点确定模块,用于确定所述候选集合中剩余的位置点为候选位置点。
9.根据权利要求7或8所述的装置,其特征在于,所述目标确定子单元包括:
目标集合确定模块,用于基于所述候选集合中的各个候选位置点,确定目标结点集合,所述目标结点集合包括每个所述候选位置点在所述路网上对应的路网结点;
候选集合确定模块,用于基于所述查询位置点,确定所述目标结点集合中与所述查询位置点之间的距离损耗值由小到大排列序号值小于或等于所述第二阈值的结点,以组成候选结点集合;
位置点筛选模块,用于将所述候选位置点中其对应结点未出现在所述候选结点集合中的位置点删除;
目标点确定模块,用于确定剩余的候选位置点为目标位置点。
10.根据权利要求1所述的装置,其特征在于,所述目标确定单元包括:
当前结点确定子单元,用于将所述路网中的根结点确定为当前节点;
当前结点插入子单元,用于将所述当前节点插入预设的候选队列中,所述候选队列中的结点按照其与所述查询位置点之间的位置距离损耗值由小到大排列;
叶子结点判断子单元,用于判断所述候选队列中的排列序号值最小的目标结点是否为叶子结点,如果是,触发阈值判断子单元,否则,触发当前节点更新子单元;
阈值判断子单元,用于判断所述目标结点对应的位置点的位置属性信息与所述查询关键字之间的文本相关性属性值是否大于或等于所述第一阈值,如果是,触发位置点确定子单元,否则,触发结点删除子单元;
位置点确定子单元,将所述目标结点对应的位置点确定为目标位置点,触发结点删除子单元;
结点删除子单元,用于删除所述候选队列中的目标结点,返回触发所述叶子结点判断子单元判断所述候选队列中的排列序号值最小的目标结点是否为叶子结点,直到所述候选队列为空或者所述目标位置点的数量大于或等于所述第二阈值,结束当前处理;
当前节点更新子单元,用于确定所述目标节点的子结点,删除所述候选队列中的目标结点并将所述目标结点的子节点中与所述查询关键字的文本相关性属性值大于或等于所述第一阈值的子结点确定为当前结点,返回触发当前结点插入子单元将所述当前结点插入所述候选队列中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510124552.8A CN104679904A (zh) | 2015-03-20 | 2015-03-20 | 一种路网中位置点查询方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510124552.8A CN104679904A (zh) | 2015-03-20 | 2015-03-20 | 一种路网中位置点查询方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104679904A true CN104679904A (zh) | 2015-06-03 |
Family
ID=53314946
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510124552.8A Pending CN104679904A (zh) | 2015-03-20 | 2015-03-20 | 一种路网中位置点查询方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104679904A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106354719A (zh) * | 2015-07-13 | 2017-01-25 | 阿里巴巴集团控股有限公司 | Poi服务提供方法、poi数据处理方法及装置 |
CN107391636A (zh) * | 2017-07-10 | 2017-11-24 | 江苏省现代企业信息化应用支撑软件工程技术研发中心 | top‑m反近邻空间关键字查询方法 |
CN108337640A (zh) * | 2017-01-17 | 2018-07-27 | 联发科技股份有限公司 | 定位的电子装置与执行电子装置的定位操作的方法 |
CN112632406A (zh) * | 2020-10-10 | 2021-04-09 | 咪咕文化科技有限公司 | 查询方法、装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102651005A (zh) * | 2011-02-24 | 2012-08-29 | 北京千橡网景科技发展有限公司 | 兴趣点搜索方法以及设备 |
CN102890676A (zh) * | 2011-07-19 | 2013-01-23 | 上海博泰悦臻电子设备制造有限公司 | 在地图中搜索兴趣点的方法及装置,车载系统 |
CN103853769A (zh) * | 2012-12-03 | 2014-06-11 | 北京百度网讯科技有限公司 | 一种地图查询请求处理方法及装置 |
CN104102676A (zh) * | 2013-04-12 | 2014-10-15 | 展讯通信(上海)有限公司 | 信息查询方法及系统 |
US20140365447A1 (en) * | 2009-07-29 | 2014-12-11 | Blackberry Limited | Making address book a source of latitude and longitude coordinates |
-
2015
- 2015-03-20 CN CN201510124552.8A patent/CN104679904A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140365447A1 (en) * | 2009-07-29 | 2014-12-11 | Blackberry Limited | Making address book a source of latitude and longitude coordinates |
CN102651005A (zh) * | 2011-02-24 | 2012-08-29 | 北京千橡网景科技发展有限公司 | 兴趣点搜索方法以及设备 |
CN102890676A (zh) * | 2011-07-19 | 2013-01-23 | 上海博泰悦臻电子设备制造有限公司 | 在地图中搜索兴趣点的方法及装置,车载系统 |
CN103853769A (zh) * | 2012-12-03 | 2014-06-11 | 北京百度网讯科技有限公司 | 一种地图查询请求处理方法及装置 |
CN104102676A (zh) * | 2013-04-12 | 2014-10-15 | 展讯通信(上海)有限公司 | 信息查询方法及系统 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106354719A (zh) * | 2015-07-13 | 2017-01-25 | 阿里巴巴集团控股有限公司 | Poi服务提供方法、poi数据处理方法及装置 |
CN106354719B (zh) * | 2015-07-13 | 2019-09-13 | 阿里巴巴集团控股有限公司 | Poi服务提供方法、poi数据处理方法及装置 |
CN108337640A (zh) * | 2017-01-17 | 2018-07-27 | 联发科技股份有限公司 | 定位的电子装置与执行电子装置的定位操作的方法 |
CN107391636A (zh) * | 2017-07-10 | 2017-11-24 | 江苏省现代企业信息化应用支撑软件工程技术研发中心 | top‑m反近邻空间关键字查询方法 |
CN107391636B (zh) * | 2017-07-10 | 2020-06-09 | 江苏省现代企业信息化应用支撑软件工程技术研发中心 | top-m反近邻空间关键字查询方法 |
CN112632406A (zh) * | 2020-10-10 | 2021-04-09 | 咪咕文化科技有限公司 | 查询方法、装置、电子设备及存储介质 |
CN112632406B (zh) * | 2020-10-10 | 2024-04-09 | 咪咕文化科技有限公司 | 查询方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
USRE44876E1 (en) | Proximity search methods using tiles to represent geographical zones | |
AU2002229734B2 (en) | Database system and query optimiser | |
CN104281652B (zh) | 度量空间中逐个支撑点数据划分方法 | |
CN109145169A (zh) | 一种基于统计分词的地址匹配方法 | |
RU2008149110A (ru) | Адаптивный индекс с переменным сжатием | |
CN110059264B (zh) | 基于知识图谱的地点检索方法、设备及计算机存储介质 | |
CN105701216A (zh) | 一种信息推送方法及装置 | |
CN104346444B (zh) | 一种基于路网反空间关键字查询的最佳选址方法 | |
CN104376112B (zh) | 一种路网上空间关键字检索的方法 | |
CN104679904A (zh) | 一种路网中位置点查询方法及装置 | |
CN107145526B (zh) | 一种路网下地理社交关键字反最近邻查询处理方法 | |
CN103823900A (zh) | 信息点重要性确定方法和装置 | |
CN103885983A (zh) | 一种旅游线路的确定方法、优化方法以及装置 | |
CN105404675A (zh) | Ranked反近邻空间关键字查询方法及装置 | |
CN104133868B (zh) | 一种用于垂直爬虫数据分类整合的策略 | |
CN108733803A (zh) | 一种道路网络下多用户空间关键词查询方法 | |
CN103914456A (zh) | 一种数据存储方法和系统 | |
CN102867065B (zh) | 基于关系型数据库的数据汇总装置和方法 | |
CN104778284A (zh) | 一种空间图像查询方法和系统 | |
CN104021205A (zh) | 一种建立微博索引的方法及装置 | |
CN110069500B (zh) | 一种非关系型数据库动态混合索引方法 | |
CN115544088A (zh) | 地址信息查询方法、装置、电子设备及存储介质 | |
CN105025013A (zh) | 基于优先级Trie树的动态IP匹配模型 | |
CN103593409A (zh) | 实时数据库检索方法及检索系统 | |
CN106407221A (zh) | 地址数据检索方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150603 |
|
RJ01 | Rejection of invention patent application after publication |