A novel algorithm to identifying vehicle travel path in elevated road area based on GPS trajectory data

Xianrui XU , Xiaojie LI , Yujie HU , Zhongren PENG

Front. Earth Sci. ›› 2012, Vol. 6 ›› Issue (4) : 354 -363.

PDF (312KB)
Front. Earth Sci. ›› 2012, Vol. 6 ›› Issue (4) : 354 -363. DOI: 10.1007/s11707-012-0340-0
RESEARCH ARTICLE
RESEARCH ARTICLE

A novel algorithm to identifying vehicle travel path in elevated road area based on GPS trajectory data

Author information +
History +
PDF (312KB)

Abstract

In recent years, the increasing development of traffic information collection technology based on floating car data has been recognized, which gives rise to the establishment of real-time traffic information dissemination system in many cities. However, the recent massive construction of urban elevated roads hinders the processing of corresponding GPS data and further extraction of traffic information (e.g., identifying the real travel path), as a result of the frequent transfer of vehicles between ground and elevated road travel. Consequently, an algorithm for identifying the travel road type (i.e., elevated or ground road) of vehicles is designed based on the vehicle traveling features, geometric and topological characteristics of the elevated road network, and a trajectory model proposed in the present study. To be specific, the proposed algorithm can detect the places where a vehicle enters, leaves or crosses under elevated roads. An experiment of 10 sample taxis in Shanghai, China was conducted, and the comparison of our results and results that are obtained from visual interpretation validates the proposed algorithm.

Keywords

GPS trajectory / vehicle status identification / trajectory segmentation / road network modeling / elevated road

Cite this article

Download citation ▾
Xianrui XU, Xiaojie LI, Yujie HU, Zhongren PENG. A novel algorithm to identifying vehicle travel path in elevated road area based on GPS trajectory data. Front. Earth Sci., 2012, 6(4): 354-363 DOI:10.1007/s11707-012-0340-0

登录浏览全文

4963

注册一个新账户 忘记密码

Introduction

Traffic information collection is one of the essential elements of an intelligent transportation system. Currently, traffic information could be collected through two possible means: fixed detector and mobile detector (Calabrese et al., 2010; Wang, 2011). Taking advantage of taxi service with the floating car system is well developed and has won wide application across major cities at home and abroad (Cowan and Gates, 2002; Wang, 2006). As compared to fixed detectors, the floating car system offers a competitive edge in construction period, real-time feature, coverage, and data accuracy. The floating car system has become an important method of transportation information collection (Zhang et al., 2006; Yoon et al., 2007). Meanwhile, the road system is also undergoing significant changes in many cities. Large-scale construction of elevated roads combined with metro system updates renders the metropolitan (e.g., Shanghai) a three-dimensional transport system with a combination of elevated roads, ground roads and subways (Zhang, 2004). In terms of traffic loads, approximately 30% of the urban traffic volume is contributed by elevated road network system (Li and Zuo, 2004; Zhang, 2004). Although elevated roads have brought great benefit to urban transportation, they also obstruct the information identification process (e.g., identifying the real travel path of a vehicle) based on floating car data as a result of their complexity. That is, there is no easy way to identify whether a vehicle is on an elevated highway or on a ground road based on the GPS signal received. But this information is very important for vehicle navigation and emergency response.

The floating car data system adopts a map-matching methodology to identify the real travel path of vehicles. A detailed summary may be found in the literature (Quddus et al., 2007). These mapping approaches can be divided into four categories: geometry-based (White et al., 2000), topology-based (Greenfeld, 2002), probability-based (Ochieng et al., 2003), and advanced matching methods (Najjar and Bonnifait, 2005; Obradovic et al. 2006). The core of these algorithms is to calculate the location, velocity and accessibility of each GPS point, and its distance from candidate roads (Wang and Cheng, 2012). Their main process could be summarized to a two-step (Quddus et al., 2007). The first step is to determine on which road a vehicle travels; and the second step is to locate the corresponding GPS points to the exact position of the potential road. This two-step method works fine for all common road networks, particularly for elevated roads. However, it cannot obtain high match results for complicated road networks (e.g., elevated roads). Some scholars have tried to integrate GPS with an Inertia Navigation System (INS) to improve the accuracy of map matching procedure. However, this requires a navigation device hardware upgrade which will definitely increase the cost (Ochieng et al., 2003; Quddus et al., 2006). Moreover, because of the limited locational precision of GPS receivers (e.g., the vertical precision) (Quddus et al., 2007), most vehicle navigation systems do not perform well on identifying real vehicle travel routes in complex elevated roads. For instance, the commercial navigation software CARELAND, requires drivers to mark whether the vehicle is traveling on an elevated road or not.

The purpose of this research is to answer two related research questions: 1) How to effectively identify whether a vehicle travels on elevated road or ground road? 2) When does a vehicle enter or leave a specific elevated road? To answer these questions based on the characteristics of experimental FCD data, one assumption is proposed, that is, a vehicle does not enter and then leave elevated roads many times during one loaded period. The taxis selected as sample cars in our experiment are all Shanghai Volkswagen Corporation’s Santana cars, therefore, cars’ individual differences in velocity and acceleration can be ignored. In addition, although the driver’s individual difference in driving behavior is significantly distinct, the difference of driving behavior is not considered in the present study since all the drivers have one common objective of taking passengers to their destinations as fast as possible. Based on the proposed research questions and assumptions, an algorithm of identifying the real vehicle traveling path on elevated roads is then proposed, which is an effective solution to identifying when and where a vehicle was entering or leaving an elevated road.

Data modeling

The integrity of a road network is of great importance to the practical application of GPS trajectory data, and the precision and performance of the proposed algorithm. The road network includes main roads, auxiliary roads, U-turns, viaducts, ramps, overpasses, and so on. It is too complex to model all these elements in a road network, which complicates the process of identifying the road on which a vehicle travels. Through the analysis of the locations of the ground roads and the elevated roads, several features are detected. The elevated roads are expressways and the ground roads are arterial roads or local roads. Both of them extend parallel along the same direction. The horizon distance between the elevated roads and the adjacent ground roads is very small. Since the vehicle-mounted GPS usually has a horizontal locational error of 30 m, it is almost impossible to distinguish whether a vehicle is running on elevated roads or the corresponding ground roads on the basis of the GPS trajectory. Considering the above reasons, a partial road network including elevated roads, ramps, the location of ground intersections and the on-off ramps, is modeled instead of all the elements of a road network in the present study. Additionally, a GPS trajectory data model is correspondingly designed to coordinate with the elevated road network model.

Modeling elevated road network

The elevated roads are mostly expressways with fixed media barrier between bilateral lanes, and the intersections are connected by an overpass. The classical node-arc model is selected to represent the geometric and topological characteristics of the elevated road network. The node represents the junctions of on-off ramps and the corresponding elevated road, the merge points and the split points of the elevated road, the beginning points of the ramps and the end of elevated road. The arc then depicts each link between two adjacent nodes. Figure 1 shows part of the elevated road system.

To simplify the algorithm, the arcs and nodes of the elevated road network are separately classified into different types according to their locations. There are three kinds of arcs: i) elevated roads (1- normal elevated links, 11- elevated roads entrance only, 12- elevated roads entrance or ground roads entrance), ii) ramps (2- normal ramps, 21- special ramps which are not extended along the elevated roads), and iii) overpass (3- connectors of overpass). The nodes are divided into seven kinds: 1) ramp entrances, 2) ramp exits, 3) elevated road entrances, 4) elevated road exits, 5) ground road entrances, 6) ground road exits, 7) merge and split points. In addition, the length, direction and one way feature are considered in the arc attributes.

Modeling trajectory data

With respect to the GPS trajectory data, the following data structures (i.e., GPS_Point, GPS_Trajectory and GPS_ Segment) are designed to simplify the data processing and representation.

• GPS_Point= (CarID, DateTime, X, Y, Direction, Run_Status, ID)

• GPS_Trajectory= (GPS_Point_1, GPS_Point_2, GPS_Point_3, …, GPS_Point_n)

• GPS_Segment= (Seg_ID, Sub_GPS_Trajectory, Pre_Seg, Next_Seg, Seg_Status)

“CarID” is the vehicle number, “DataTime” is the recording time of the GPS point, “X” and “Y” separately represent the X and Y coordinate of a GPS point, “Run_Status“ represents whether a vehicle is loaded, 0 means unloaded while 1 loaded, “ID” is the ID number of the point; “GPS_Trajectory” is the record set ordered by time; “GPS_Segment” is the smallest calculated cells of the proposed algorithm, “Seg_ID” is ID of the segment, “Sub_ GPS_Trajectory” is GPS points set contained by the segment, “Pre_Seg,” “Next_Seg” is the adjacent segments of the current segment, and “Seg_Status” is the state of this segment (1- traveling on elevated roads, 0- on ground roads, 2- crossing elevated roads).

Principle and methodology

The proposed algorithm can identify the real travel path of a vehicle based on the geometric and topological characteristics of the elevated road network, GPS trajectory data model and the vehicle traveling features. Several identification criteria of this algorithm are listed as follows: i) vehicle’s loaded/unloaded status, ii) vehicle’s running direction, iii) the type of elevated road which the vehicle entrances, iv) the location and type of a ramp, v) the location of ground intersection, vi) the status of adjacent segments, vii) the traveling status of a vehicle, such as the average speed, maximum speed, speed deviation, and speed’s quantile.

Figure 2 shows the flow chart of the proposed algorithm which consists of four steps: i) data preprocessing, ii) modeling elevated road network, iii) modeling trajectory data, iv) identifying segments’ status. The basic processes of the second and third steps have been shown in Sect. 2, and the next section will focus on the data preprocessing and identifying segment’s status based on the above mentioned identification criteria. The input data includes the GPS trajectory data and the related road layers while the output is the state of each segment, that is, whether the vehicle is traveling on the elevated roads or on the ground roads.

Algorithm implementation

Data processing

To correctly analyze the vehicles’ motion features, the errors of GPS records, such as discontinuous records, drift, records where speed information is obviously wrong, etc., need to be excluded. The filtering principle adopted in the present study is listed as follows:

• The location of each GPS record should be within Shanghai city,

• The speed value of each GPS record should be no more than a given threshold, v,

• Each record is then checked todelete drifting ones based on neighbor records.

Geo-computation, such as the location relationship between every two GPS points, length of trajectory segment, etc., is implemented in Gauss Kruger projection system to simplify the computation. The paper thus transforms the original WGS 84 coordinate system of GPS points into Gauss Kruger local projection coordinate system.

Trajectory data segmentation

The paper only focuses on the route of vehicles that are on elevated roads. Therefore, GPS records collected during unloaded periods (i.e., Run_Status= 0), are excluded first, since unloaded taxis mostly run on ground roads rather than elevated ones.

Taxis are alternatively loaded and unloaded when they are running on the roads. The GPS time-sorted records of one taxi in one loaded period form a GPS_Trajectory record. However, some GPS points recorded on ground roads may be contained in the set. Considering this, the proposed algorithm then identifies at what time the taxi enters and leaves the elevated road area to generate Sub_GPS_Trajectory elements. In this way, GPS points recorded just on elevated roads can be extracted. The corresponding procedures are shown as follows:

1) Create a buffer around the elevated roads, then select GPS points that are within the buffer and sort them by time as a sub-set.

2) Record the time boundary of the above sub-set as Tmin and Tmax.

3) Select GPS points again from the original GPS_Trajectory record that are collected between Tmin and Tmax. In addition, two extra points (the one just before Tmin and the one just after Tmax) are then selected as a supplement to the Sub_GPS_Trajectory to better identify the status of starting and ending GPS_Segment.

4) A GPS_Trajectory record represents that the taxi enters, runs on, and then leaves the elevated road once. To maintain the accuracy of the extraction process, a distance threshold, Dthreshold, is set. If the distance of the taxi to the elevated road is more than Dthreshold, the current GPS_Trajectory record ends, and a new GPS_Trajectory record starts.

Each record in GPS_Trajectory set needs further segmentation into several smallest units, that is, GPS_Segment, to obtain motion features of the taxi running on elevated roads. The paper takes the ramp entrances and exits of elevated roads that are located on the same side with the taxi as segmentation locations. During segmentation, the type of each segmentation location (i.e., the entrance or exit of elevated roads) is recorded. Finally, a record GTn = (GPS_Point_n1, GPS_Point_n2,…, GPS_Point_nm), in GPS_Trajectory set may be segmented into GPS_Segment(s) as follows:

• if the GPS_Trajectory record GTn contains only one GPS_Segment record GSn1, then GSn1 = (Seg_IDn, GTn, null, null, Seg_Status),

• if the GPS_Trajectory record GTn contains only two GPS_Segment records GSn1 and GSn2 then GSn1 = (Seg_IDn1, SGTn1, null, Seg_IDn2, Seg_Status) and GSn2 = (Seg_IDn2, SGTn2, Seg_IDn1, null, Seg_Status),

• if the GPS_Trajectory record GTn contains k (k>2) GPS_Segment records GSn1, GSn2,…, GSnk, then GSn1 = (Seg_IDn1, SGTn1, null, Seg_IDn2, Seg_Status), GSn2 = (Seg_IDn2, SGTn2, Seg_IDn1, Seg_IDn3, Seg_Status),…, GSnk = (Seg_IDnk, SGTnk, Seg_IDn(k-1), null, Seg_Status).

Identifying the status of starting and ending segment of each trajectory

As shown in Fig. 3, six scenarios can be listed as follows to analyze Seg_Status values of starting GPS_Segment records according to direction, location and Run_Status value of the taxi that enters the elevated roads. Ending GPS_Segment records’ scenarios are not listed because of the similarity.

Scenario 1: Taxi travels across an elevated road or on the corresponding ground road just under the elevated road. If there is only one GPS_Segment record GSn1 = (Seg_IDn, GTn, null, null, Seg_Status) in the current GPS_Trajectory record, and if the angle between the elevated road line and the line from the first GPS_Point to the last GPS_Point in GTn is more than 30°, Seg_Status will be valued 2, that is, GSn1 = (Seg_IDn, GTn, null, null, 2); else GSn1 = (Seg_IDn, GTn, null, null, 0).

Scenario 2, 3, 5: Taxi travels on a ground road. As shown in Fig. 3 (2, 3, 5), there are several GPS_Segment records in the current GPS_Trajectory record, if the first GPS_Point of the starting GPS_Segment GSn1 = (Seg_IDn1, SGTn1, null, Seg_IDn2, Seg_Status) has a Run_Status value 0, then the Seg_Status of this GPS_Segment GSn1 will be valued 0, that is, GSn1 = (Seg_IDn1, SGTn1, null, Seg_IDn2, 0).

Scenario 4: Taxi travels on a ground road. As shown in Fig. 3 (4), there are several GPS_Segment records in the current GPS_Trajectory record, if the first GPS_Point of the starting GPS_Segment GSn1 = (Seg_IDn1, SGTn1, null, Seg_IDn2, Seg_Status) has a Run_Status value 1, and the angle between the elevated road line and the driving direction of first GPS_Point is more than 30°, then the Seg_Status of GPS_Segment GSn1 will be valued 0, that is, GSn1 = (Seg_IDn1, SGTn1, null, Seg_IDn2, 0).

Scenario 6: This is a complicated scenario with several GPS_Segment records in the current GPS_Trajectory record, the starting GPS_Segment record of which is GSn1 = (Seg_IDn1, SGTn1, null, Seg_IDn2, Seg_Status). As shown in Fig. 3 (6), Run_Status value of the first GPS_Point of SGTn1 is 1, and the angle between the elevated road line and the driving direction of the first GPS_Point is less than 30°. Then the Seg_Status of such GPS_Segment depends on the type of its nearest elevated road segment (see Sect. 2.1).

If the type value of the elevated road segment is 1, Seg_Status will be valued 0,

Else if type value of the elevated road segment is 11, Seg_Status will be valued 1,

Else if type value of the elevated road segment is 12 or 21, Seg_Status will be determined by taking driving features of taxi into consideration as introduced in Sect. 4.5.

Identifying the status of middle segments of each trajectory

Let GTn denote a trajectory containing k (k>2) GPS_Segment records GSn1, GSn2,…, GSnk, and GSn1 = (Seg_IDn1, SGTn1, null, Seg_IDn2, Seg_Status) and GSnk = (Seg_IDnk, SGTnk, Seg_IDn(k-1), null, Seg_Status) are starting GPS_Segment and ending GPS_Segment, respectively. After the previous process in Sect. 4.3, the status of GSn1 and GSnk is known. Then Seg_Status values of the remaining (k-2) middle GPS_Segments can be determined.

Four scenarios can be listed as follows to analyze Seg_Status values of middle GPS_Segment records according to locations of ramps’ junctions with elevated roads and locations of intersections of ground roads:

Scenario 1: Seg_Status values of starting and ending GPS_Segments are both 1, in other words, the taxi continuously runs on elevated roads. Therefore, all Seg_Status values of (k-2) middle GPS_Segments will be correspondingly valued 1.

Scenario 2: Seg_Status values of starting and ending GPS_Segments are 0 and 1, respectively. Only the on-ramp where the taxi enters an elevated road from a ground road needs to be identified.

Scenario 3: Seg_Status values of starting and ending GPS_Segments are 1 and 0, respectively. Only the off-ramp where the taxi leaves an elevated road needs to be identified.

Scenario 4: Seg_Status values of starting and ending GPS_Segments are both zero, so it should be identified whether the taxi ever enters an elevated road. If the taxi enters an elevated road, then the off-ramp needs to be identified as stated in Scenario 3. If the taxi never enters an elevated road, all Seg_Status values of (k-2) middle GPS_Segments will be valued 0.

As shown in Fig. 4, Ramp A and Ramp B segment the trajectory between point Ps and Pe into three GPS_Segments GSn(i-1) (Prior segment), GSni (Current segment) and GSn(i+1) (next segment). The Seg_Status of GSni = (Seg_IDni, SGTni, Pre_Seg, Next_Seg, Seg_Status), is identified as follows:

• If GSn(i-1). Seg_Status equals 0 and Ramp A is an exit (i.e., off-ramp), then GSni. Seg_Status will be valued 0,

• Else if GSn(i-1). Seg_Status equals 1 and Ramp A is an entrance (i.e., on-ramp), then GSni. Seg_Status will be valued 1,

• Else if GSn(i-1). Seg_Status equals 1 and Ramp A is an exit (i.e., off-ramp), then the weighted index of Seg_Status of GSni, Wsegment_ni, is computed first which is introduced in Sect. 4.5,

(a) Wsegment_ni is 0 or 1, GSni. Seg_Status will be valued as Wsegment_ni,

(b) Wsegment_ni is uncertain, GSn(i + 1).Seg_Status will be valued as introduced in Sect. 4.5, and if Ramp B is an entrance (i.e., on-ramp) and GSn(i+1).Seg_Status= 0, GSni. Seg_Status will be valued 0, else GSni. Seg_Status will be valued 1.

• Else if GSn(i-1). Seg_Status equals 0 and Ramp A is an entrance (on-ramp), then the weighted index of Seg_Status of GSni, Wsegment_ni, is computed first which is introduced in Sect. 4.5,

(a) Wsegment_ni is 0 or 1, GSni. Seg_Status will be valued as Wsegment_ni,

(b) Wsegment_ni is uncertain, GSn(i+1).Seg_Status will be valued as introduced in Sect. 4.5, and if Ramp B is an exit (i.e., off-ramp) and GSn(i + 1).Seg_Status= 1, GSni. Seg_Status will be valued 1, else GSni. Seg_Status will be valued 0.

GPS_segment status comprehensive identification

After the previous steps, the status of a certain number of GPS_Segments can be quickly identified. However, some remaining uncertain segments still need further status identification based on the speed information of GPS points. For the current GPS_Segment record GSni = (Seg_IDni, SGTni, Pre_Seg, Next_Seg, Seg_Status), a weighted index of Seg_Status is computed by the following formula to identify vehicle’s traveling status on the basis of following six judging factors:

Wsegment = A× f1(AS) + B× f2(MS) + C× f3(TS) + D×f4(DS) + E×g(LC) + F× f5(TL g(LC).

In the formula, A, B, C, D, E and F are all weights, AS, MS, TS, and DS represents average speed, maximal speed, third quartile speed, and the relative standard deviation of speed of GPS_Point records of SGTni, respectively. TL is travel length of the vehicle in SGTni and the algorithm adopts its approximate value, that is, length of polyline that points in SGTni constitute. LC is the number of times the vehicle stops (for a while) in SGTni. fi(x) and g(x) are all two-valued functions, The output of function fi(x)(g(x)) will be 1(0) or 0(1), if x is more than or less than a thresholdi(threshold), which varies among rush-hours, non-rush hours, and night.

An upper limit, Highw, and a lower limit, Loww, are also set. If Wsegment>Highw, Seg_Status will be valued 1, else if Wsegment<Loww, Seg_Status will be valued 0, else Seg_Status will be left uncertain.

However, due to the low collection frequency of GPS points, insufficient point records in Sub_ GPS_Trajectory, etc., the accuracy of this method is relatively low. Therefore, this method can only be used as a supplement to the proposed algorithm.

Experiment and result analysis

In the present study, an algorithm is proposed to determine whether a car runs on elevated roads or ground roads according to the GPS data. To validate the proposed algorithm, the elevated road network located in the central area of Shanghai and the GPS trajectory data of 2000 taxis are selected as an experiment.

Experiment data and environment

The GPS data used in the experiment contain one week’s GPS trajectory data of 2000 taxies from 2007-11-18 to 2007-11-24 with a collection interval of 10-20 s. All the attributes of the raw GPS data are shown as follows: “TermID” is car ID; “Sendtime” GPS recording time; “Longitude, Latitude” taxi’s position; “IsAlert” whether the taxi alert or not; “RunStat” whether the taxi is loaded or not. There are about 15 million records (around 800 M) every day, all of which are saved in a SQL Server 2005 database.

The study area is mainly the elevated road network in the central area of Shanghai, including the west of Huangpu River and the inside of outer ring road. This algorithm is developed with C# on the VS.NET 2010 platform, and the implementation environment is a computer with Intel Core2 E4500 2.2G CPU, 2 GB RAM and 250 GB hard disk.

Setting judging thresholds

All the judging factors of Wsegment are set as one sixth in the experiment. To obtain a high accuracy, three judging thresholds are set for different times (i.e., peak hours, off-peak and night hours) after reviewing the existing studies on Shanghai’s elevated road network (Li and Zuo, 2004; Lin et al., 2010). Table 1 lists the three judging thresholds.

Experiment result and analysis

In the present study, 2000 taxis’ GPS data are divided into several segments, and the status of each segment is then determined. After that, the status of each GPS point in Sub_GPS_Trajectory of each segment is attributed. Finally, all these data are stored into database for further utilization. Because the collected GPS data do not record each taxi’s travel paths, further analysis is needed to determine whether the proposed algorithm is valid or not. Ten taxis are randomly selected as samples to test the proposed algorithm by means of visual interpretation, as illustrated in Tables 2 and 3.

In Table 2, “Service Times” is the total number of passengers held in the taxi in a whole day; “Enter/Leave Times” is total times that the taxi enters or leaves the elevated roads area (including the total times that taxi runs along or crosses the elevated roads), and its value indicates the taxi’s frequency of occupying elevated roads; “Peak Hours, Off-Peak, and Night Hours” represent the number of segments produced by the proposed algorithm in traffic peak, off-peak, and night hours; and corresponding errors follow them; the last two columns are the total amount of segments in the whole day and the relevant errors.

As illustrated in Table 2, there are only a few segments from two samples that are identified with error in peak hours and night hours. Then, these failing segments in the sixth sample are analyzed. The reason is that heavy traffic congestion exists on the road segment. With respect to this reason, the traffic feature on elevated road appears almost the same with that on the ground road which causes the error identification. However, in off-peak hours, there are seven samples which are identified with error, and the average error rate is 7.80%. Therefore, the error in flat periods is regarded as the main source of error. The reasons can be concluded into three following aspects: first, the experimental elevated road network covers most of the urban district of Shanghai, and the traffic demand on each part is different, therefore, the traffic conditions on partial roads are extremely heavy (e.g., Wuning viaduct of the inner ring); second, because of some unreasonable facility designs on the ramp or natural barriers, some elevated roads are usually congested (e.g., Tianmu overpass); third, traffic incidents or other causes lead to traffic congestion on elevated roads. All these reasons have a considerable effect on the thresholds setting; in other words, these reasons make it difficult to select the best threshold. Therefore, in future study, in order to improve the precision of the proposed algorithm, the threshold will be set according to different time periods and locations by taking the historical traffic data into consideration.

Table 3 shows the result of different scenarios when the sample taxis enter or leave the elevated road area. Zero represents that the starting or ending segment is ground road, while 1 represents an elevated road. Cross represents sample taxis’ crossing an elevated road. A phenomenon can be found from Table 3 that land-to-land travel is the main type of entering and leaving an elevated road area. In addition, the algorithm can correctly identify respective patterns of three different time periods which directly affects the status result of middle segments. However, 5.56% of the crossing behavior cannot be correctly detected. The main reason is that the angle between a ground road and an elevated road is relatively small, even smaller than 30°. Consequently, some taxis are identified that they travel along rather than cross an elevated road.

The analysis above can verify the proposed algorithm. To visually display the result of the proposed algorithm, the Caoxi overpass area of the inner ring is then selected as an example. In Fig. 5, yellow points represent the trajectory points recorded on elevated roads, while black points represent ground roads. A, B and C in Fig. 5 show three scenarios where taxis enter an overpass area from the southern part and then leave the area from other direction. Fig. 5(A) represents taxis that enter the elevated road from a ground road, and then leave the area from the north ground road through North Caoxi Road; Fig. 5(B) shows taxis that enter Humin elevated road from the south, and then leave the elevated road area through north Caoxi Road; Fig. 5(C) depicts taxis that enter Humin elevated road, and then turn left onto the inner ring road through the overpass. Fig. 5(D–F) represents the scenarios where taxis enter the overpass from the east and then leave. Fig. 5(D) represents taxis that enter North Caoxi Road from Longhua Road through a ground intersection; Fig. 5(E) shows taxis that enter inner ring elevated road from Tianyueqiao Road through the inner ramp, and then leave; Fig. 5(F) depicts taxis that enter inner ring elevated road, and then leave the area through the south ramp. In addition, the locations of ramps and ground intersections are also marked in Fig. 5.

Conclusions

Traffic information collection technology based on the floating car system has developed rapidly and many cities have established real-time traffic information dissemination system based on it. However, cars frequently transfer between ground roads and elevated roads, making it difficult for a FCD system to collect traffic information. Aiming at this problem, this paper proposes an algorithm to identify whether one car travels on an elevated road or on a ground road. Geometric topological characteristics of the elevated road network, road characteristics of the ground roads and vehicle traveling features are taken into consideration to determine the vehicle’s real path. In our experiment, Shanghai is taken as an example. According to the experiment, the proposed algorithm is effective in identifying cars either on elevated roads or on ground roads in complex urban road networks. Besides, the proposed algorithm can potentially improve map-matching accuracy of GPS trajectory data. It also can lay the foundation for speed estimation of trajectory segment, prediction of travel time, and recognition of road network traffic state. Improving recognition accuracy and real-time identification of vehicle path will be our future work by taking into account historical speed data of the elevated road network and the on/off condition of the ramp, etc.

References

[1]

Calabrese F, Colonna M, Lovisolo P (2010). Real time Rome urban monitoring using cell phones: a case study in Rome. IEEE Trans Intell Transp Syst, 12(1): 141–151

[2]

Cowan K, Gates G (2002). Floating vehicle data system—a smart move. In: Proceedings of 9th World Congress on Intelligent Transport Systems. Chicago Illinois, USA, from October 14–17, 2002

[3]

Najjar M E, Bonnifait P (2005). A road-matching method for precise vehicle localization using Belief theory and Kalman filtering. Autonomous Robots, 19(2): 173–191

[4]

Greenfeld J S (2002). Matching GPS observations to locations on a digital map. In: Proceedings of the 81st Annual Meeting of the Transportation Research Board, January, Washington D.C

[5]

Li J, Zuo L (2004). Shanghai urban elevated roads and metropolis traffic. Urban Roads Bridges & Flood Control, 21(6): 14–17 (in Chinese)

[6]

Lin Z X, Wu Z, Yang C H (2010). A study on traffic flow models based on measure video of Yan’an Expressway of Shanghai.Journal of Hydrodynamics (Series A), 25(5): 683–693 (in Chinese)

[7]

Obradovic D, Lenz H, Schupfner M (2006). Fusion of map and sensor data in a modern car navigation system. The Journal of VSLI Signal Processing, 45(1–2): 112–122

[8]

Ochieng W Y, Quddus M A, Noland R B (2003). Map-matching in complex urban road networks.Brazilian Journal of Cartography, 55(2): 1–18

[9]

Quddus M A, Noland R B, Ochieng W Y (2006). A high accuracy fuzzy logic-based map-matching algorithm for road transport. Journal of Intelligent Transportation Systems: Technology, Planning, and Operations, 10(3): 103–115

[10]

Quddus M A, Ochieng W Y, Noland R B (2007). Current map-matching algorithms for transport applications: state-of-the art and future research directions. Transp Res, Part C Emerg Technol, 15(5): 312–328

[11]

Wang L (2006). Study on key technologies of floating-car system. Dissertation for Doctorial Degree. Beijing: Beijing University of Aeronautics and Astronautics (in Chinese)

[12]

Wang M L, Cheng L (2012). Study on map matching algorithm for floating car. Acta Geodaetica et Cartographica Sinica, 41(1): 133–138 (in Chinese)

[13]

Wang W (2011). Traffic Engineering. Nanjing: South East University Press (in Chinese)

[14]

White C E, Bernstein D, Kornhauser A L (2000). Some map-matching algorithms for personal navigation assistants. Transportation Research Part C, 8(1–6): 91–108

[15]

Yoon J, Noble B, Liu M (2007). Surface street traffic estimation. In: MobiSys’07 Proceedings of the 5th International Conference on Mobile Systems, Applications and Services, New York: ACM, 220–232

[16]

Zhang C B, Yang X G, Yan X P (2006). Traffic data collection system based on floating cars. Comput Commun, 24(5): 31–34 (in Chinese)

[17]

Zhang Y M (2004). The thinking of relieving the congestion of elevated road system. Traffic and Transportation, (5): 37–38 (in Chinese)

RIGHTS & PERMISSIONS

Higher Education Press and Springer-Verlag Berlin Heidelberg

AI Summary AI Mindmap
PDF (312KB)

1465

Accesses

0

Citation

Detail

Sections
Recommended

AI思维导图

/