Next Article in Journal
Associative Analysis of Inefficiencies and Station Activity Levels in Emergency Response
Previous Article in Journal
Spatial-Temporal Attentive LSTM for Vehicle-Trajectory Prediction
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Low-Frequency Trajectory Map Matching Method Based on Vehicle Heading Segmentation

1
School of Computer and Information, Anhui Normal University, Wuhu 241002, China
2
Anhui Provincial Key Laboratory of Network and Information Security, Anhui Normal University, Wuhu 241002, China
*
Author to whom correspondence should be addressed.
ISPRS Int. J. Geo-Inf. 2022, 11(7), 355; https://doi.org/10.3390/ijgi11070355
Submission received: 23 April 2022 / Revised: 11 June 2022 / Accepted: 20 June 2022 / Published: 23 June 2022

Abstract

:
Numerous Global Positioning System connected vehicles are collecting extensive data remotely in cities, enabling data-driven infrastructure planning. To truly benefit from this emerging technology, it is important to combine telematics and map data to make it easier to extract and mine useful information from the data. By performing map matching, data points that cannot be accurately located on the road network can be projected onto the correct road segment. As an important means of remote data processing, it has become an important pre-processing step in the field of data mining. However, due to the various errors of location devices and the complexity of road networks, map matching technology also faces great challenges. In order to improve the efficiency and accuracy of the map matching algorithm, this study proposes an offline method for low-frequency trajectory data map matching based on vehicle trajectory segmentation. First, the trajectory is segmented based on the vehicle’s travel direction. Then, the comprehensive probability of the corresponding road segment is calculated based on the spatial probability and the directional probability of each road segment around the location. Third, the k candidate matching paths under consideration are selected based on the comprehensive probability evaluation. Finally, the shortest path planning and the probability calculation of the different candidate paths are combined to find the optimal matching path. The experimental results on the real trajectory dataset in Shanghai and the road network environment show that the proposed algorithm has better accuracy, efficiency, and robustness than other algorithms.

1. Introduction

In recent years, the global positioning system (GPS) has been widely used in vehicles, which will facilitate the collection of a large amount of trajectory data by city management and traffic services to reflect information such as vehicle position, speed, and direction. In intelligent transportation systems, these GPS trajectory data are usually integrated with geographic information system (GIS) to provide various services such as vehicle navigation, tracking, and mapping of new roads to individuals or businesses for GIS [1,2,3,4,5,6]. In the trajectory sampling process, objects such as trees and buildings affect the accuracy of the trajectory data, so the acquired trajectory points may not fall accurately on the road network. Therefore, an important step in integration with geographic information is to match the trajectory points with the road network to determine the road segment of the vehicle’s travel path and the location of the vehicle on the road network, i.e., map matching. If the GPS trajectory data and the road network data are accurate enough, effective map matching is easy to achieve. However, due to the complex structure of the road network, more accurate and efficient map matching methods are required to overcome the difficulties and challenges in map matching.
According to the different sampling frequency of trajectory points, we can distinguish between high-frequency methods for trajectory map matching and low-frequency methods for trajectory map matching. Using high-frequency trajectory data, road segments matched by the location points can be better found, resulting in higher-precision matching results. However, due to the strict limitations of the battery, the GPS-embedded handheld device cannot collect high-frequency trajectory data for long periods. Therefore, map matching for low-frequency trajectory data becomes an important issue. Achieving low-frequency trajectory map matching in a complex urban road network is the subject of this study. Existing map matching methods for low-frequency trajectory data mainly include the following three categories.
(1)
Methods based on machine learning
The methods based on machine learning mainly include Kalman filter and artificial neural network techniques [7]. Toledo-Moreo et al. [8] proposed a particle filter-based algorithm that combines measurements from global navigation satellite system (GNSS) receivers, gyroscopes, and orometers to solve the map matching problem for parallel roads. Similarly, Szottka et al. [9] proposed a particle filter-based algorithm, using camera detection data with road network markers and commercial map data. Tao et al. [10] developed a Kalman filter-based localization solver for map matching using GPS data, vehicle data, camera observations, and road network marker data embedded in digital navigation maps. Gu et al. [11] combined multisensor measurements and 3D mapping techniques to develop a robust localization system in urban canyons. The 3D map is used to perform signal transmission and track positions to correct vehicle positioning. Shunsuke et al. [12] proposed a particle-filtered vehicle positioning system for autonomous driving that integrates global navigation system, an inertial navigation system, and camera observation data. Zheng et al. [13] proposed a machine learning segmentation and classification algorithm for lane change detection using steering angle and vehicle data in CAN-buses. This type of method uses various sensor data acquired from multiple sensors to improve the matching accuracy [14,15]. However, these sensor data, which requires additional acquisition usually cannot be obtained from ordinary vehicle navigation devices. In addition, most machine learning based map matching methods rely on the process of parameter learning. In summary, the above machine learning based methods all need to collect, learn, and calculate a large amount of data. Compared with the probabilistic and weighted methods, more complex calculations are required.
(2)
Methods based on probability calculation
In general, probability-based map-matching methods use a hidden Markov model to find the most likely path. In this process, the different combinations of roads that the vehicle could take are evaluated to find the best matching path. The sequence of projected points is the latent state of the Markov model, and the original GPS points are the observations. Different algorithms propose different transition probability distributions to determine the probability of passing through a candidate road segment. Most algorithms use a Gaussian distribution to describe the emission probability. Newson et al. [16] first proposed a hidden Markov model for fitting GPS data based on a probabilistic map matching framework. Zeng et al. [17] proposed the application of GPS trajectory curvature integral in map matching, and used the curvature feature to find the best matching path. However, when the sampling rate of input GPS points is increased, the performance of map matching is poor. Luo et al. [18] constructed a map matching method based on the hidden Markov chain model, using the aggregated geometric data of the road network, the topology matrix of the road segments and the refined quadtree structure, and combined the Viterbi algorithm to find the optimal order of the road segments. Chen et al. [19] proposed a three-stage map matching method based on driving direction. In this method, the directional probability and spatial probability of road segments around GPS points are calculated to obtain the corresponding matching path. However, when searching for the path, the best matching path is not further found by calculation.
(3)
Methods based on weight assignment
Unlike probabilistic methods, weighted map matching methods assign costs to different candidate paths and use different selection methods to find potential paths. Lin et al. [20] proposed a Dijkstra-based selection mapping algorithm to evaluate the correctness of road sequences. Based on map data, a virtual directed graph is defined, whose nodes are a set of candidate points, and the weights of the edges represent the transition probability from one candidate point to another, to find a suitable path. However, the approximation between the candidate point and the GPS point is not considered. Ptošek et al. [21] proposed a map matching algorithm that combines geometric mapping with Dijkstra’s shortest path algorithm to solve the problems of inaccurate vehicle position data and too short road segments in the matching process. However, when the frequency of trajectory point sampling is continuously reduced, the matching accuracy is also continuously reduced.
In addition, relevant researchers have also made significant efforts to improve the execution efficiency of map matching. Koller et al. [22] combined the computation of probabilities and assignment of weights by using a map matching method based on the HMM, but replaced the Viterbi algorithm with the Dijkstra algorithm. The method of mixing probabilities and weights reduces the running time of the map matching process by reducing the overhead in computing the transition probabilities. Traditional map matching methods for low-frequency trajectory data often need to find the shortest path between adjacent sampling points. As the sampling frequency continues to decrease, the distance between adjacent sampling points becomes larger and larger, and the shortest path selection method can no longer find the best matching path for the trajectory points. Therefore, it is necessary to match the low-frequency trajectory points to the corresponding road segments in a more precise way. To overcome the limitations of existing map matching algorithms, this study proposes a segmented map matching method based on the travel direction of trajectory points, combined with the hidden Markov model and the shortest path algorithm to ensure the matching accuracy and path topology feasibility.
The rest of the study is organized as follows. Section 2 presents the basic concepts and descriptions of related problems, and describes the framework and process of the proposed algorithm in detail. Section 3 verifies the performance of the proposed algorithm through experiments. The contribution description and associated analysis of the proposed method are discussed in Section 4. The conclusions and future prospects are presented in Section 5.

2. Methods

2.1. Basic Concepts and Problem Description

This section defines the relevant concepts used in this paper.
Definition 1.
(road segment):A road segment is a directed edge, defined as e = ( e id , e start id , e end id ) , where e id represents the road segment identifier, e start id represents the road segmentstart point e id , and e end id represents the road segment end point e id . In this study, e start id e end id and e end id e start id are treated as different directions of the same road segment.
Definition 2.
(road segment node): The road segment node refers to the start point or end point of the road segment, expressed as v = ( v i d , v l a t , v l o n ) , where v i d is the unique identifier of the road segment node and v l a t and v l o n are the latitude and longitude coordinates of the location of the road segment node location, respectively.
Definition 3.
(road network):The road network is represented by a single directed graph G= (V, E), where Vis the set of road segment nodes, expressed as V = { v 1 , v 2 , , v n } , E is the set of all road segments, expressed as E = { e 1 , e 2 , , e n } .
Definition 4.
(location point): The location point (also called trajectory point) represents the location information acquired by the GPS device within a certain time interval, defined as p i = { l a t i , l o n i , t i , s i , h i } , where l a t i and l o n i represent the latitude and longitude coordinates of the current location point, respectively, t i represents the time of the current location point, s i represents the current speed of the vehicle, and h i represents the current driving direction of the vehicle.
Definition 5.
(original trajectory segment): The original trajectory segment consists of a set of location points ordered by timestamps, defined as τ = p i , p i + 1 , , p i + u 1 , where p j ( i j i + u 1 ) is the location point, and the length of τ is the number of location points contained in τ . That is, | τ | = u .
Definition 6.
(matched trajectory segment): Given an original trajectory segment, its matched trajectory segment τ m represents the actual driving segment of the vehicle in the road network, defined as τ m = e i , e i + 1 ,   , e n , where the road segments e i and e i + 1 have a common road segment node. That is, they are connected to each other.
Definition 7.
(travel direction angle): The travel direction refers to the direction in which the vehicle is moving at the location point. The angle formed by the counterclockwise rotation of the forward direction to the true north direction is called the travel direction angle of the location point. The travel direction angle of the location point p i is recorded as h i , 0 ° h i 360 ° .
The heading direction angle can be obtained from the trajectory dataset.
Definition 8.
(road segment direction angle): The angle formed by the counterclockwise rotation of the road segment direction to the north direction is defined as the road segment direction angle. The calculation method is shown in Equation (1).
β = { ( π 2 arctan ( y 2 y 1 x 2 x 1 ) ) 180 π , x 2 > x 1 ( 3 π 2 arctan ( y 2 y 1 x 2 x 1 ) ) 180 π , x 2 < x 1 0 , x 2 = x 1 y 2 y 1 180 , x 2 = x 1 y 2 < y 1
Here, ( x 1 , y 1 ) and ( x 2 , y 2 ) are the latitude and longitude coordinates of the two points, respectively, and 0 ° β 360 ° .
As shown in Figure 1, E = { e 1 , e 2 , e 3 , , e 18 } represents the set of all road segments, and V = { v 1 , v 2 , v 3 , , v 15 } represents the set of all road segment nodes. V and E together form an instance of a road network. The sequence of location points p 1 , p 2 , p 3 , , p 7 form the original trajectory segment τ , where each location point contains latitude, longitude, timestamp, instantaneous speed, and travel direction information. For example, taking true north as the base direction, the travel direction angle of p 1 is represented as h 1 . The matching trajectory segment of τ is τ m = e 9 , e 14 , e 6 , e 7 , e 17 .

2.2. Low-Frequency Trajectory Map Matching Algorithm

2.2.1. Algorithm Overview

The proposed algorithm first divides the complete trajectory into several consecutive sub-trajectories according to the travel direction of the location point. Second, it calculates the directional probability for each sub-trajectory after segmentation, and obtains the spatial probability according to the distance between the location point and the road segment. Based on the directional probability and the spatial probability, the corresponding comprehensive probability is then obtained. Finally, the shortest path algorithm and the result of calculating the comprehensive probability are combined to obtain the matching paths under different probabilities. The optimal path is selected based on the similarity factor between the trajectory and the road segments, so that the trajectory points are matched to the road network. Figure 2 shows the schematic diagram of the proposed algorithm, which mainly includes the following three steps.
(1)
Trajectory segmentation
Consider an original trajectory segment τ = { p 1 , p 2 , p 3 , , p n } , in which each location point p i has its direction information during the driving process. The whole trajectory is segmented according to the travel direction of the location point. The first point in the subsequent segmented sub-trajectory is the last point in the previous segmented sub-trajectory.
(2)
Trajectory point matching
For each trajectory point p i , there are corresponding candidate road segments around it. Based on the distance between the trajectory point and the candidate road segment, the corresponding spatial probability G 1 is obtained, and the directional probability G 2 is obtained from the travel direction angle and the road segment direction angle. Finally, combining the spatial probability and the directional probability, the comprehensive probability Gw between the trajectory point and the road segment under consideration is obtained. The road segments under consideration are sorted according to their values for comprehensive probability.
(3)
Best path selection
For each segmented sub-trajectory τ i , we first find the path from the first point to the last point of τ i using the shortest path algorithm. For each trajectory point p i there are several candidate road segments with different probabilities, so in the path search, we obtain several matching sequences consisting of road segments with different probabilities. The path that best matches the original trajectory segment is selected based on the distance between the trajectory segment and each candidate path. After matching the first segmented sub-trajectory, the candidate road segment that matches the last point of the previous sub-trajectory is recorded, then the second sub-trajectory is matched, and so on, to finally obtain the best matching path.

2.2.2. Trajectory Segmentation

In an original trajectory segment, each trajectory point p i has a corresponding travel direction angle h i ( 2 i n ) . The direction rotation angle θ i between adjacent trajectory points is min ( | h i h i 1 | ,   360 ° | h i h i 1 | ) . When θ i θ c is satisfied, we segment the trajectory, where θ c is the angle threshold. In the experiments, the matching accuracy is tested under different angle thresholds, which determine the value of θ c .
As shown in Figure 3, there is an initial trajectory segment τ = { p 1 , p 2 , p 3 , p 4 , p 5 , p 6 } , p 1 corresponds to the travel direction angle h 1 , p 2 corresponds to the travel direction angle h 2 , and so on. In the segmentation process, the travel direction difference between p 1 and p 2 is calculated first, and the result is less than θ c . Therefore, they belong to one segment. Then, we calculate the travel direction difference between p 2 and p 3 and find that it is greater than θ c , so they are divided into different segments. According to this rule, the trajectory is segmented, and the segmented sub-trajectories are finally obtained as τ 1 = { p 1 , p 2 } and τ 2 = { p 2 , p 3 , p 4 , p 5 , p 6 } . To ensure the connectivity between the segmented sub-trajectories, the last point in τ 1 is the first point in τ 2 . The pseudocode for trajectory segmentation is shown in Algorithm 1.
Algorithm 1: Trajectory segmentation
Input: Trajectory T ,   θ c
    Output: Segmented   trajectory   set   Γ
     1 :   Initialize   Γ = ϕ , ind = 2, cnt = 1;
     2 :   Γ 1 1 = p 1 ;
     3 :   Γ 1 2 = p 2 ;
    4: for i = 3 to |T| do
    5:    if  | h ( p i ) h ( p i 1 ) | < θ c  then
    6:      ind = ind + 1;
     7 :       Γ c n t i n d = p i ;
    8:    else
    9:        cnt = cnt + 1;
     10 :       Γ c n t 1 = p i 1 ;
     11 :       Γ c n t 2 = p i ;
    12:       ind = 2;
    13:    end if
    14: end for
    15: return  Γ ;
The segmented sub-trajectories are stored in Γ , which is the basis for the next trajectory point matching.

2.2.3. Trajectory Point Matching

After the trajectory is segmented, the candidate road segments are found with correspondingly different probabilities by analyzing the probabilities between the trajectory point and each road segment. As shown in Figure 4, a circle is drawn with the trajectory point p 1 as the center and r as the radius, and the road segments { e 1 , e 2 , e 3 , e 4 , e 5 } within the circle are selected as candidate road segments. In order to find the correct road segment that matches the trajectory point, we set the radius r to a relatively large value (such as 100 m). By calculating the spatial probability and the directional probability, we obtain m candidate road segments corresponding to the trajectory point for further processing.
Definition 9.
(Spatial probability) [19]: Let H p i e j be the shortest distance from the trajectory point p i to the road segment e j . We define the spatial probability as a measure on the possibility of spatial matching between the p i and e j , denoted as G 1 ( H p i e j ) . The calculation methods of H p i e j and G 1 ( H p i e j ) are shown in Equations (2) and (3), respectively:
H p i e j = min ( d i s p ( p i , c 1 ) , d i s p ( p i , c 2 ) , d i s p ( p i , c 3 ) )
G 1 ( H p i e j ) = 1 2 π σ 1 e ( H p i e j ) 2 2 ( σ 1 ) 2
where c 1 and c 2 are the two endpoints of the road segment e j respectively, and c 3 is the vertical projection point from p i to e j . If c 3 is not located in e j , then d i s p ( p i , c 3 ) is set to + ; σ 1 is the standard deviation of location measurement, which is generally set to 20 m [23]. In general, the distance between the trajectory point and the road segment can be simulated as the normal distribution of the distance H p i e j .
However, matched road segments determined only by spatial probability will have corresponding errors. As shown in Figure 5, for the trajectory point p 2 ( p 3 ), e 3 ( e 4 ) with the maximum spatial probability is an incorrect matched road segment. According to the direction of travel of the trajectory p 1 p 2 p 3 p 4 , the correct matching road segments should be e 1 e 2 e 5 . Therefore, the directional probability is proposed to improve the matching accuracy.
Definition 10.
(Directional probability) [19]: Let A h i θ j be the angular difference between the travel direction angle of p i and the road segment direction angle. Define the directional probability as a measure on the possibility of the direction matching between the trajectory point p i and the candidate road segment e j , denoted as G 2 ( A h i θ j ) . The calculation methods of A h i θ j and G 2 ( A h i θ j ) are shown in Equations (4) and (5), respectively:
A h i θ j = min ( | h i θ j 1 ) | , | h i θ j 2 | )
G 2 ( A h i θ j ) = 1 2 π σ 2 e ( A h i θ j ) 2 2 ( σ 2 ) 2
where h i represents the travel direction angle of p i , θ j 1 and θ j 2 represent the angles in two different directions of the road segment; σ 2 is the standard deviation of the directional measurement, and is also set to 20 m.
Based on Equation (5), we obtain different directional probabilities between each trajectory point and the different candidate road segments. As for the spatial probability, the directional probability can also be simulated as a normal distribution of the travel direction angle difference A h i θ j .
Definition 11.
(Comprehensive probability) [19]: By combining the spatial probability and directional probability, this study defines the comprehensive probability as G w , which is calculated by Equation (6).
G w = G 1 × G 2
According to the above calculation and discussion, there is at least one eligible road segment around each trajectory point, so there is at least one comprehensive probability. Based on the comprehensive probability value, we select the m candidate road segments with the highest probability for the selection of the next best path and the evaluation of the map matching algorithm. The pseudocode for trajectory point matching is shown in Algorithm 2.
Algorithm 2: Trajectory point matching
Input: Segmented   trajectory   set   Γ , Road Network G, Radius threshold r, Candidate value k
    Output: Candidate road segment set Cr, Comprehensive probability set Gw
    1: Initialize Cr = , N = , H = ;
    2: for each  p i Γ  do
    3:    Construct a circle Ci with p i as center and r as radius;
    4:    CrCr {the candidate road segments around Ci};
    5:    for each  c j Cr do
    6:      Nijthe spatial probability of c j calculated by Equation (3);
    7:      Hijthe heading probability of c j calculated by Equation (5);
    8:      Gwijthe comprehensive probability of c j calculated by Equation (6);
    9:    end for
    10: end for
    11: return Gw, Cr;
After matching the trajectory points with Algorithm 2, Gw stores the comprehensive probabilities for each trajectory point, and Cr stores the eligible road segments around each trajectory point. The next step is to find the optimal path through the segmented sub-trajectories and the comprehensive probabilities.

2.2.4. Best Path Selection

In each segmented sub-trajectory τ i k = { p i a , p i a + 1 , , p i b } , each trajectory point has its corresponding candidate road segments with comprehensive probability Gw values. Since the research object of this paper is low-frequency trajectory data, the road segments coinciding with the adjacent trajectory points are generally not connected. Therefore, we find the best road segment matching the trajectory point through three steps.
Step 1 (Establish trajectory buffer): In the selection of the best path, we need to find the path between the trajectory points using the shortest path algorithm. Due to the size of the road network, it is impossible to find the path in the entire road network. Therefore, we filter the road network by the travel directions of the trajectory points before matching. As shown in Figure 6, there are four trajectory points. We construct a circle with the first trajectory point as the center and r’ as the radius, and then translate continuously along the trajectory travel direction. After one continuous iteration, we obtain the corresponding road buffer. In this study, the trajectory buffer is constructed by determining the road segments and nodes contained in the road buffer.
Step 2 (Find matching paths): Each segmented sub-trajectory τ i k = { p i a , p i a + 1 , , p i b } corresponds to a trajectory buffer. Due to the large distance between two location points in the low-frequency trajectory, two continuous points are usually matched to two unconnected road segments in the road network, which may be far apart. Thus, we need to find possible paths between them. Let us take τ i k as an example, for p i a , there are m possible road segments, and the same is true for p i b . Each trajectory point corresponds to several possible road segments with different probabilities. In this study, potential paths with different probabilities are found by finding the paths between the candidate road segments with different probabilities of the first point and the last point in each segmented sub-trajectory. When finding paths, the candidate road segment with the highest probability is not necessarily the matching road segment. Based on the above considerations, the following operations are performed in this study.
As shown in Figure 7, there is a segmented sub-trajectory τ = { p 1 , p 2 , p 3 } in the trajectory buffer. We first determine the start and end points of the path according to the travel direction of the trajectory. The candidate road segments of the first trajectory point p 1 are { e 10 , e 7 , e 8 } , sorted by to the comprehensive probability, and the sorted candidate road segments of the last trajectory point p 3 are { e 3 , e 2 , e 12 } . Starting from the road segment with the highest probability of p 1 (i.e., e 10 ), we first find the start point of the path corresponding to the angle between the travel direction of p 1 and the direction of the road segment, which is denoted as v 6 in the figure. Then, we calculate the difference between the road segment direction angle of the maximum probability candidate road segment e 3 of the last point p 3 and the travel direction angle of p 3 , and find that the end point of the path is v 7 . Therefore, we find the shortest path from v 6 to the node v 7 is e 10 e 11 e 2 .
However, the path found in the maximum comprehensive probability way is not necessarily the final matching path. As shown in Figure 8, the sub-trajectories segmented by the trajectory direction are τ 1 = { p 1 , p 2 } and τ 2 = { p 2 , p 3 } . For the last point of τ 1 (i.e., p 2 ), the road segment with the highest comprehensive probability is e 4 , but we can see in Figure 8 that p 2 should match to e 5 . Therefore, Step 3 is used to determine the best matching path.
Step 3 (Find the best matching path): For each trajectory point in the segmented sub-trajectory, there are candidate road segments with different comprehensive probabilities. Therefore, in this step, k candidate paths are found from the start point to the end point in the segmented sub-trajectories, as shown in Table 1. (1) When k = 1, it is the path from the candidate road segment with the highest comprehensive probability of the start point to the candidate road segment with the highest comprehensive probability of the end point; (2) When k = 2, it is the path from the candidate road segment with the highest comprehensive probability of the start point to the candidate road segment with the second highest probability of the end point; (3) When k = 3, it means the path from the second-highest-probability candidate road segment of the start point to the highest-probability road segment of the end point; (4) When k = 4, it means the path from the second-highest-probability candidate road segment of the start point to the second-highest-probability candidate road segment of the end point; (5) When k = 5, it means the path from the candidate road segment with the highest comprehensive probability of the start point to the candidate road segment with the third highest probability of the end point. In the experiments, different k values (k = 1, 2, 3, 4, 5) are set to evaluate the effect of k different paths and find the best path.
By the above analysis, we can find the relevant k candidate paths for each segmented sub-trajectory of the original trajectory, and combine the candidate paths of the different sub-trajectories to get k complete candidate paths. Figure 9 shows the trajectory points p 1 ,   p 2 ,   p 3 and the corresponding matching road segments e 1 and e 3 . In the path finding process, e 1 e 2 e 3 is one of the candidate paths. To find the best matching path, the distance between the original trajectory p 1 p 2 p 3 and each candidate path must be calculated. First, calculate the shortest distance from each trajectory point to each road segment in the path. That is, the projected distance from the trajectory point to the road segment. If the projected point is not on the road segment, calculate the distance between the trajectory point and the projected point on the extended line of the road segment. As shown in Figure 9, the distances from p 1 to road segments e 1 , e 2 , and e 3 are d 1 , d 2 , and d 3 , respectively; the distances from p 2 to road segments e 1 , e 2 , and e 3 are d 4 , d 5 , and d 6 , respectively; and the distances from p 3 to road segments e 1 , e 2 , and e 3 are d 7 , d 8 , and d 9 respectively. Second, add all the shortest distances to get the distance between the trajectory and the current candidate path. Since there are k candidate paths connected by road segments with different probabilities, the distance between any trajectory and its k-th candidate path is denoted as D k   ( k = 1 ,   2 ,   3 ,   4 ,   5 ) . Using Equation (7), the path with the largest probability value P ( D k ) is selected from the k candidate paths as the best matching path.
P ( D k ) = 1 2 π σ 3 e ( D k ) 2 2 ( σ 3 ) 2 ,
where σ 3 is set to 20 m, representing the same meaning as σ 1 and σ 2 . The pseudocode for the best path selection is shown in Algorithm 3.
Algorithm 3: Best path selection
Input: Trajectory segment set Γ , Road Network G, Candidate value k, Comprehensive probability set Gw
    Output: Final path set Path
    1: Initialize k{1,2,3,4,5}, Path = ;
    2: Sort the candidate road segments according to Gw;
    3: distthe adjacency matrix of the link nodes in the sorted set of candidate road segments;
    4: for each  τ i Γ  do
    5:     Path t e m the different shortest paths obtained based on dist and different k values;
    6:     Path i the best path obtained based on Equation (7);
    7: end for
    8: return Path;
After the optimal path is selected using Algorithm 3, the final trajectory matching path is stored in Path.

2.2.5. Algorithm Complexity Analysis

The time complexity of Algorithm 1 mainly depends on the computational cost of the segment angle difference. The time complexity of this part is O(n), where n is the number of location points in the trajectory, so the time complexity of Algorithm 1 is O(n).
The time complexity of Algorithm 2 mainly depends on: (1) the cost of searching for possible road segments around each trajectory point; (2) the cost of computing spatial probability, directional probability, and comprehensive probability. The time complexity of scanning the trajectory point set and scanning the candidate road segment set are both O(n × p), where p is the number of candidate road segments, pn, so the time complexity of Algorithm 2 is O(n).
The time complexity of Algorithm 3 mainly depends on: (1) the cost of finding the shortest path of each segmented sub-trajectory, the time complexity of this part is O(m), where m is the number of segmented sub-trajectories; (2) the cost of finding the best matching path from the shortest path set, the time complexity of this part is O(k), where k is the number of candidate paths. km, so the time complexity of Algorithm 3 is O(m).

3. Results

In this section, the performance of the proposed algorithm is evaluated under various aspects with real trajectory data and road network data.
The experimental environment is an Intel Corei5 processor with 2.4 GHz CPU. The operating platform is Windows 10, and the proposed algorithm is implemented using MATLAB 2018a. The relevant datasets, evaluation indicators, parameter settings, experimental results, and analysis are presented below.

3.1. Datasets

3.1.1. Road Network Dataset

In this study, the road network of Shanghai is imported via ArcGIS [24]. The road network data include major urban roads, urban secondary roads, urban branch roads, residential roads, expressways, tunnels, elevated expressways, suburban trails, sidewalks, driveways, and more. The data contain more than 100,000 road segments and more than 70,000 nodes.

3.1.2. Trajectory Dataset

The trajectory dataset is from the trajectory data of more than 10,000 taxis in Shanghai, China, on 20 February 2007, collected by the Smart City Research Group of the University of Hong Kong. The trajectory data fields include the taxi number, timestamp, latitude and longitude, the vehicle’s travel direction, instantaneous speed, and whether the vehicle is carrying passengers. To illustrate the relevant features of taxi trajectory data, we used the trajectory data from 6:00 a.m. to 10:00 p.m. The number of sampling points and the average distance between adjacent points under different sampling frequencies are shown in Table 2. Following the literature [25], we use ArcGIS software to put the vehicle trajectory data and Shanghai road network data in the same layer, and find out the correct road segments matching the trajectory points by manual tagging. In this study, the sampling rate of the trajectory data is reduced to obtain low-frequency trajectory data. Based on this, experiments are conducted to evaluate the performance of the algorithm.

3.2. Evaluation Indicators

In this study, three evaluation indicators are used to measure the superiority of the algorithm, including two evaluation indicators to measure the matching accuracy and one to measure the matching time.

3.2.1. Trajectory Point Matching Accuracy

The trajectory point matching accuracy, denoted as R c , refers to the ratio between the number of trajectory points correctly matched with the road network and the number of trajectory points to be matched, calculated as follows:
R c = P R × 100 % ,
where P represents the number of trajectory points correctly matched to the road segment, and R represents the number of trajectory points used for matching.

3.2.2. Road Segment Matching Accuracy

The road segment matching accuracy, denoted as R m , refers to the ratio between the number of road segments correctly matched to the road network to the total number of actual road segments of the trajectory, calculated as follows:
R m = l L × 100 % ,
where l represents the number of correctly matched road segments, and L represents the total number of actual road segments of the trajectory.
Since this algorithm is used for matching low-frequency trajectory data, the distance between trajectory points is relatively large, and there are more road segments between each two consecutive trajectory points. Therefore, the R m indicator is used to measure the accuracy of road segment matching.

3.2.3. Trajectory Point Matching Time

Use N s to denote the average runtime required for each trajectory point to complete the matching.
N s = T r t R ,
where Trt represents the total time required for the entire trajectory to complete the map matching process, and R represents the number of trajectory points used for matching.
Due to the complexity of road networks, the accuracy of trajectory map matching changes accordingly for road networks with different topologies. Therefore, in this study, a visual comparison of the map matching results of different algorithms in road networks with different topologies is performed, which shows the superiority of the proposed algorithm.

3.3. Parameter Setting

3.3.1. Segmentation Angle

In the first stage of the algorithm, we perform the trajectory segmentation operation according to the specified segmentation angle ( θ c ) value. Based on trajectory feature analysis and experimental results, we found that the best segmentation angle was 20°. As different datasets have different characteristics, we set the angle to different values to check its effect on accuracy and time. In particluar, five different angle values of 0°, 20°, 40°, 60°, and 80° are used to compare the matching accuracy and matching time of the same trajectory.

3.3.2. Number of Candidate Paths

In the second stage of the algorithm, we determine the candidate road segments around each trajectory point according to the comprehensive probability obtained from the spatial probability and the directional probability, and sort the road segments by comprehensive probability in descending order. In the third stage, we find that the final matched path is not necessarily the path between the candidate road segments with the highest comprehensive probabilities. Therefore, by fixing the number of candidate paths (k), we can find potential paths between candidate road segments with different probabilities. To check the effect of different number of paths k on matching accuracy, we set the value of k to 1, 2, 3, 4, and 5, respectively, and use the same trajectory for experimental verification, to find the effects of the number of paths on the map matching accuracy and matching time.

3.3.3. Sampling Frequency

The sampling frequency reflects the time interval between two adjacent trajectory points. To verify the superiority of the proposed algorithm, trajectory data with different sampling intervals, which are 15 s, 30 s, 60 s, 90 s, and 120 s, respectively, are collected. The matching accuracy and matching time of the algorithm at different sampling frequencies are compared and analyzed, which shows the superiority of the proposed algorithm.

3.4. Experimental Results

3.4.1. Experimental Comparison Results Based on Different Parameters

(1)
Experimental results at different segmentation angles
Figure 10 shows the results of comparing the matching accuracy R c , R m and matching time N s under different segmentation angles θ c . The “(s)” in the symbol “ N s (s)” indicates that the time unit of N s is seconds. The sampling interval between trajectory points is 60 s. It can be seen that when the angle is in the range of [0°, 40°], the time required is almost the same, and when the segmentation angle is in the range of [60°, 80°], the matching time is reduced. In terms of accuracy, we find that for segmentation angles of 20° and 40°, the matching accuracy reaches a peak, and the matching accuracy is the same under the two segmentation angles. When the angle is 60° and 80°, the time loss decreases, the matching accuracy also decreases significantly.
From the experiments, it can be seen that at θ c = 20 ° , the matching accuracy peaks and the time loss is relatively small. This is because at a segmentation angle of 0°, all trajectory points are considered to be segmented. When the road segments in the road network are dense, using a segmentation angle of 0° during the matching process causes the number of segmented sub-trajectories to be larger, and the number of trajectory points in each sub-trajectory to be smaller. The result cannot be corrected in the path finding process, leading to corresponding errors. When the segmentation angle is θ c = 40 ° , the accuracy remains the same as θ c = 20 ° , but more time is required in the matching process. For angles of 60° and 80°, the trajectory that should be segmented is not segmented, the number of segments in a trajectory is reduced, and the number of times a path is found is correspondingly reduced. However, the trajectories are not segmented correctly, resulting in a large error. That is, both the matching accuracy and the matching time decrease. Therefore, we set θ c to 20 ° in the following experiments.
(2)
Experimental results under different candidate path values
As can be seen in Figure 11, as the number of candidates increases, the matching accuracy also increases, and the time peaks when k = 5. This is because the path search selects the best matching path by comparing the candidate road segments with different probabilities. When k = 1, the path searched is the path between the maximum probability matching road segments that correspond to the trajectory points, so there is a large matching error. As the k value increases, the matching accuracy improves due to the continuous correction of the path. In the following experiments for comparison with other algorithms, we set k = 5.
(3)
Experimental results at different sampling frequencies
Table 3 shows the corresponding results for the trajectory map matching accuracy R c , R m and matching time N s at different sampling frequencies and different path candidate values. From the table, we can see that with the continuous increase of the sampling interval, the trajectory map matching accuracy continues to decrease. This is because with the continuous reduction of the sampling frequency, the relevant information between the trajectory points also becomes less, and the distance between two adjacent trajectory points continues to increase, which increases the possibility of matching road segments. The algorithm has to make calculations in different situations. Therefore, the accuracy will continue to decrease and the matching time will continue to increase.

3.4.2. Comparison Results with Other Algorithms

Figure 12a shows the comparison results of ST-Matching [23], SD-Matching [19], and the proposed algorithm in terms of trajectory point matching accuracy R c . In this study, the trajectory is segmented by setting the threshold value for the segmentation angle θ c , and the path results are corrected in path finding to better match the trajectory points to the road network. It can be seen that the proposed algorithm has about 5% higher matching accuracy compared with the SD-Matching algorithm. This is because after the trajectory segmentation, we only need to analyze the path between the first and the last trajectory points in the segmented sub-trajectories. In the path search, the paths between candidate road segments with different probabilities are compared to correct the matching result, to improve the matching accuracy. The ST-Matching algorithm assigns the location points to the road segments with a short distance, and does not consider the relationship with the neighboring points, resulting in a large matching error.
Figure 12b shows the comparison results of ST-Matching, SD-Matching, and the proposed algorithm in terms of road segment matching accuracy R m . In this study, the best path is selected by comparing and screening the paths between candidate road segments with different probabilities. It can be seen that the proposed algorithm based on the trajectory data of different sampling frequencies has about 8% improved matching accuracy compared to ST-Matching and about 5% compared to SD-Matching. From the above analysis, we can see that after calculating and analyzing the paths between the candidate road segments with different probabilities, the road segment matching accuracy is further improved.
Figure 13 shows the comparison results of ST-Matching, SD-Matching and the proposed algorithm in the running time N s . It can be seen that the running time of the proposed algorithm is reduced by about 10–20% compared to the other two algorithms. The larger the sampling interval between the trajectory points, the smaller the difference in running time between this algorithm and the other two algorithms. The proposed algorithm segments the trajectory based on the segmentation angle threshold. The matching time of the trajectory data mainly depends on the number of segmented sub-trajectories. The road network was reduced and optimized based on the feature of the trajectory point travel direction. Compared to SD-Matching, a semicircular buffer is not built, but a trajectory buffer corresponding to the driving direction between the trajectory points is built, which improves the matching efficiency. The ST-Matching algorithm does not build a buffer during the path search, so the scope of the path includes the entire road network, which takes a lot of time.
Figure 14 shows the visualization results of ST-Matching, SD-Matching, and the proposed algorithm under the topology of the bus-type road network. It can be seen that the three algorithms have good matching effects in the uncomplicated road network dominated by the bus topology, and all of them can match the trajectory points with the correct road network. Figure 15 shows three visualization results with multiple parallel road topologies. We can see that ST-Matching mainly matches the trajectory points to the nearest road segments, and finds the path between the corresponding road segments of each trajectory point. Although the SD-Matching algorithm also determines the relevant number of candidates in the matching process, it does not correct the road segments between different candidate paths. If there is a path between the candidate road segments with the highest probability corresponding to the trajectory points, it is considered as the final matching path, which leads to large errors. The proposed algorithm makes appropriate corrections to the matching results, and this improves the matching accuracy.

4. Discussion

There is a certain range of errors in the data collected by the positioning device. If these data are directly used in traffic detection, urban planning, and other applications, it will lead to a large degree of error, resulting in waste of manpower and material resources. The map matching method plays an important role in the preprocessing step of trajectory data mining. In practice, vehicles usually report their GPS positions to the dispatch center at a lower sampling rate in order to save communication and energy costs [26,27,28]. If the processing object is high-frequency trajectory data, where the distance between adjacent location points is short, the road network topology can be used for analysis and matching [29]. By contrast, the low-frequency trajectory map matching method generally cannot guarantee a feasible matching path, due to the long time interval between two adjacent trajectory points, i.e., there may be several road segments between the segments matched by two adjacent trajectory points.
For low-frequency trajectory data, related researchers have proposed several map matching algorithms [30,31,32], which usually combine the hidden Markov model (HMM) and the shortest path algorithm to determine the shortest path between two consecutive trajectory points. Although these algorithms can achieve high matching accuracy, the time required to calculate the shortest path is significantly high. Lengthy computations impose a huge computational burden on the algorithms and limit the application scenarios of the algorithms. To overcome this challenge, this paper proposes an efficient map-matching algorithm for low-sampling-rate trajectory data. The proposed algorithm firstly segments the complete trajectory according to the travel direction of the location points; secondly, the candidate road segments around the segmented trajectory points are selected according to the comprehensive probability obtained from the spatial probability and the directional probability; thirdly, based on the obtained candidate road segments and the shortest path algorithm, each segmented sub-trajectory is matched with the road network, and the candidate paths are obtained; finally, the best matching path is found by the correlation calculation. Experiments with real trajectory datasets and road network data show that the proposed algorithm has higher matching accuracy and matching efficiency.
The main contributions of this study are as follows:
(1)
A new low-frequency trajectory map matching algorithm is proposed, which matches the segmentation of trajectory data according to the driving direction of location points and improves the matching accuracy;
(2)
The segmentation matching method, hidden Markov model and shortest path algorithm are combined to improve the matching accuracy and matching efficiency;
(3)
Experiments are performed using real trajectory datasets and Shanghai road network data, and the results show that the proposed vehicle direction segmentation-based map matching algorithm achieves higher accuracy and requires less running time. In particular, the proposed method shortens the running time by almost 10−20%, and the matching accuracy is improved by almost 5%. Simultaneously, it has good adaptability under the parallel road topology.
The algorithm proposed in this paper improves the map matching ability of trajectory data to a certain extent, and improves the matching accuracy and matching efficiency of trajectory data with low sampling rate. The results of this study are helpful for vehicle navigation, tracking, and mapping of new roads, because to truly benefit from the emerging technology of data-driven infrastructure planning, it is important to combine telematics and map data to make it easier to extract and mine useful information from the GPS data to assist in designing traffic systems in large urban areas to prevent congestion. Traffic jams cause large economic losses, so anything that can assist in improving travelling time will likely be welcomed by logistics professionals and civil engineers.

5. Conclusions

In this study, we propose a new algorithm for low-frequency trajectory map matching that considers the vehicle’s direction of travel and the hidden Markov model. The proposed algorithm considers the situation that the path found by the shortest path matching algorithm has errors due to the large distance between adjacent location points in the low-frequency trajectory data, calculates candidate paths with different probabilities by similarity measure, and finally obtains the optimal matching path. We compare the proposed algorithm with two similar algorithms on real trajectory and road network datasets, indicating that the proposed algorithm is excellent in matching accuracy and efficiency. It provides a good data foundation for applications in the data mining field. These matched GPS trajectory data are typically integrated with geographic information systems in intelligent transportation systems to provide various services to individuals or companies, such as vehicle navigation, tracking, and map drawing.
The proposed algorithm has a good effect on obtaining the complete matched path, but it can only be applied to offline trajectory data. In the future research, we will extend the proposed algorithm for online applications.

Author Contributions

Conceptualization, Qingying Yu; Data curation, Fan Hu; Funding acquisition, Qingying Yu, Chuanming Chen, Liping Sun and Xiaoyao Zheng; Methodology, Fan Hu and Qingying Yu; Supervision, Chuanming Chen; Validation, Chuanming Chen; Visualization, Qingying Yu; Writing—original draft, Fan Hu; Writing—review and editing, Qingying Yu, Liping Sun and Xiaoyao Zheng. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the National Natural Science Foundation of China, grant number 61702010, 61972439, 61672039, the University Natural Science Research Program of Anhui Province, grant number KJ2021A0125, the Anhui Provincial Natural Science Foundation of China, grant number 2108085MF214, and the Key Program in the Youth Elite Support Plan in Universities of Anhui Province, grant number gxyqZD2020004.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Acknowledgments

The authors would like to thank the reviewers for their useful comments and suggestions for this paper.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Kiani, A.; Liu, G.; Shi, H.; Khreishah, A.; Ansari, N.; Lee, J.Y.; Liu, C. A two-tier edge computing based model for advanced traffic detection. In Proceedings of the 5th International Conference on Internet of Things: Systems, Management and Security, Valencia, Spain, 15–18 October 2018; pp. 208–215. [Google Scholar]
  2. Wali, B.; Khattak, A.J.; Bozdogan, H.; Kamrani, M. How is driving volatility related to intersection safety? A Bayesian heterogeneity-based analysis of instrumented vehicles data. Transp. Res. Part C Emerg. Technol. 2018, 92, 504–524. [Google Scholar] [CrossRef]
  3. Azimjonov, J.; Özmen, A. A real-time vehicle detection and a novel vehicle tracking systems for estimating and monitoring traffic flow on highways. Adv. Eng. Inform. 2021, 50, 101393. [Google Scholar] [CrossRef]
  4. Tang, J.; Bi, W.; Liu, F.; Zhang, W. Exploring urban travel patterns using density-based clustering with multi-attributes from large-scaled vehicle trajectories. Phys. A Stat. Mech. Its Appl. 2021, 561, 125301. [Google Scholar] [CrossRef]
  5. Dandala, T.T.; Krishnamurthy, V.; Alwan, R. Internet of Vehicles (IoV) for traffic management. In Proceedings of the 2017 International Conference on Computer, Communication and Signal Processing, Chennai, India, 10–11 January 2017; pp. 1–4. [Google Scholar]
  6. Lee, H.Y.; Ho, H.W.; Zhou, Y. Deep learning-based monocular obstacle avoidance for unmanned aerial vehicle navigation in tree plantations. J. Intell. Robot. Syst. 2021, 101, 5. [Google Scholar] [CrossRef]
  7. Velaga, N.R.; Quddus, M.A.; Bristow, A.L. Developing an enhanced weight-based topological map-matching algorithm for intelligent transport systems. Transp. Res. Part C Emerg. Technol. 2009, 17, 672–683. [Google Scholar] [CrossRef] [Green Version]
  8. Toledo-Moreo, R.; Bétaille, D.; Peyret, F. Lane-level integrity provision for navigation and map matching with GNSS, dead reckoning, and enhanced maps. IEEE Trans. Intell. Transp. Syst. 2009, 11, 100–112. [Google Scholar] [CrossRef]
  9. Szottka, I. Particle filtering for lane-level map-matching at road bifurcations. In Proceedings of the 16th International IEEE Conference on Intelligent Transportation Systems, Hague, The Netherlands, 6–9 October 2013; pp. 154–159. [Google Scholar]
  10. Tao, Z.; Bonnifait, P.; Fremont, V.; Ibanez-Guzman, J. Lane marking aided vehicle localization. In Proceedings of the 16th International IEEE Conference on Intelligent Transportation Systems, Hague, The Netherlands, 6–9 October 2013; pp. 1509–1515. [Google Scholar]
  11. Gu, Y.; Wada, Y.; Hsu, L.; Kamijo, S. Vehicle self-localization in urban canyon using 3D map based GPS positioning and vehicle sensors. In Proceedings of the 2014 International Conference on Connected Vehicles and Expo, Vienna, Austria, 3–7 November 2014; pp. 792–798. [Google Scholar]
  12. Shunsuke, K.; Yanlei, G.; Hsu, L.T. GNSS/INS/on-board camera integration for vehicle self-localization in urban canyon. In Proceedings of the 2015 IEEE 18th International Conference on Intelligent Transportation Systems, Gran Canaria, Spain, 15–18 September 2015; pp. 2533–2538. [Google Scholar]
  13. Zheng, Y.; Hansen, J.H.L. Lane-change detection from steering signal using spectral segmentation and learning-based classification. IEEE Trans. Intell. Veh. 2017, 2, 14–24. [Google Scholar] [CrossRef]
  14. Kassas, Z.Z.M.; Maaref, M.; Morales, J.J.; Khalife, J.J.; Shamei, K. Robust vehicular localization and map matching in urban environments through IMU, GNSS, and cellular signals. IEEE Intell. Transp. Syst. Mag. 2020, 12, 36–52. [Google Scholar] [CrossRef]
  15. Maaref, M.; Kassas, Z.M. Ground vehicle navigation in GNSS-challenged environments using signals of opportunity and a closed-loop map-matching approach. IEEE Trans. Intell. Transp. Syst. 2019, 21, 2723–2738. [Google Scholar] [CrossRef] [Green Version]
  16. 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]
  17. Zeng, Z.; Zhang, T.; Li, Q.; Wu, Z.; Zou, H.; Gao, C. Curvedness feature constrained map matching for low-frequency probe vehicle data. Int. J. Geogr. Inf. Sci. 2016, 30, 660–690. [Google Scholar] [CrossRef]
  18. Luo, A.; Chen, S.; Xv, B. Enhanced map-matching algorithm with a hidden Markov model for mobile phone positioning. ISPRS Int. J. Geo-Inf. 2017, 6, 327. [Google Scholar] [CrossRef] [Green Version]
  19. Chen, C.; Ding, Y.; Xie, X.; Zhang, S. A three-stage online map-matching algorithm by fully using vehicle heading direction. J. Ambient. Intell. Humaniz. Comput. 2018, 9, 1623–1633. [Google Scholar] [CrossRef]
  20. Lin, M.C.-H.; Huang, F.-M.; Liu, P.-C.; Huang, Y.-H.; Chung, Y.-S. Dijkstra-Based Selection for Parallel Multi-lanes Map-Matching and an Actual Path Tagging System. In Proceedings of the Asian Conference on Intelligent Information and Database Systems, Da Nang, Vietnam, 14–16 March 2016; pp. 499–508. [Google Scholar]
  21. Ptošek, V.; Rapant, L.; Martinovič, J. Floating car data map-matching utilizing the Dijkstra’s algorithm. In Data Management, Analytics and Innovation; Springer: Singapore, 2020; pp. 115–130. [Google Scholar]
  22. Koller, H.; Widhalm, P.; Dragaschnig, M.; Graser, A. Fast hidden Markov model map-matching for sparse and noisy trajectories. In Proceedings of the 2015 IEEE 18th International Conference on Intelligent Transportation Systems, Gran Canaria, Spain, 15–18 September 2015; pp. 2557–2561. [Google Scholar]
  23. 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]
  24. Karduni, A.; Kermanshah, A.; Derrible, S. A protocol to convert spatial polyline data to network formats and applications to world urban road networks. Sci. Data 2016, 3, 160046. [Google Scholar] [CrossRef]
  25. Nikolić, M.; Jović, J. Implementation of generic algorithm in map-matching model. Expert Syst. Appl. 2017, 72, 283–292. [Google Scholar] [CrossRef]
  26. 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]
  27. Huang, Z.; Qiao, S.; Han, N.; Yuan, C.A.; Song, X.; Xiao, Y. Survey on vehicle map matching techniques. CAAI Trans. Intell. Technol. 2021, 6, 55–71. [Google Scholar] [CrossRef]
  28. Chao, P.; Xu, Y.; Hua, W.; Zhou, X. A survey on map-matching algorithms. In Proceedings of the Australasian Database Conference, Melbourne, VIC, Australia, 3–7 February 2020; Springer: Cham, Switzerland, 2020; pp. 121–133. [Google Scholar]
  29. Yu, Q.; Hu, F.; Ye, Z.; Chen, C.; Sun, L.; Luo, Y. High-frequency trajectory map matching algorithm based on road network topology. IEEE Trans. Intell. Transp. Syst. 2022, 3, 1–16. [Google Scholar] [CrossRef]
  30. 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]
  31. Tanaka, A.; Tateiwa, N.; Hata, N.; Yoshida, A.; Wakamatsu, T.; Osafune, S.; Fujisawa, K. Offline map matching using time-expanded graph for low-frequency data. Transp. Res. Part C Emerg. Technol. 2021, 130, 103265. [Google Scholar] [CrossRef]
  32. Chen, R.; Yuan, S.; Ma, C.; Zhao, H.; Feng, Z.-Y. THMM: A tailored hidden markov model optimized for cellular-based map matching. IEEE Trans. Ind. Electron. 2021, 12, 1–10. [Google Scholar] [CrossRef]
Figure 1. Example of trajectory data and road network model.
Figure 1. Example of trajectory data and road network model.
Ijgi 11 00355 g001
Figure 2. Algorithmic framework.
Figure 2. Algorithmic framework.
Ijgi 11 00355 g002
Figure 3. Trajectory segmentation example.
Figure 3. Trajectory segmentation example.
Ijgi 11 00355 g003
Figure 4. Selection of candidate road segments.
Figure 4. Selection of candidate road segments.
Ijgi 11 00355 g004
Figure 5. Disadvantages of matching only by spatial probability.
Figure 5. Disadvantages of matching only by spatial probability.
Ijgi 11 00355 g005
Figure 6. Creating the trajectory buffer.
Figure 6. Creating the trajectory buffer.
Ijgi 11 00355 g006
Figure 7. Finding matching paths.
Figure 7. Finding matching paths.
Ijgi 11 00355 g007
Figure 8. Problems in the search for matching paths.
Figure 8. Problems in the search for matching paths.
Ijgi 11 00355 g008
Figure 9. Find the best matching path.
Figure 9. Find the best matching path.
Ijgi 11 00355 g009
Figure 10. Matching results under different segmentation angles.
Figure 10. Matching results under different segmentation angles.
Ijgi 11 00355 g010
Figure 11. Matching results under different candidate values for k.
Figure 11. Matching results under different candidate values for k.
Ijgi 11 00355 g011
Figure 12. Comparison of the accuracy of the algorithms under different sampling frequencies. (a) Comparison of the R c indicators. (b) Comparison of the R m indicators.
Figure 12. Comparison of the accuracy of the algorithms under different sampling frequencies. (a) Comparison of the R c indicators. (b) Comparison of the R m indicators.
Ijgi 11 00355 g012
Figure 13. Comparison of the running times of the algorithms at different sampling frequencies.
Figure 13. Comparison of the running times of the algorithms at different sampling frequencies.
Ijgi 11 00355 g013
Figure 14. Visual comparison results of the algorithms under a single road topology. (a) ST-Matching algorithm. (b) SD-Matching algorithm. (c) The proposed algorithm.
Figure 14. Visual comparison results of the algorithms under a single road topology. (a) ST-Matching algorithm. (b) SD-Matching algorithm. (c) The proposed algorithm.
Ijgi 11 00355 g014
Figure 15. Visual comparison results of the algorithms under parallel road topology. (a) ST-Matching algorithm. (b) SD-Matching algorithm. (c) The proposed algorithm.
Figure 15. Visual comparison results of the algorithms under parallel road topology. (a) ST-Matching algorithm. (b) SD-Matching algorithm. (c) The proposed algorithm.
Ijgi 11 00355 g015aIjgi 11 00355 g015b
Table 1. k cases of candidate paths.
Table 1. k cases of candidate paths.
kComprehensive Probability Ranking of the Candidate Road Segment
Corresponding to the Start PointCorresponding to the End Point
111
212
321
422
513
Table 2. Trajectory data information at different sampling frequencies.
Table 2. Trajectory data information at different sampling frequencies.
Sampling Interval (s)Number of GPS PointsAverage Distance (m)
15110,972377.81
3060,575631.01
6059,941964.72
9039,2201721.07
12016,9702295.23
Table 3. Comparison results under different sampling frequencies and path candidate values.
Table 3. Comparison results under different sampling frequencies and path candidate values.
Sampling Interval (s)k R c (%) R m (%) N s (s)
30186.9588.410.369709
289.8692.310.370341
389.8692.310.371870
492.7594.870.375194
592.7594.870.377814
60183.3085.90.598502
288.0991.030.633812
392.8591.030.617812
492.8591.030.609079
592.8591.030.621662
120168.2670.060.952200
273.2373.210.962600
373.2373.210.996057
473.2373.211.014783
578.2678.201.027100
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Yu, Q.; Hu, F.; Chen, C.; Sun, L.; Zheng, X. Low-Frequency Trajectory Map Matching Method Based on Vehicle Heading Segmentation. ISPRS Int. J. Geo-Inf. 2022, 11, 355. https://doi.org/10.3390/ijgi11070355

AMA Style

Yu Q, Hu F, Chen C, Sun L, Zheng X. Low-Frequency Trajectory Map Matching Method Based on Vehicle Heading Segmentation. ISPRS International Journal of Geo-Information. 2022; 11(7):355. https://doi.org/10.3390/ijgi11070355

Chicago/Turabian Style

Yu, Qingying, Fan Hu, Chuanming Chen, Liping Sun, and Xiaoyao Zheng. 2022. "Low-Frequency Trajectory Map Matching Method Based on Vehicle Heading Segmentation" ISPRS International Journal of Geo-Information 11, no. 7: 355. https://doi.org/10.3390/ijgi11070355

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop