论文部分内容阅读
活动轨迹查询是当前基于位置服务研究的热门课题。活动轨迹是指带有用户活动关键字的轨迹,这类轨迹的查询算法结合了传统轨迹查询和空间关键字查询两个方面的技术,不仅允许用户输入多个目标地点作为查询地点,而且允许用户输入想要安排的活动作为查询条件的一部分去搜索匹配的活动轨迹。但是目前的活动轨迹查询研究注重于关键字的匹配而忽视了地理空间距离的限制。由这些算法得到的活动轨迹虽然完全匹配了用户活动需求,但却因关键字匹配要求和现实原因使得轨迹只能接近部分查询点而远离另一部分用户查询点。然而用户需要的是在查询点附近的轨迹路线,但是算法提供的这些轨迹却偏离了用户对于地理位置的需求。本文针对上述活动轨迹查询算法中存在的缺点,深入研究了活动轨迹和用户查询的匹配问题,并提出了轨迹段的匹配方法。该方法将整条活动轨迹划分为一段段的活动轨迹片段,然后找出能够匹配部分用户查询活动的那些轨迹片段,并将这些轨迹片段连接起来组成一条能够完整匹配用户查询活动且接近用户查询点的轨迹提供给用户。基于上述匹配思想,本文提出两种活动轨迹片段的搜索算法,有序匹配的活动轨迹片段搜索算法(OATSS)和活动轨迹片段扩展算法(ATSE),去解决当前活动轨迹查询中空间距离匹配过大的问题。OATSS算法直接从查询点附近区域搜索能够部分匹配用户查询活动的轨迹片段,并将这些能够拼接起来的轨迹段组成完整的轨迹。如果拼接出来的轨迹能够完整匹配用户查询则放入候选结果集中。最后从候选结果集中选出最好的几条路线返回给用户。ATSE算法从靠近第一个用户查询地点的原始活动轨迹片段开始,不断从周围加入能够拼接起来且匹配后续用户查询点的轨迹片段,使之扩展。如果扩展后的轨迹路线能够完整匹配用户查询则放入候选结果集中。最后从候选结果集中选出最好的几条路线返回给用户。最后,本文使用真实轨迹数据和模拟轨迹数据两个数据集,通过合理设计对比实验,在不同的参数条件下对本文提出的算法和传统活动轨迹查询算法进行对比。实验结果表明,本文提出的活动轨迹查询算法相较于传统的活动轨迹查询算法,得到的轨迹整体更加接近于用户查询点。而且在大部分测试用例中OATSS算法运行效率比ATSE算法高,但是ATSE查找得到的轨迹比OATSS更加优秀。