一种基于R树的轨迹数据压缩方法与流程

文档序号:17950741发布日期:2019-06-19 00:00阅读:478来源:国知局
一种基于R树的轨迹数据压缩方法与流程

本发明涉及计算机软件和地理信息系统(gis)应用领域,更加具体的,涉及一种基于r树的轨迹数据压缩方法。



背景技术:

随着技术进步、市场不断成熟,具有地理定位功能的智能设备越来越多,这些智能设备可以是gps(全球定位系统)轨迹记录设备,或者北斗导航设备。地理位置轨迹数据通常是利用具有地理定位功能的智能设备采集一系列户外活动的位置点,每个位置点包括时间、经度、纬度、海拔等信息。随着智能设备的普及,越来越多的人习惯于记录并分享轨迹记录。在此过程中,智能设备负责采集地理位置轨迹数据,采集到的地理位置轨迹数据经解析、传输、存储,最终应用到具体业务系统中。

随着交通的发展,人民生活水平的日益提高,出行、旅游、户外运动等变得越来越快捷,越来越方便。户外活动轨迹记录是一件有趣而又有意义的事情,目前,有些智能设备能够实现对每天出行的路径形成完整轨迹标识,具有记录日常生活和运动轨迹功能,形成每日移动地图,并能书写和保存轨迹日志,便于日后查看和回忆。日积月累,保存的每日轨迹数据越来越多,有时,用户想看当月或当年合成的轨迹数据,以回忆美好生活的点点滴滴。在从事户外工作的公司中,公司或领导想查看某个或多个户外工作人员的年度轨迹综合记录,供决策层决策。

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

目前的离线轨迹数据压缩算法,通常是给定一条包含一系列完整的,带有时间戳的位置点的轨迹,压缩算法的基本思想是从压缩控制精度出发,依据几何上的距离、角度、速度等指标参量评估目标中每个点的重要性,保留重要特征点(如端点、局部极值点、拐点等)的同时删除其它次要的点。以应用中使用频率最高的douglas-peucker算法为例,通过相对当前基准线(首尾点连线)的最大偏移距离对原始线目标进行递归分段,当某一分段部分对应的最大偏移距离小于设定的几何精度ε,则将该分段部分拟合为对应的基准线。

这类方法能够较好地处理一条包含完整的轨迹数据序列,但是对离散的多条轨迹数据序列进行压缩存储效果不理想,冗余存储的轨迹数据多。



技术实现要素:

本发明为了解决上述技术问题,提出一种基于r树的轨迹数据压缩方法。

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

步骤1,轨迹数据序列初始化;

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

步骤3,针对第k(k=1,2,3,…,n)个轨迹数据序列,从轨迹数据序列依次取出2个位置点数据,判断这2个位置点数据是否需要保存在r树中;

步骤4,采用现有r树查询方法,获取保存在r树叶子节点中的成对的位置点数据,依据这些成对的位置点数据在地图模型中构建压缩后的轨迹路径。

本发明上述步骤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树的叶子节点中。

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

步骤3.1,针对第k(k=1,2,3,…,n)个轨迹数据序列,从第1个位置点pk1开始,查找r树,判断第1个位置点的坐标(xk1,yk1)和第2个位置点的坐标(xk2,yk2)是否包含在r树的叶子节点的矩形rh中,如果(xk1,yk1)和(xk2,yk2)都包含在r树的叶子节点的矩形rh中,进入步骤3.2;如果(xk1,yk1)或(xk2,yk2)不包含在r树的叶子节点的矩形rh中,进入步骤3.3;

步骤3.2,这两个位置点数据无需保存,即第1个位置点pk1的经纬度坐标和第2个位置点pk2的经纬度坐标不需要保存在r树中;

步骤3.3,这两个位置点数据需要保存,即第1个位置点pk1的经纬度坐标和第2个位置点pk2的经纬度坐标以矩形的形式保存在r树中;

步骤3.4,依次处理第2,3个成对的位置点数据,…,第i,i+1个成对的位置点数据,…;

步骤3.5,依次处理第k+1,…,n个轨迹数据序列。

本发明上述步骤3.1中,查找r树,判断某个位置点的坐标是否包含在r树的叶子节点的矩形rh中的具体方式包括如下步骤,

步骤3.1.1,从根节点开始,判断当前节点m是否叶子节点,如果是叶子节点,进入步骤3.1.2;如果不是叶子节点,进入步骤3.1.3;

步骤3.1.2,依次判断当前叶子节点m的节点项所指的矩形rh是否包含该位置点pki的坐标(xki,yki),如果包含,返回真值;如果不包含,返回假值;

步骤3.1.3,依次判断当前非叶子节点m的节点项所指的矩形rh是否包含该位置点pki的坐标(xki,yki),如果包含,进入步骤3.1.4;如果不包含,判断当前非叶子节点m的下一个节点项;

步骤3.1.4,依据非叶子节点m的节点项指针进入节点m的子节点c,如果子节点是叶子节点,进入步骤3.1.2;如果子节点不是叶子节点,进入步骤3.1.3。

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

本发明利用r树的索引结构对多条离散的轨迹数据实现压缩存储,能保证较高的轨迹压缩质量,具有可靠性高、准确性强等优点。同时在数据库、数据分析、数据挖掘、轨迹数据查询与分析、轨迹数据挖掘的应用及普及上有着广泛的市场前景。

附图说明

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

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

图3为本发明的基于r树的轨迹数据压缩示意图。

图4为本发明的r树结构示意图。

图5为本发明的数据压缩结果输出示意图。

具体实施方式

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

参考图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树的叶子节点中。例如:成对位置点p11和p12的坐标(x11,y11)及(x12,y12)构成矩形r1;p12位置点坐标(x12,y12)和p13位置点坐标(x13,y13)构成矩形r2。

参考图3,本发明的基于r树的轨迹数据压缩示意图。设压缩算法从第1个轨迹数据序列开始处理,从第1个位置点p11开始,查找r树,判断p11位置点的坐标(x11,y11)和第2个位置点p12的坐标(x12,y12)是否包含在r树的叶子节点保存的矩形rh中,结果是(x11,y11)和(x12,y12)都不包含在r树的叶子节点保存的矩形rh中,这两个位置点数据p11和p12需要保存,即p11位置点的经纬度坐标和p12位置点的经纬度坐标以矩形r1的形式保存在r树中。依次处理p12和p13位置点数据,p13和p14位置点数据,p14和p15位置点数据,这些位置点数据的经纬度坐标以矩形rh的形式保存在r树中。

接下来处理第2个轨迹数据序列,p21位置点包含在矩形r1中,p22位置点包含在矩形r2中,所以p21和p22位置点数据无需保存进r树。p22和p23位置点数据也无需保存进r树。接下来处理p23和p24位置点数据,虽然p23位置点包含在矩形r3中,但p24位置点没有包含在r树的叶子节点矩形rh中,所以p23和p24位置点数据需要保存进r树。p24和p25位置点数据以及p25和p26位置点数据需要保存进r树。

参考图4,本发明的r树结构示意图。示例r树包含4个节点,其中,节点1,节点2和节点3是叶子节点,这些叶子节点的节点项指向矩形rh,矩形rh包含位置点pki坐标(xki,yki)和pk(i+1)位置点坐标(xk(i+1),yk(i+1))。节点4为r树的根节点。结合图3来看,节点4的节点项指向自己的孩子节点,且每个节点项所代表的矩形rh包含孩子节点的矩形。例如,节点4的节点项矩形r8包含节点1的矩形r1,r2和r3;r9包含节点2的矩形r4,r5;r10包含节点3的矩形r6,r7。

查找r树,判断某个位置点的坐标是否包含在r树的叶子节点的矩形rh中示例如下。假设p25和p26位置点数据还没有处理,则矩形r7不存在,r10只包含矩形r6。现在需要判断p26位置点是否包含在r树的叶子节点中。首先从根节点4的节点项依次比较,矩形r8不包含p26位置点,就不用再去比较r8的孩子节点1了;矩形r9也不包含p26位置点,此时,r10也不包含p26位置点。因此,p25和p26位置点数据需要保存进r树。

参考图5,本发明的数据压缩结果输出示意图。采用现有r树查询方法,获取保存在r树叶子节点中的成对的位置点数据,依据这些成对的位置点数据在地图模型中构建压缩后的轨迹路径。

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

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