Chapter 2 Trajectory Indexing and Retrival
2017-01-13 02:35
253 查看
This 26 pages paper is a bit short as a survey but a little too long for me the first day to write a “papaer analysis”. But I will finish it rather than give up in front of my first piece of work.
As a survey, I can learn some full-scale knowledge on the topic of Trajectory Indexing and Retrival.
If an paper has a smooth section setting, it’s convenient for readers to read and understand, this paper did.
2) when tranverse the index, Depth-first or width-first can be used. Then, the filter-and-refine paradigm is necessary.
Given trajectories, ask for POI;
Given POI(1 or more), ask for trajectories.
2) Filter-and-refine: remember to mark visited
Figure 1. ask for POI
If there is a segment of (s, e), and a lot of POIs around it.
1) Search the POI nearest to s —- a;
2) Draw circles of (s, a), (a, e), and all POI out of circles will not be candidates;
3) Now, turn to e to determine which POI is nearest in its current circle —- c;
4) Draw the perpendicular bisector of (a, c) and get point s1;
5) Repeat the above steps on (a, s1), (s1, e);
The last result graph:
Figure 2. Result of above example
Given a region, ask for trajectories passed it;
Find out regions that some trajectory all passed in a period of time.
MR-tree, HR+-tree, 3D R-tree are often used here.
ask for similar trajectories;
ask for trajectories within a distance threshold.
The distance between a point qi and a trajectory pj:
The distance between a set of query point Q and a trajectory R:
By induce both the lower and upper bound, a filter-and-refine can be adapted.
Trajectory to trajectory:
1) Closest-Pair-Distance;
2) Sum-of-Pairs Distance;
3) Dynamic Time Warping (DTW);
4) Longest Common Subsequence (LCSS);
5) Edit Distance with Real Pelnaty (EPR);
6) Edit Distance on Real Sequences (EDR);
All the six methods were originally proposed for time series data. And they all are related, the latter one makes improvement on the former ones. For example, 1) and 2) are both based on Euclidean distance which need the two trajectories have the same length, and 3) break the limitation first by using repeating. And LCSS conquer the sensitivity to noise and so on.
An obvious drawback here is that some variants or formulas did not well explain. Maybe they were evolved in other chapters in this book.
Multidimensional access method: 3D R-tree, STR-tree;
Multiversion structures: MR-tree, HR-tree, HR+-tree;
Grid based: SETI, MTSB-tree;
It can be seen that most of these methods are sons of R-tree. The powerful R-tree have 4 uses in general:
Retrieve all spatial objects within a specified query region;
Search for a certain point;
Process a nearest neighbor query
Spatial join queries.
Figure 2. 3D R-tree
At first, 3D R-tree just extend out a temporal dimension like Figure 2.(a), but 1) a big box to hold just a small line segment results to a big space waste; 2) Which trajectory does each segment belongs to is unknow. Then, 3D R-tree was modified into Figure 2(b). Just use (id, trajecory#, MBB, orientation ) to stand for each segment.
Figure 3. STR-Tree
The difference between 3D R-tree and STR-Tree is just the insertion and deletion.
Figure 4. TB-Tree
As shown in Figure 4, all segments of a trajetory are linked by a linked list.
In fact, the paper didn’t say what are the other leaf nodes stands for. Confused…………….
Figure 5. HR-Tree
One tree for one timestamp. To save the space, reuse the nodes.
HR+-Tree is more adaptive to support interval query.
Both HR-Tree and HR+-Tree are efficient in timestamp queries.
Figure 6. MV3R-Tree
It consists of two structures: a multiversion R-tree(MVR-tree) and a 3D R-tree built on the leaves of the MVR-tree in order to process interval query.
Traffice flow patterns;
Behavior mining;
Path Planning;
As a survey, I can learn some full-scale knowledge on the topic of Trajectory Indexing and Retrival.
If an paper has a smooth section setting, it’s convenient for readers to read and understand, this paper did.
Query Tricks:
1) Construct indecies;2) when tranverse the index, Depth-first or width-first can be used. Then, the filter-and-refine paradigm is necessary.
1 Three Query
The central theme of the paper is three kinds of trajectory query:1.1 P-Query
Two kinds:Given trajectories, ask for POI;
Given POI(1 or more), ask for trajectories.
1.1.1 Ask for trajectories
1) Construct index: for line segment or sampled position2) Filter-and-refine: remember to mark visited
1.1.2 Ask for POI
Fantastic Idea!Figure 1. ask for POI
If there is a segment of (s, e), and a lot of POIs around it.
1) Search the POI nearest to s —- a;
2) Draw circles of (s, a), (a, e), and all POI out of circles will not be candidates;
3) Now, turn to e to determine which POI is nearest in its current circle —- c;
4) Draw the perpendicular bisector of (a, c) and get point s1;
5) Repeat the above steps on (a, s1), (s1, e);
The last result graph:
Figure 2. Result of above example
1.2 R-Query
Two kinds:Given a region, ask for trajectories passed it;
Find out regions that some trajectory all passed in a period of time.
MR-tree, HR+-tree, 3D R-tree are often used here.
1.3 T-Query
Two kinds:ask for similar trajectories;
ask for trajectories within a distance threshold.
The distance between a point qi and a trajectory pj:
The distance between a set of query point Q and a trajectory R:
By induce both the lower and upper bound, a filter-and-refine can be adapted.
2 Trajectory Similarity Measures
Point to Trajectory: if one point, take the min distance to the trajectory(measure can be Lp-norm or network distance); if multiple point, use e^x!!!Trajectory to trajectory:
1) Closest-Pair-Distance;
2) Sum-of-Pairs Distance;
3) Dynamic Time Warping (DTW);
4) Longest Common Subsequence (LCSS);
5) Edit Distance with Real Pelnaty (EPR);
6) Edit Distance on Real Sequences (EDR);
All the six methods were originally proposed for time series data. And they all are related, the latter one makes improvement on the former ones. For example, 1) and 2) are both based on Euclidean distance which need the two trajectories have the same length, and 3) break the limitation first by using repeating. And LCSS conquer the sensitivity to noise and so on.
An obvious drawback here is that some variants or formulas did not well explain. Maybe they were evolved in other chapters in this book.
3 Trajectory Indexes
Mainly three index approaches:Multidimensional access method: 3D R-tree, STR-tree;
Multiversion structures: MR-tree, HR-tree, HR+-tree;
Grid based: SETI, MTSB-tree;
It can be seen that most of these methods are sons of R-tree. The powerful R-tree have 4 uses in general:
Retrieve all spatial objects within a specified query region;
Search for a certain point;
Process a nearest neighbor query
Spatial join queries.
3.1 3D R-tree
Figure 2. 3D R-tree
At first, 3D R-tree just extend out a temporal dimension like Figure 2.(a), but 1) a big box to hold just a small line segment results to a big space waste; 2) Which trajectory does each segment belongs to is unknow. Then, 3D R-tree was modified into Figure 2(b). Just use (id, trajecory#, MBB, orientation ) to stand for each segment.
3.2 STR-Tree
Figure 3. STR-Tree
The difference between 3D R-tree and STR-Tree is just the insertion and deletion.
3.3 TB-Tree
Figure 4. TB-Tree
As shown in Figure 4, all segments of a trajetory are linked by a linked list.
In fact, the paper didn’t say what are the other leaf nodes stands for. Confused…………….
3.4 HR-Tree
Figure 5. HR-Tree
One tree for one timestamp. To save the space, reuse the nodes.
3.5 HR+-Tree
Similar to HR-Tree, but more space economic by allowing entries of different timestamps to be placed in the same node.HR+-Tree is more adaptive to support interval query.
Both HR-Tree and HR+-Tree are efficient in timestamp queries.
3.6 MV3R-Tree
Figure 6. MV3R-Tree
It consists of two structures: a multiversion R-tree(MVR-tree) and a 3D R-tree built on the leaves of the MVR-tree in order to process interval query.
4 Applications
This paper also provide abundant applications mainly include:Traffice flow patterns;
Behavior mining;
Path Planning;
相关文章推荐
- Indexing(Chapter 5 of MongoDB The Definitive Guild)
- 【JS/读书随笔】JavaScript编程精解/Eloquent JavaScript:Chapter 4 错误处理
- Chapter10. UINavigationController - iOS Programming- The Big Nerd Ranch Guide 读书笔记
- Chapter 10. Generic Algorithms
- hadoop权威指南(第四版)要点翻译(6)——Chapter 4. YARN(1)
- AdaultBird--我的黑马程序员之路!Chapter13---java编程基础!
- Chapter 3 Protecting the Data(3):创建和使用数据库角色
- 《SICP》读书笔记--Chapter 2 Building Abstraction with Data
- Chapter 8-BinaryTree
- 《how tomcat work》 搬运工 Chapter 13: Host and Engine
- Chapter 15 Dynamic Programming
- 《how tomcat work》 搬运工 Chapter 15: Digester
- Chapter 11 Exercises & Problems
- Chapter2 Describing Physical Memory
- Spring_Security_3.0.1中文参考文档 Chapter 8.核心安全过滤器
- OS X下UNIX环境高级编程(第三版)学习日志-第一章ChapterI,出错处理
- 快学Scala读书笔记之Chapter15(注解)、Chapter17(类型参数)
- CBIR: Indexing and Retrieval--基于内容的图像检索:索引和检索
- chapter 1.Internetworking
- Chapter 2 Java Basic Grammar