一种基于r树的用户位置至目标区域路径推荐方法

文档序号:1693134 发布日期:2019-12-10 浏览:8次 >En<

阅读说明:本技术 一种基于r树的用户位置至目标区域路径推荐方法 (R-tree-based user position-to-target area path recommendation method ) 是由 莫尚丰 徐敏敏 于 2019-09-16 设计创作,主要内容包括:本发明涉及一种基于R树的用户位置至目标区域路径推荐方法,包括以下步骤:采用现有R树索引方法对轨迹数据构建树状索引结构,借助R树的层次结构自动创建层次模型;根据用户位置推荐距离目标景区最近的矩形及轨迹集合。本发明利用R树的索引结构存储多条离散的轨迹数据,并根据用户位置推荐距离目标景区最近的矩形及轨迹集合,具有可靠性高、准确性强等优点。(the invention relates to a user position-to-target area path recommendation method based on an R tree, which comprises the following steps of: constructing a tree index structure for the track data by adopting the existing R tree index method, and automatically creating a hierarchical model by means of the hierarchical structure of the R tree; and recommending a rectangle and a track set which are closest to the target scenic spot according to the position of the user. The method stores a plurality of discrete track data by utilizing the index structure of the R tree, recommends the rectangle and the track set which are closest to the target scenic spot according to the position of the user, and has the advantages of high reliability, strong accuracy and the like.)

一种基于R树的用户位置至目标区域路径推荐方法

技术领域

本发明涉及计算机软件和地理信息系统(GIS)应用领域,更加具体的,涉及一种基于R树的用户位置至目标区域路径推荐方法。

背景技术

随着技术进步、市场不断成熟,具有地理定位功能的智能设备越来越多,这些智能设备可以是GPS(全球定位系统) 轨迹记录设备,或者北斗导航设备。地理位置轨迹数据通常是利用具有地理定位功能的智能设备采集一系列户外活动的位置点,每个位置点包括时间、经度、纬度、海拔等信息。用户可以采用智能设备记录他们的户外运动轨迹,实现旅游经验分享,生活记录和体育运动记录分析等。

与此同时,互联网上出现了一些网站,论坛或旅行APP,方便用户建立一些与地理位置相关的网络社区。用户将他们记录的户外运动轨迹上传到这些网站,论坛或旅行APP的服务器,在Web地图上管理他们的旅行体验并在彼此之间共享旅游知识。例如,一个人能够从其他人的旅行路线中找到一些有吸引力的地方,并根据多个用户的旅行轨迹规划出一个有趣的且有效的旅程。

这样,网站,论坛或旅行APP的服务器积累了大量的GPS轨迹,但大多数GPS轨迹都是原始的GPS数据。面对如此庞大的数据集,普通用户不可能逐个浏览GPS轨迹并自行识别有趣的且有用的GPS轨迹。普通用户希望系统能推荐一条或多条有趣的且有效的路径,使个人可以在很短的时间内了解一个不熟悉的景区或城市,并以最小的努力计划他们的旅程。

R树是一种平衡的树状层次结构,所有叶节点具有相同的深度,叶节点直接包含目标,其父节点包含数个叶节点,依次向上逐级嵌套,处于最上层的根节点间接包含全部目标,根节点范围是包含所有目标的最小包围盒,全树仅有一个根节点,通常是各种操作的入口,如空间查询和更新操作等。在现实生活中,R树可以用来存储地图上的空间信息,例如餐馆地址,或者地图上用来构造街道,建筑,湖泊边缘和海岸线的多边形,也可以利用R树实现用户位置至目标区域的路径推荐。

实际生活中,用户出发位置往往离目标景区或目标城市较远,且日程安排往往比较紧凑。用户希望从出发位置规划一条最经典的路径,到达目标景区或目标城市,以游览或熟悉目标重点区域。

发明内容

本发明为了解决上述技术问题,提出一种基于R树的用户位置至目标区域路径推荐方法。

本发明的技术方案为:包括以下步骤,

步骤1,采用现有R树索引方法对轨迹数据构建树状索引结构,借助R树的层次结构自动创建层次模型;

步骤2,根据用户位置推荐距离目标景区最近的矩形及轨迹集合。

本发明上述步骤1的具体方式包括如下步骤,

步骤1.1,系统匿名收集用户在活动区域的运动轨迹,日积月累,系统保存有n个离散的轨迹数据序列,编号为:1,2,3,…,k,k+1,…,n;

步骤1.2,第k个轨迹数据序列的第i个位置点pki的经度值和纬度值构成坐标点坐标(xki,yki)。其中,xki代表第k个轨迹数据序列第i个位置点的经度值,yki代表第k个轨迹数据序列第i个位置点的纬度值。第k个轨迹数据序列的第i个位置点坐标(xki,yki)和相邻的第i+1个位置点坐标(xk(i+1),yk(i+1))构成矩形Rh(h=1,2,3,…,),需要保存的第i个和第i+1个坐标点数据以矩形Rh的形式保存在R树的叶子节点中,矩形Rh指向的轨迹数据序列(List)RhL增加k,RhL=RhL+{k},初始值RhL=NULL。

新用户到达某旅游景点所在城市时,输入用户位置,用户位置可以是当前位置,但用户位置必须不在景区范围内。如果用户位置在旅游景区范围内,即在R树的所有叶子节点构成的矩形内,则采用其他的导航算法规划旅游路线。

本发明上述步骤2的具体方式包括如下步骤,

步骤2.1,设用户位置为pu。首先将R树根节点Nroot***队列Q,根节点Nroot所代表的矩形Rroot***矩形链表RecL。若队列Q非空,进入步骤2.2;

步骤2.2,弹出队列Q队首节点N,获得节点N的IDN。遍历矩形链表RecL,若矩形链表RecL中某矩形Ri的IDi和节点N的IDN相等,从矩形链表RecL中删除该矩形Ri。进入步骤2.3;

步骤2.3,遍历节点N的子节点Nsub,如果子节点Nsub对应矩形Rsub能控制矩形链表RecL中某矩形Ri,从矩形链表RecL中删除该矩形Ri。如果矩形链表RecL中某矩形Ri是非叶子节点,且用户位置为pu在矩形Ri中,且子节点Nsub是叶子节点,则子节点Nsub的矩形Rsub需要保存进矩形链表RecL中。如果矩形链表RecL中某矩形Ri能控制子节点Nsub对应矩形Rsub,则子节点Nsub的矩形Rsub不需要保存进矩形链表RecL中。进入步骤2.4;

步骤2.4,如果节点N是非叶子节点,将子节点Nsub***队列Q;

步骤2.5,队列Q中节点处理完后,矩形链表RecL中保留的矩形及包含的轨迹集合即为距离目标景区最近的矩形及轨迹集合。

本发明上述步骤2.3包含如下定义,

定义1,用户位置pu到矩形Ri四个顶点的距离表示为,

dis4(pu→Ri)=(D1,D2,D3,D4);

定义2,用户位置pu到矩形Ri四个顶点中距离最短的2个顶点的距离表示为,

min2(dis4(pu→Ri))= (D1,D2);

定义3,用户位置pu到矩形Ri四个顶点中距离最短的2个顶点的距离 恒小于 用户位置pu到矩形Rj四个顶点中距离最短的2个顶点的距离,则称矩形Ri能控制矩形Rj

若min2(dis4(pu→Ri))all<min2(dis4(pu→Rj)),则矩形Ri能控制矩形Rj

与现有技术相比,本发明的有益效果是:

本发明利用R树的索引结构存储多条离散的轨迹数据,并根据用户输入的位置推荐距离目标景区最近的轨迹集合,具有可靠性高、准确性强等优点。同时在数据库、数据分析、数据挖掘、轨迹数据查询与分析、轨迹数据挖掘的应用及普及上有着广泛的市场前景。

附图说明

图1为本发明的2个轨迹数据序列示意图。

图2为本发明的第1个轨迹数据序列构成矩形示意图。

图3为本发明的2个轨迹数据序列构成R树示意图。

图4为本发明的用户位置pu到矩形Ri的四个顶点位置的距离示意图。

图5为本发明的R树结构示意图。

图6为本发明的根据用户位置推荐距离目标景区最近的矩形及轨迹集合示意图。

具体实施方式

现结合附图说明与实施例对本发明进一步说明。

参考图1,本发明的2个轨迹数据序列示意图。第1个轨迹数据序列包括{p11,p12,p13,p14,p15}位置点序列,第2个轨迹数据序列包括{p21,p22,p23,p24,p25,p26}位置点序列。第k个轨迹数据序列第i个位置点的经度值和纬度值构成坐标点坐标(xki,yki)。其中,xki代表位置点pki的经度值,yki代表位置点pki的纬度值。例如:p11位置点的经度值和纬度值构成坐标点坐标(x11,y11)。

参考图2,本发明的第1个轨迹数据序列构成矩形示意图。成对位置点pki和pk(i+1)的坐标(xki,yki)及(xk(i+1),yk(i+1))构成矩形Rh,需要保存的位置点pki和pk(i+1)的坐标点数据以矩形Rh的形式保存在R树的叶子节点中。矩形Rh指向的轨迹数据序列(List)RhL增加k,RhL=RhL+{k},初始值RhL=NULL。例如:成对位置点p11和p12的坐标(x11,y11)及(x12,y12)构成矩形R1,矩形R1指向的轨迹数据序列(List)R1L增加1,R1L=R1L+{1},因为初始值R1L=NULL,所以R1L= {1}。

参考图3,本发明的2个轨迹数据序列构成R树示意图。R树处理第2个轨迹数据序列时,p21包含在已有矩形R1中,R1L=R1L+{2}={1,2},p22包含在已有矩形R2中,R2L=R2L+{2}={1,2}。p23包含在已有矩形R3中,R3L=R3L+{2}={1,2},但p24没有包含在已有的矩形中,所以,在R树中***p23和p24构成的矩形R5,R5L=R5L+{2}={2}。p25和p26两个位置点都没有包含在已有的矩形中,所以,在R树中***p25和p26构成的矩形R7,R7L=R7L+{2}={2}。

从图3可以看出,p21和p22构成的直线轨迹并没有全部被矩形R1和R2包裹,因为p21和p22只是采集的用户位置点,至于用户从p21到p22之间是走直线还是走曲线我们无法预知,因此无需在R树中增加新的矩形。

新用户到达某旅游景点所在城市时,输入用户位置,用户位置可以是当前位置,但用户位置必须不在景区范围内。如果用户位置在旅游景区范围内,即在R树的所有叶子节点构成的矩形内,则采用其他的导航算法规划旅游路线。

参考图4,用户位置pu到矩形R9的四个顶点位置的距离dis4(pu→R9)分别为(100,60,150,176),用户位置pu到矩形R8的四个顶点位置的距离dis4(pu→R8)分别为(116,152,262,280),用户位置pu到矩形R10的四个顶点位置的距离dis4(pu→R10)分别为(90,76,158,150)。用户位置pu到矩形R9的四个顶点位置中距离最短的2个位置点对应的距离min2(dis4(pu→R9))是(100,60)。这说明,用户位置pu到矩形R9包含的真实记录点的最短距离在100和60之间,R9中,用户位置pu到记录点p15的距离是60。相应地,用户位置pu到矩形R8的四个顶点位置中距离最短的2个位置点对应的距离min2(dis4(pu→R8))是(116,152)。这说明,用户位置pu到矩形R8包含的真实记录点的最短距离在116和152之间,R8中,用户位置pu到记录点p14的距离是134。因此,矩形R9中至少有一个记录点到用户位置点pu的距离比矩形R8中任何一个记录点到用户位置点pu的距离都短,所有,矩形R9能控制矩形R8,在R树中,R8可以被剪枝。但是,用户位置pu到矩形R10的四个顶点位置中距离最短的2个位置点对应的距离min2(dis4(pu→R10))是(90,76)。这样,矩形R9不能控制矩形R10,相反地,矩形R10也不能控制矩形R9。

参考图5,本发明的R树结构示意图。示例R树包含4个节点,其中,节点1,节点2和节点3是叶子节点,这些叶子节点的节点项指向矩形Rh,矩形Rh包含位置点pki坐标(xki,yki)和pk(i+1)位置点坐标(xk(i+1),yk(i+1))。节点4为R树的根节点,节点4是非叶子节点,节点4的节点项指向自己的孩子节点,且每个节点项所代表的矩形Rh包含孩子节点的矩形。例如,节点4的节点项矩形R8包含节点1的矩形R1,R2和R3;R9包含节点2的矩形R4,R5;R10包含节点3的矩形R6,R7

参考图6,本发明的根据用户位置推荐距离目标景区最近的矩形及轨迹集合。首先将R树根节点N4***队列Q,根节点N4所代表的矩形R11***矩形链表RecL。弹出队列Q队首节点N4,获得节点N的ID=4。遍历矩形链表RecL,矩形链表RecL中矩形R11的ID和节点4的ID相等,从矩形链表RecL中删除该矩形R11。遍历节点N4的子节点,第1个子节点是节点1,即N1,N1对应的矩形是R8,因为矩形链表RecL为空集,将矩形R8保存进矩形链表RecL中,将节点1***队列Q。接着处理第二个子节点,即N2,N2对应的矩形是R9。如图4所示,矩形R9能控制矩形R8,所以从矩形链表RecL删除矩形R8,将矩形R9保存进矩形链表RecL中,将节点2***队列Q。接着处理第3个子节点,即N3,N3对应的矩形是R10。如图4所示,矩形R9和矩形R10相互不能控制,因此,将矩形R10保存进矩形链表RecL中,将节点3***队列Q。因为队列Q不为空,弹出队首节点1,因为在矩形链表RecL中找不到某个矩形ID和节点1的ID相等,所以,节点1不再处理。接下来队列Q弹出节点2,矩形链表RecL中矩形R9的ID和节点2的ID相等,从矩形链表RecL中删除该矩形R9。接着处理节点2的子节点R4和R5。因为R4能控制R5,所以只有R4保留。接着处理节点3的子节点R6和R7。因为R7能控制R6,所以只有R7保留。最后,矩形R4和R7以及包含的轨迹集合{1,2}就是根据用户位置推荐距离目标景区最近的矩形及轨迹集合。

综上所述,本领域的普通技术人员阅读本发明文件后,根据本发明的技术方案和技术构思无需创造性脑力劳动而作出其他各种相应的变换方案,均属于本发明所保护的范围。

9页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种基于道路口编码体系的导航方法及系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!