A Historical-Trajectories-Based Map Matching Algorithm for Container Positioning and Tracking
<p>The path from the candidate point, <math display="inline"><semantics> <mrow> <msubsup> <mi>c</mi> <mi>i</mi> <mi>r</mi> </msubsup> </mrow> </semantics></math> on <math display="inline"><semantics> <mrow> <msub> <mi>e</mi> <mi>r</mi> </msub> </mrow> </semantics></math> to the candidate point <math display="inline"><semantics> <mrow> <msubsup> <mi>c</mi> <mrow> <mrow> <mi>i</mi> <mo>+</mo> </mrow> <mn>1</mn> </mrow> <mi>s</mi> </msubsup> </mrow> </semantics></math> on <math display="inline"><semantics> <mrow> <msub> <mi>e</mi> <mi>s</mi> </msub> </mrow> </semantics></math>. <math display="inline"><semantics> <mrow> <msubsup> <mi>c</mi> <mi>i</mi> <mi>r</mi> </msubsup> </mrow> </semantics></math> is the projection point of <math display="inline"><semantics> <mrow> <msub> <mi>p</mi> <mi>i</mi> </msub> </mrow> </semantics></math>, and <math display="inline"><semantics> <mrow> <msubsup> <mi>c</mi> <mi>j</mi> <mi>s</mi> </msubsup> </mrow> </semantics></math> is the projection point of <math display="inline"><semantics> <mrow> <msub> <mi>p</mi> <mrow> <mrow> <mi>i</mi> <mo>+</mo> </mrow> <mn>1</mn> </mrow> </msub> </mrow> </semantics></math>.</p> "> Figure 2
<p>Framework of HTMM. HTMM is made up of three modules: a historical path reconstruction and index module, a local candidate path selection module, and a location correction and query module.</p> "> Figure 3
<p>Three situations of the location relationship of adjacent two matched points: (<b>a</b>) <math display="inline"><semantics> <mrow> <msubsup> <mi>m</mi> <mi>i</mi> <mi>r</mi> </msubsup> </mrow> </semantics></math> and <math display="inline"><semantics> <mrow> <msubsup> <mi>m</mi> <mrow> <mrow> <mi>i</mi> <mo>+</mo> <mn>1</mn> </mrow> </mrow> <mrow> <mrow> <mi>r</mi> <mo>+</mo> <mn>1</mn> </mrow> </mrow> </msubsup> </mrow> </semantics></math> are on adjacent road segments; (<b>b</b>) <math display="inline"><semantics> <mrow> <msubsup> <mi>m</mi> <mi>i</mi> <mi>r</mi> </msubsup> </mrow> </semantics></math> and <math display="inline"><semantics> <mrow> <msubsup> <mi>m</mi> <mrow> <mrow> <mi>i</mi> <mo>+</mo> <mn>1</mn> </mrow> </mrow> <mi>s</mi> </msubsup> </mrow> </semantics></math> are separated by multiple road segments; (<b>c</b>) <math display="inline"><semantics> <mrow> <msubsup> <mi>m</mi> <mi>i</mi> <mi>r</mi> </msubsup> </mrow> </semantics></math> and <math display="inline"><semantics> <mrow> <msubsup> <mi>m</mi> <mrow> <mrow> <mi>i</mi> <mo>+</mo> <mn>1</mn> </mrow> </mrow> <mi>r</mi> </msubsup> </mrow> </semantics></math> are on the same road segment.</p> "> Figure 4
<p>Four trajectories in the road network: <math display="inline"><semantics> <mrow> <msub> <mi>P</mi> <mrow> <mn>1</mn> <mo>→</mo> <mn>7</mn> </mrow> </msub> <msub> <mrow> <mrow> <mo> </mo> <mo>=</mo> <mo> </mo> <mo>{</mo> <mi>e</mi> </mrow> </mrow> <mn>1</mn> </msub> <mo>→</mo> <msub> <mi>e</mi> <mn>2</mn> </msub> <mo>→</mo> <msub> <mi>e</mi> <mn>4</mn> </msub> <mo>→</mo> <msub> <mi>e</mi> <mn>6</mn> </msub> <mo>→</mo> <msub> <mi>e</mi> <mn>7</mn> </msub> <mo>}</mo> </mrow> </semantics></math> (red line), <math display="inline"><semantics> <mrow> <msub> <mi>P</mi> <mrow> <mn>1</mn> <mo>→</mo> <mn>5</mn> </mrow> </msub> <msub> <mrow> <mrow> <mo> </mo> <mo>=</mo> <mo> </mo> <mo>{</mo> <mi>e</mi> </mrow> </mrow> <mn>1</mn> </msub> <mo>→</mo> <msub> <mi>e</mi> <mn>2</mn> </msub> <mo>→</mo> <msub> <mi>e</mi> <mn>3</mn> </msub> <mo>→</mo> <msub> <mi>e</mi> <mn>5</mn> </msub> <mo>}</mo> </mrow> </semantics></math> (blue line), <math display="inline"><semantics> <mrow> <msub> <mi>P</mi> <mrow> <mn>2</mn> <mo>→</mo> <mn>7</mn> </mrow> </msub> <msub> <mrow> <mrow> <mo> </mo> <mo>=</mo> <mo> </mo> <mo>{</mo> <mi>e</mi> </mrow> </mrow> <mn>2</mn> </msub> <mo>→</mo> <msub> <mi>e</mi> <mn>3</mn> </msub> <mo>→</mo> <msub> <mi>e</mi> <mn>5</mn> </msub> <mo>→</mo> <msub> <mi>e</mi> <mn>7</mn> </msub> <mo>}</mo> </mrow> </semantics></math> (green line) and <math display="inline"><semantics> <mrow> <msub> <mi>P</mi> <mrow> <mn>2</mn> <mo>→</mo> <mn>6</mn> </mrow> </msub> <msub> <mrow> <mrow> <mo> </mo> <mo>=</mo> <mo> </mo> <mo>{</mo> <mi>e</mi> </mrow> </mrow> <mn>2</mn> </msub> <mo>→</mo> <msub> <mi>e</mi> <mn>4</mn> </msub> <mo>→</mo> <msub> <mi>e</mi> <mn>6</mn> </msub> <mo>}</mo> </mrow> </semantics></math> (yellow line).</p> "> Figure 5
<p>Illustration of HP-forest. The HP-tree with root <math display="inline"><semantics> <mrow> <msub> <mi>e</mi> <mn>1</mn> </msub> </mrow> </semantics></math> stores two historical paths: <math display="inline"><semantics> <mrow> <msub> <mrow> <mrow> <mo>{</mo> <mi>e</mi> </mrow> </mrow> <mn>1</mn> </msub> <mo>→</mo> <msub> <mi>e</mi> <mn>2</mn> </msub> <mo>→</mo> <msub> <mi>e</mi> <mn>4</mn> </msub> <mo>→</mo> <msub> <mi>e</mi> <mn>6</mn> </msub> <mo>→</mo> <msub> <mi>e</mi> <mn>7</mn> </msub> <mo>}</mo> </mrow> </semantics></math> and <math display="inline"><semantics> <mrow> <msub> <mrow> <mrow> <mo>{</mo> <mi>e</mi> </mrow> </mrow> <mn>1</mn> </msub> <mo>→</mo> <msub> <mi>e</mi> <mn>2</mn> </msub> <mo>→</mo> <msub> <mi>e</mi> <mn>3</mn> </msub> <mo>→</mo> <msub> <mi>e</mi> <mn>5</mn> </msub> <mo>}</mo> </mrow> </semantics></math>. The HP-tree with root <math display="inline"><semantics> <mrow> <msub> <mi>e</mi> <mn>2</mn> </msub> </mrow> </semantics></math> stores two historical paths: <math display="inline"><semantics> <mrow> <msub> <mrow> <mrow> <mo>{</mo> <mi>e</mi> </mrow> </mrow> <mn>2</mn> </msub> <mo>→</mo> <msub> <mi>e</mi> <mn>3</mn> </msub> <mo>→</mo> <msub> <mi>e</mi> <mn>5</mn> </msub> <mo>→</mo> <msub> <mi>e</mi> <mn>7</mn> </msub> <mo>}</mo> </mrow> </semantics></math> and <math display="inline"><semantics> <mrow> <msub> <mrow> <mrow> <mo>{</mo> <mi>e</mi> </mrow> </mrow> <mn>2</mn> </msub> <mo>→</mo> <msub> <mi>e</mi> <mn>4</mn> </msub> <mo>→</mo> <msub> <mi>e</mi> <mn>6</mn> </msub> <mo>}</mo> </mrow> </semantics></math>.</p> "> Figure 6
<p>Possible paths from candidate point <math display="inline"><semantics> <mrow> <msubsup> <mi>c</mi> <mi>i</mi> <mi>r</mi> </msubsup> </mrow> </semantics></math> to <math display="inline"><semantics> <mrow> <msubsup> <mi>c</mi> <mrow> <mrow> <mi>i</mi> <mo>+</mo> </mrow> <mn>1</mn> </mrow> <mi>s</mi> </msubsup> </mrow> </semantics></math>: (<b>a</b>) for high-sampling-rate trajectories, both the shortest path and the local candidate path is <math display="inline"><semantics> <mrow> <msub> <mi>P</mi> <mn>1</mn> </msub> </mrow> </semantics></math>; (<b>b</b>) for low-sampling-rate trajectories, <math display="inline"><semantics> <mrow> <msub> <mi>P</mi> <mn>2</mn> </msub> </mrow> </semantics></math> is the shortest path, but the local candidate path may be <math display="inline"><semantics> <mrow> <msub> <mi>P</mi> <mn>1</mn> </msub> </mrow> </semantics></math>, <math display="inline"><semantics> <mrow> <msub> <mi>P</mi> <mn>2</mn> </msub> </mrow> </semantics></math> or <math display="inline"><semantics> <mrow> <msub> <mi>P</mi> <mn>3</mn> </msub> </mrow> </semantics></math>.</p> "> Figure 7
<p>Candidate graph composed of candidate points and local candidate paths. Each candidate point has an observation probability, and the probability from the previous candidate point to the current candidate point is expressed as a transition probability.</p> "> Figure 8
<p>Distribution of the GPS trajectories. The green background is the road network, and other colored lines are trajectories.</p> "> Figure 9
<p>Road network of the region. The network contains 17,108 nodes and 18,892 edges.</p> "> Figure 10
<p>Description of the trajectory dataset: (<b>a</b>) number of GPS points of trajectories; (<b>b</b>) sampling rate of GPS points.</p> "> Figure 11
<p>The average distance between two adjacent GPS points at different sampling rates.</p> "> Figure 12
<p>Matching accuracy of three algorithms at different sampling rates.</p> "> Figure 13
<p>Matching time of three algorithms at different sampling rates.</p> "> Figure 14
<p>Comparison of matched paths of HTMM and ST-Matching: (<b>a</b>) sampling rate of 30 s (real path); (<b>b</b>) sampling rate of 60 s (ST-Matching); (<b>c</b>) sampling rate of 120–300 s (ST-Matching); (<b>d</b>) sampling rate of 120–300 s (HTMM).</p> "> Figure 15
<p>Comparison of matched paths of HTMM and ST-Matching: (<b>a</b>) sampling rate of 30 s (real path); (<b>b</b>) sampling rate of 60–300 s (ST-Matching); (<b>c</b>) sampling rate of 60–120 s (HTMM).</p> ">
Abstract
:1. Introduction
- (1)
- A historical-trajectories-based map matching algorithm (HTMM) consisting of local candidate path selection and optimal matched path search is proposed. The local path selection utilizes the travel time and the frequency mined from historical trajectories. Historical speed is introduced to improve the transition probability in the optimal matched path search.
- (2)
- A historical path reconstruction and index method is proposed to make full use of the historical paths. A meta path is introduced to determine the travel time of historical paths. A historical path index library based on a path tree is created to store historical information and accelerate the index speed.
- (3)
- A location correction and query method is presented to reconstruct matched paths and calculate the location of containers. Through this method, location correction and continuous tracking of the container are realized.
2. Related Work
- (1)
- Map matching algorithms based on HMM follow the shortest length/time principle, which is not appliable for missing and low-sampling-rate trajectories. Map matching algorithms based on local path inference require a large number of historical trajectories to extract path selection preference and travel law, which lead to high time complexity.
- (2)
- With the rapid development of roads and traffic control, only using movement modes found from historical trajectories may not be suitable for the current situation.
- (3)
- In passenger transportation systems, trajectories come from multiple drivers with different purposes, and the movement modes found from all historical trajectories cannot represent each driver’s driving preferences.
- (4)
- Most of the above algorithms focus on passenger transportation systems, especially floating cars in an urban road network. Container transportation systems are rarely studied, but the demand for positioning and tracking of containers is considerable.
- (1)
- HTMM is a two-stage map matching algorithm based on a hidden Markov model and a local path inference method.
- (2)
- Both historical information and real-time vehicle movement information are considered in HTMM.
- (3)
- HTMM aims to improve positioning precision and track the location of containers in a container transportation systems.
3. Methodology
3.1. Preliminary
3.2. Notation Description
3.3. System Overview
3.4. Historical Path Reconstruction and Index Module
3.4.1. Map Matching
3.4.2. Path Reconstruction
3.4.3. Historical Path Indexing
- (1)
- Each node of the HP-tree represents a road segment, among which the root node is the start road segment of the historical path (or sub path) and the leaf node is the end road segment of the historical path (or sub path).
- (2)
- The child node of a node represents the next road segment to which it directly connects.
- (3)
- All HP-trees make up an HP-forest to represent all historical paths and sub paths.
3.5. Local Candidate Path Selection Module
3.5.1. Possible Paths Search
- (1)
- Search the historical paths between and in the HP-Forest.;
- (2)
- If no historical path is found, the shortest path between and is selected as the local candidate path;
- (3)
- If only one historical path is found, then it is the local candidate path. If multiple historical paths are found, then add all these historical paths to the possible path set.
3.5.2. Similarity Calculation
- (1)
- Travel Time Estimation
- (2)
- Frequency Calculation
- (3)
- Path Selection
3.6. Location Correction and Query Module
3.6.1. Optimal Matched Point Search
- (1)
- Observation Probability
- (2)
- Transition Probability
3.6.2. Location Query and Tracking
- (1)
- Reconstruct the matched path as meta paths to obtain the enter time and the leave time according to the method in Section 3.4.2. The meta path is represented as .
- (2)
- Find the meta path () where the container is located, which satisfies:
- (3)
- Obtain the latitude and longitude of p′ according to the interpolation of time and average velocity, as shown in Equation (13):
4. Experiments
4.1. Trajectory Dataset and Road Network
4.2. Experimental Settings
4.3. Experimental Results
4.3.1. Comparison of Three Map Matching Algorithms
4.3.2. Visual Analysis of Typical Situations
- (1)
- Detours
- (2)
- Multiple Optimal Paths
4.3.3. Positioning Error Analysis
5. Conclusions
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Conflicts of Interest
References
- Choi, H.R.; Moon, Y.S.; Kim, J.J.; Lee, J.K.; Lee, K.B.; Shin, J.J. Development of an IoT-based container tracking system for China’s Belt and Road (B&R) initiative. Marit. Policy Manag. 2018, 45, 388–402. [Google Scholar]
- Hao, Y.; Tang, P.; Yang, B. Selection strategy of battery life of reefer container IoT monitoring device. In Proceedings of the 2018 International Symposium in Sensing and Instrumentation in IoT Era (ISSI), Shanghai, China, 6–7 September 2018; pp. 1–5. [Google Scholar]
- Hsueh, Y.L.; Chen, H.C. Map matching for low-sampling-rate GPS trajectories by exploring real-time moving directions. Inf. Sci. 2018, 433, 55–69. [Google Scholar] [CrossRef]
- Nawaz, A.; Huang, Z.; Wang, S.; Akbar, A.; AlSalman, H.; Gumaei, A. GPS trajectory completion using end-to-end bidirectional convolutional recurrent encoder-decoder architecture with attention mechanism. Sensors 2020, 20, 5143. [Google Scholar] [CrossRef] [PubMed]
- Huang, Z.; Qiao, S.; Han, N.; Yuan, C.; Song, X.; Xiao, Y. Survey on vehicle map matching techniques. CAAI Trans. Intell. Technol. 2021, 6, 55–71. [Google Scholar] [CrossRef]
- Yu, J.; Yang, Q.; Lu, J.; Han, J.; Peng, H. Advanced map matching algorithms: A survey and trends. Acta Electron. Sin. 2021, 49, 1818–1829. [Google Scholar]
- Lou, Y.; Zhang, C.; Zheng, Y.; Xie, X.; Wang, W.; Huang, Y. Map-matching for low-sampling-rate GPS trajectories. In Proceedings of the 17th ACM SIGSPATIAL International Conference on Advances in Geographic Information Systems, Seattle, WA, USA, 4–6 November 2009; pp. 352–361. [Google Scholar]
- Newson, P.; Krumm, J. Hidden Markov map matching through noise and sparseness. In Proceedings of the 17th ACM SIGSPATIAL International Conference on Advances in Geographic Information systems, Seattle, WA, USA, 4–6 November 2009; pp. 336–343. [Google Scholar]
- Yuan, J.; Zheng, Y.; Zhang, C.; Xie, X.; Sun, G. An interactive-voting based map matching algorithm. In Proceedings of the 2010 Eleventh International Conference on Mobile Data Management, Kansas City, MO, USA, 23–26 May 2010; pp. 43–52. [Google Scholar]
- Gan, M.; Qing, S.; Liu, X.; Li, D. Review on application of truck trajectory data in highway freight system. J. Transp. Syst. Eng. Inf. Technol. 2021, 21, 91. [Google Scholar]
- Tran-Dang, H.; Kim, D.S. An information framework for internet of things services in physical internet. IEEE Access 2018, 6, 43967–43977. [Google Scholar] [CrossRef]
- Nie, J.; Lyu, J.; Zhou, S.; Huang, R. Intelligent cold chain transportation terminal system based on LEO satellite and Narrowband Internet of Things. Comput. Syst. Appl. 2019, 28, 119–124. [Google Scholar]
- Lu, Y.; Xue, G.; Sun, H.; Xie, Q. Design of multimodal transport information service system based on space-based Internet of Things. Space Integr. Ground Inf. Netw. 2020, 1, 116–127. [Google Scholar]
- Tang, P.; Postolache, O.A.; Hao, Y.; Zhong, M. Reefer container monitoring system. In Proceedings of the 2019 11th International Symposium on Advanced Topics in Electrical Engineering (ATEE), Bucharest, Romania, 28–30 March 2019; pp. 1–6. [Google Scholar]
- White, C.E.; Bernstein, D.; Kornhauser, A.L. Some map matching algorithms for personal navigation assistants. Transp. Res. Part C Emerg. Technol. 2000, 8, 91–108. [Google Scholar] [CrossRef]
- Li, X.; Ma, S.; Yang, H.; Zhang, X.N. Vector road matching algorithm based on a topological path. J. Image Graph. 2017, 22, 0596–0609. [Google Scholar]
- Zhu, D.; Liu, Y. An Incremental Map-Matching Method Based on Road Network Topology; Geomatics and Information Science of Wuhan University: Wuhan, China, 2017. [Google Scholar]
- Li, H.; Kulik, L.; Ramamohanarao, K. Robust inferences of travel paths from GPS trajectories. Int. J. Geogr. Inf. Sci. 2015, 29, 2194–2222. [Google Scholar] [CrossRef]
- Yang, C.; Gidofalvi, G. Fast map matching, an algorithm integrating hidden Markov model with precomputation. Int. J. Geogr. Inf. Sci. 2018, 32, 547–570. [Google Scholar] [CrossRef]
- Zheng, K.; Zheng, Y.; Xie, X. Reducing uncertainty of low-sampling-rate trajectories. In Proceedings of the 2012 IEEE 28th International Conference on Data Engineering, Arlington, VA, USA, 1–5 April 2012; pp. 1144–1155. [Google Scholar]
- Banerjee, P.; Ranu, S.; Raghavan, S. Inferring uncertain trajectories from partial observations. In Proceedings of the 2014 IEEE International Conference on Data Mining, Shenzhen, China, 14–17 December 2014; pp. 30–39. [Google Scholar]
- Wu, H.; Mao, J.; Sun, W.; Zheng, B.; Zhang, H.; Chen, Z.; Wang, W. Probabilistic robust route recovery with spatio-temporal dynamics. In Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, San Francisco, CA, USA, 13–17 August 2016; pp. 1915–1924. [Google Scholar]
- Huang, Y.; Rao, W.; Zhang, Z.; Zhao, P.; Yuan, M.; Zeng, J. Frequent pattern-based map-matching on low sampling rate trajectories. In Proceedings of the 2018 19th IEEE International Conference on Mobile Data Management (MDM), Aalborg, Denmark, 25–28 June 2018; pp. 266–273. [Google Scholar]
- Bian, W.; Cui, G.; Wang, X. A trajectory collaboration based map matching approach for low-sampling-rate GPS trajectories. Sensors 2020, 20, 2057. [Google Scholar] [CrossRef] [PubMed] [Green Version]
- Gao, X.; Wu, Y.; Guo, L.; Ding, Z.; Chen, J. Personalized map-matching algorithm based on driving preference. J. Softw. 2018, 29, 3500–3516. [Google Scholar]
Type | Name | Meaning |
---|---|---|
Indices | Index of GPS points | |
Index of edges | ||
Index of candidate path | ||
Variables | th GPS point | |
th GPS point | ||
th GPS point | ||
th GPS point | ||
th GPS point | ||
th edge | ||
) | ||
The number of candidate paths | ||
th candidate path | ||
th trajectory | ||
on travel time | ||
Sampling Rate | Mean and Std |
---|---|
60 s | 7.24 ± 3.81 (m) |
120 s | 7.53 ± 4.95 (m) |
180 s | 8.84 ± 3.42 (m) |
240 s | 10.25 ± 5.28 (m) |
300 s | 13.38 ± 6.35 (m) |
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2022 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Li, W.; Zhang, W.; Gao, C. A Historical-Trajectories-Based Map Matching Algorithm for Container Positioning and Tracking. Sensors 2022, 22, 3057. https://doi.org/10.3390/s22083057
Li W, Zhang W, Gao C. A Historical-Trajectories-Based Map Matching Algorithm for Container Positioning and Tracking. Sensors. 2022; 22(8):3057. https://doi.org/10.3390/s22083057
Chicago/Turabian StyleLi, Wenfeng, Wenwen Zhang, and Cong Gao. 2022. "A Historical-Trajectories-Based Map Matching Algorithm for Container Positioning and Tracking" Sensors 22, no. 8: 3057. https://doi.org/10.3390/s22083057