1.城市路网上基于R树的全时态移动对象索引方法,其特征在于包括以下步骤:步骤1:根据移动对象位置更新信息m查找基于x-y的上层索引,找到移动对象所处的封闭路段e,并取出其相关信息;
步骤2:通过e信息以及x,y坐标信息求得移动对象在所属道路上的pos位置,形成运行矢量mv=(mid,t,v,rid,pos),其中,pos∈[0,1],为对象所处道路的相对位置,t为采集该运行矢量的时间,v表示该移动对象在t时刻的速度,rid为道路标识;
步骤3:通过rid访问道路索引表,取得道路对应的R-tree;
步骤4:根据mid访问轨迹单元哈希表,获得轨迹单元链表,访问链表尾结点lu-tail;
步骤5:若lu-tail为空,表示初次收到该对象位置信息,则插入活动轨迹单元U(mvn)到R-tree中,并记录它在R-tree中的位置uid,通过(U,uid)生成链表轨迹单元LU,并插入到链表;
步骤6:若lu-tail不为空,根据lu-tail中的uid信息找到并删除R-tree中的活动轨迹单元U(mvn),插入连续轨迹单元U(mvs,mve),插入活动轨迹单元U(mvn),最后在链表中删除tail;
步骤7:将连续轨迹单元和活动轨迹单元相继添加到链表尾部,建立索引,同时维护链表信息。
2.一种根据权利要求1所述的城市路网上基于R树的全时态移动对象索引方法进行预测移动对象过去、现在和未来的全时态的方法,其特征在于包括如下步骤:一、移动对象过去位置索引
步骤1:确认查询时间tq,判断tq所属位置更新时间,如果tq发生在位置更新的时刻执行步骤2;如果tq发生在两个更新时刻之间执行步骤3,步骤4;
步骤2:tq=ti,根据轨迹单元哈希表和双向链表确定tq时刻移动对象的运行矢量mv(mid,t,v,rid,pos),移动对象的位置则为moq=(mid,rid,pos);
步骤3:ti
步骤4:ti
二、移动对象现在和未来位置的全时态位置预测
移动对象在一段时间内tq-tn的近似速度可以用移动对象过去时间内的平均速度与路段平均速度来综合表达,其中tn为移动对象最后一次更新提交的时间,步骤1:移动对象过去时间段内的平均速度
n为移动对象更新的次数,v-i为移动对象距离当前第i次更新的速度,i∈[0,n],θ为相关系数,θ∈[0,1];
步骤2:道路中移动对象的平均速度
先求得路段A前路段的平均速度,在此之前必须确定要取路段前路段的数量w,处于同一条道路的移动对象之间的速度影响比较大,因此w值取道路Road中处于道路段A之后的路段数w=Roadall-RoadA 公式4;
其中Roadall为Road中路段总数,RoadA为路段A处于Road中的路段位置,对于其中任何一个道路段内的平均速度,为了降低时间开销提高预测准确度,采用tn时刻的平均速度 那么段内移动对象的平均速度可用如下公式得出:
其中ns为该段中移动对象的个数,vi为移动对象距离tn时刻最短的更新速度,那么对于个道路段来说,平均速度可以用公式表达为:
步骤3:移动对象的速度预测
综合公式3、4、5、6可得移动对象在未来一段时间内的预测速度,移动对象的预测速度可以由以下公式得到
移动对象的位置信息根据公式8计算得到
3.根据权利要求2所述的城市路网上基于R树的全时态移动对象索引方法进行预测移动对象过去、现在和未来的全时态的方法,其特征在于在预测移动对象现在和未来位置的全时态位置的步骤1中,如果数据波动较大,则θ值应取大一些,可以增加近期数据对预测结果的影响;如果数据波动平稳,则θ值应取小一些。
4.一种根据权利要求1所述的城市路网上基于R树的全时态移动对象索引方法进行索引一定时空范围内移动对象标识集合的方法,其特征在于包括如下步骤:步骤1:确认查询区域(△x,△y,△t);
步骤2:根据查询窗口[(x1,y1),(x2,y2)],搜索上层R*-tree,遍历到叶子结点,借助封闭路段信息e,求得查询窗口与封闭路段的交点;
步骤3:计算出交点在街道中的位置pos;
步骤4:査询区域与一个道路可能有多个交点,对应于一个偶对(rid,period)其中period包含一个或者多个pos信息,查询区域与多个道路相交,则对应于一组偶对,在rid对应的下层R-tree中查询与(period,△t)相交的轨迹单元,并输出轨迹单元的移动对象标识。