Building road segments and detecting turns from GPS tracks

Building road segments and detecting turns from GPS tracks

Accepted Manuscript Title: Building Road Segments and Detecting Turns From GPS Tracks Author: Mahmoud Ezzat Mahmoud Sakr Rania Elgohary Mohammed Essam...

1MB Sizes 0 Downloads 33 Views

Accepted Manuscript Title: Building Road Segments and Detecting Turns From GPS Tracks Author: Mahmoud Ezzat Mahmoud Sakr Rania Elgohary Mohammed Essam Khalifa PII: DOI: Reference:

S1877-7503(18)30281-3 https://doi.org/doi:10.1016/j.jocs.2018.09.011 JOCS 923

To appear in: Received date: Revised date: Accepted date:

18-3-2018 16-9-2018 23-9-2018

Please cite this article as: Mahmoud Ezzat, Mahmoud Sakr, Rania Elgohary, Mohammed Essam Khalifa, Building Road Segments and Detecting Turns From GPS Tracks, (2018), https://doi.org/10.1016/j.jocs.2018.09.011 This is a PDF file of an unedited manuscript that has been accepted for publication. As a service to our customers we are providing this early version of the manuscript. The manuscript will undergo copyediting, typesetting, and review of the resulting proof before it is published in its final form. Please note that during the production process errors may be discovered which could affect the content, and all legal disclaimers that apply to the journal pertain.

1

Building Road Segments and Detecting Turns From GPS Tracks

2

Mahmoud Ezzata,1,∗, Mahmoud Sakra,b , Rania Elgoharya , Mohammed Essam Khalifaa a

3 4

cr

6

ip t

5

Department of Information Systems, Faculty of Computer and Information Sciences, Ain Shams University, Cairo, Egypt b Universit´e Libre de Bruxelles, Belgium

Abstract

pt

ed

M

an

us

With the wide spreading of geo-aware mobile applications, huge amounts of user-contributed GPS trajectories become available with different levels of accuracy. Constructing road maps from such datasets is one important benefit from this data, and it is required for many applications. There are some challenges related to the inaccuracies incurred on real datasets, such as missing GPS signals, low sampling rate and bad driving behaviour. In this paper, we present a new preprocessing algorithm to address the problems of GPS data. Additionally, we present a clustering-based technique to extract the road map from GPS tracks. Firstly, the tracks are simplified in order to extract road turns and remove the noise data. Then, we adjust the points of the simplified tracks to solve the problems caused by the low sampling rate by moving them closer to the positions of the real turns. Afterwards, a progressive clustering is applied to extract turns and intersections. Finally, we connect them to build the road segments. To ensure the accuracy of our results, we compare the proposed technique with two of the best state-of-the-art methods using a small-scale dataset with inconsistent sampling rate. Another experiment is conducted by extracting a part of the road segments of Egypt using a large-scale dataset with more than 12 million GPS points that are captured with high sampling rate. Experimental results show that our proposed technique exceeds the other methods with regard to F-measure. Keywords: core point, turns, snapping, EPDBSCAN, road segment

8

1. Introduction

9 10 11 12 13

Ac ce

7

With the emergence of applications that base their functionality on road map data, there is a great interest in automating the process of road map production. Modern applications such as location-based services, navigation, Geo-enabled social networks, etc, require an accurate and up-to-date road map. Continuous updating of these networks is critical for these applications to ensure the safety of the vehicles and avoid the fatal accidents, especially ∗

Corresponding author Email address: [email protected] (Mahmoud Ezzat) 1 Tel.: +201226599766

Preprint submitted to Journal of Computaional Science

September 26, 2018

Page 1 of 24

17 18 19 20 21 22 23 24 25 26

Ac ce

pt

ed

M

an

27

ip t

16

cr

15

in developing countries and fast growing regions. Traditionally, road map production was done using field surveying with specialized equipped cars, or by digitizing a road map from high resolution satellite imagery. These methods are considerably expensive and highly-time consuming, which makes it difficult to keep the road map up-to-date. Now, crowd-sourced applications sit on a huge amount of user-contributed GPS trajectories. One of the major objectives for these applications is to extract an accurate and up-to-date road map from such datasets. Fig. 1 shows OpenStreetMaps (OSM) as a background for the black lines that represent thousands of user trajectories that are collected in Egypt. In this figure, the road map is visually clear with some noise data. In addition, GPS trajectories can be utilized to detect the road features such as number of lanes, road type, parking spaces and road surface conditions. For example, Yang et al. presented a system that detects the parking spaces from large volumes of vehicle trajectories and identifies two types of parking, on-street parking and zone parking [1]. Within their preprocessing step, the trajectories are map-matched onto a digital road map that needs to be accurate and up-to-date to ensure the accuracy of the parking locations.

us

14

Figure 1: User-contributed GPS Trajectories

28 29 30 31 32 33 34 35 36 37 38 39 40

There are some challenges that have to be addressed while dealing with this type of data. Different GPS devices can be used to capture the tracks. Thus, the quality of GPS receiver may greatly affect the accuracy of the captured samples. The following challenges are considered: (1) missing GPS signals (2) inconsistent sampling rates (3) inaccurate observations that were found around the stop points due to the continuous capturing of user locations while the vehicle is still (4) the bad driving behavior. Due to these challenges, it would be difficult to determine whether the similar trajectories belong to the same road. Furthermore, the different speeds of the vehicles, the inconsistent GPS sampling rates, and the different travel direction of the vehicles, make removing the noise data is often challenging. Additionally, among the complex urban road networks it may be difficult to decide whether a position belongs to a particular road. For all these reasons, the production of the road map requires a considerable manual editing such as the creation of OpenStreetMaps 2

Page 2 of 24

43 44 45 46 47 48 49 50

ip t

42

(OSM). Manual editing on OSM may affect the accuracy of the road map because of the bad edits that are committed to the map and often left undiscovered. Thus, such systems require editors to manually review the intensive requested changes. on the other hand, the amounts of data available in some regions at OSM depend on the population density. The coverage of the more densely populated areas may be more detailed and complete than sparsely populated areas. Ribeiro et al. [2] present a methodology to automatically assess the data coverage of the region of interest at OSM. Their approach enables the identification of the regions that have low-level of data coverage, and the results show that the availability of data in the different regions was not uniform. Therefore, the research community has a great interest to propose automatic tools for extracting the road map from GPS trajectories.

cr

41

51

58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82

us

an

57

M

56

ed

55

pt

54

Various approaches have been proposed to automate the road map extraction from user trajectories. These methods can be classified as follows: point and trajectory clustering, incremental track insertion, and intersection linking [3]. A number of methods start their work by extracting the turns. They commonly detect the turns according to the change in the moving speed and the heading of the vehicle. If the angular difference between the direction of two consecutive points is more than a specific threshold, this point is considered a turn. Also the speed of the vehicle is used as another indicator of a turn if it is not exceeding a specific threshold. However, it is hard to determine an appropriate estimate for these thresholds under the above challenges, especially with the inconsistent sampling rate. In a previous work, we have proposed a preprocessing method to detect turns and intersections from crowd-sourced GPS trajectories using progressive clustering [4]. We use trajectory simplification mainly to find the turns. It reduces the input size by filtering out the stop points, inaccurate observations and the non-salient GPS samples. It additionally yields these observations that represent the skeleton of the real trajectory. Every trajectory is simplified with the use of Douglas-Peucker algorithm [5]. The algorithm preserves only the set of points that best represent the skeleton of the trajectory, which are called here: core points. The core points of all trajectories are then clustered to identify the turns and intersection. In order to improve the clustering results of these core points, we presented a new preprocessing method that adjusts the location of the core points to be closer to the actual turn. Then, turns are extracted by clustering the adjusted core points. In this paper we propose an efficient method to connect the turns and precisely build the road segments from the GPS trajectories. Additionally, we expand the preprocessing method to handle most of the GPS data problems. Contributions of this work can be summarized as follows (1) we expand the preprocessing method to consider the common GPS data problems while extracting the turns. The trajectories are simplified to extract the core points. A new snapping algorithm is presented to adjust the location of the core points to render them closer to the real turns. Then, these points are clustered using a density clustering method in a progressive way to yield the turns (2) an efficient method is proposed to build the road segments by linking the center of these clusters, then the links are integrated to build the road segments. Instead of scanning the original trajectories, we use the trajectory information of each core point to connect the different clusters (3) we experimentally compare the efficiency

Ac ce

52 53

3

Page 3 of 24

95

2. Methodology

90 91 92 93

96 97 98 99 100 101 102 103 104 105 106

The street network can be defined as a system of connected lines and points. These lines represent the roads. Every road is divided into a set of segments. These segments should break at the intersections and the significant turns of the road. Thus, extracting the road turns and intersections is an essential part in the process of building the road segments from user-contributed GPS trajectories. They can be utilized to form the connectivity and topology of the road map. In this paper, we present an efficient preprocessing method for building the road segments from user trajectories. Fig. 2 shows an overview of the steps of our method. First, we extract the turns using a 3-step preprocessing method based on progressive clustering. Then, a simple method is used to connect these turns to obtain the turn links using the trajectory information of each core point. Finally, the turn links are integrated based on the direction and distance to build the road segments. In the remainder of this section, we discuss each step in detail.

Ac ce

107

cr

89

us

88

an

87

M

86

ed

85

pt

84

ip t

94

of our algorithm with two of the best state-of-the-art methods in terms of F-measure using low-sampling-rate dataset. Furthermore, we apply our method on a large-scale dataset with high sampling rate to ensure the accuracy of our results on several datasets under different sampling rates. The experimental results show that the proposed method performs better than the other methods when they are working on sparse data with low sampling rate. Also they show a high F1-score with the large-scale dataset with both precision and recall taken into consideration. The remainder of this paper is organized as follows: Section 2 explains the proposed method and elaborates on the main processing steps. Section 3 experimentally evaluates our method and compares it to another often cited method. Section 4 discusses the experimental results and the efficiency of the proposed method. Section 5 provides a summary of the paper. Finally Section 6 discusses the related work.

83

Figure 2: An overview of the proposed method

108 109 110

2.1. Extracting Turns In traffic engineering, a road intersection is defined by an area shared by more than one road [6]. Some of the related works depend on this definition when they cope with the 4

Page 4 of 24

114 115 116 117 118 119 120 121 122

ed

M

an

123

ip t

113

cr

112

road intersections, as in [3, 7]. In our work, we additionally cover the turns within every individual road. This is essential for many of the applications that utilize the extracted road intersections. Such applications will not perform as required if turns are not included. A routing application, for instance, requires to know both the connectivity of the road segments as well as their lengths. While intersections help deciding the connectivity, road curves are necessary to determine the actual length of the road segments. These curves are regular turns in roads that cause a gradual change of direction. Therefore, ignoring these turns may affect the route distance as shown in Fig. 3a. If we do not know about the turns between the two intersections (x,y) then the route distance between them will be a straight line, while the actual distance is longer. In Fig. 3b, another example of a service area, in which the same pair of intersections is connected by two road segments. Methods that depend only on intersections will ignore the highlighted turns in Fig. 3b. Therefore, we additionally extract the turns within every single trajectory.

us

111

(a) Route between two intersections

(b) An example of a service area

125 126 127 128 129 130 131 132 133 134 135 136 137 138 139

In the literature, turns were detected by finding a change in the heading/moving speed of the vehicle between two consecutive points, over/less than specific thresholds, as in [7, 8, 9]. Due to the different challenges related to the common GPS data problems, it is not easy to estimate correct values for these thresholds. There are many reasons such as missing/inaccurate GPS signals, inconsistent sampling rate, and the bad driving behaviour. Alternatively, we simplify the trajectories to extract the turns using Douglas-Peucker algorithm [5]. It is a generalization technique in which the non-influential points are removed, while keeping the points that preserve the skeleton of the line. This step enables us to reduce the number of observations in every individual trajectory. Moreover, it improves the clustering result by removing the insignificant observations that form extended clusters, which will be considered false positives most of the time. In our perspective, the remaining points represent the turns in each trajectory. The algorithm connects the first and last most points using a straight line. It finds the point with the greatest perpendicular distance to the line, p, by iterating over all points. This point is added to the result, and the line is broken into two segments: a segment connecting the first point to p, and the second segment connects p to the last point. The algorithm is called recursively for each of the two segments, until

Ac ce

124

pt

Figure 3: The problems of ignoring turns in the process of road network extraction

5

Page 5 of 24

142 143 144 145 146 147 148

an

us

149

ip t

141

no more simplification can be done [4]. In contrast with the traditional turn-detection algorithms that have difficulties while their parameters are being set, simplification requires only setting the maximum allowed error. It can be easily estimated, for example double the width of an average five-lane highway. An example of trajectory simplification is shown in Fig. 4. The small dots represent the GPS observations that construct the original trajectory, while the asterisks express the core points of the simplified trajectory. Not only does this example clearly show how the number of the original observations is reduced after simplification but also shows that the core points can be utilized to yield turns in every individual trajectory. The highlighted zones clarify that simplification is able to handle the inaccuracies incurred on real datasets.

cr

140

153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172

ed

152

Due to the low sampling rate and the missing GPS signals, many observations from different trajectories may be taken before, at, and after the real turn. Many reasons lead to this problem, such as the different speeds of the vehicles, the different GPS sampling rates, and the different times at which samples are taken. Hence, the core points may not represent the actual turn as shown in Fig. 5. The x marker represents the real turn, while the dots represent the core points. It is clear to see that the core point within the highlighted circle does not actually represent the real turn. However, some core points from different trajectories are approaching the position of the real turn. In order to extract the turns, we need to cluster the core points. Yet, if we cluster them without considering the above problem, some turns will be missed. Also, the number of false positives will increase, which in turn, will decrease the clustering recall. In our method, we address this problem. Instead of utilizing the original core points, we try to find a better representative of the actual turn. Multiple vehicles pass through the same turn, and due to the above reasons, some observations from different trajectories will be closer to the actual turn. Such observations are better representatives of the real turn. The idea is to translate the location of the remaining core points to these observations. This step significantly improves the clustering result by increasing the density of the core points around the real turn. In order to accomplish this task, we have implemented a new method to select for every core point p the best candidate for snapping among the core points of other trajectories, which is called snapping target. Many core points from different trajectories can be selected as candidates for the snapping target. The question is: what are the validation rules that the snapping candidates must satisfy? Such a candidate needs to: (1) follow a similar direction as p (2) exist before the sample following p and be reachable from p, if the same direction and

pt

151

Ac ce

150

M

Figure 4: A real example of trajectory simplification

6

Page 6 of 24

174

ip t

ed

M

an

175

speed are maintained (3) be preceded by a sample that follows a similar direction as the sample that precedes p (4) follow a similar direction as p, if we change its direction to move towards the sample after p, p+1. Fig. 6 and table 1 demonstrate the process of selecting the snapping target. They show three examples of selecting the snapping candidates. The

us

173

cr

Figure 5: Example of samples around a turn

(a) Case I

(b) Case II

(c) Case III

177 178 179 180 181 182

first two examples from the left represent insufficient candidates that failed to satisfy one or more of the validation rules. The third example represents a successful candidate. In order to determine the snapping target, we select from all successful candidates the farthest core point from p. The reason behind choosing the farthest one is that this core point must be the closest point to the real turn. Hence, it will be a better representative of this turn than any other core point.

Ac ce

176

pt

Figure 6: Examples for the candidates of the snapping targets

Table 1: Examples of the snapping candidates & the validation rules

Case a b c

Rule 1 Yes Yes Yes

Rule 2 Yes Yes Yes

Rule 3 Yes No Yes

Rule4 No Yes Yes

183 184 185

The snapping process of the core points is clearly elaborated on algorithm 1. The initial results of this step were presented in our previous work [4]. In this paper, we expand this 7

Page 7 of 24

187 188 189 190 191

algorithm to adapt with the problems related to the inaccuracies incurred in real datasets. Additionally, some validation rules are added to guarantee precise location for the snapped core point. We iterate the trajectories, and for each two consecutive core points (pi−1 , pi ), pi will be snapped to an extrapolated point pex . This point is calculated by moving the vector pi−1 pi at the same direction for a specific distance. That distance is determined by the time, direction, and speed between pi−1 , pi . The arc-tangent function is used to compute the direction of vector pi−1 , pi . This function takes two arguments atan2(δy, δx); δy

194 195 196 197 198

199

200 201 202 203 204 205

is the difference in y coordinates between pi−1 , pi , and similarly is δx. According to pex , a rectangular buffer, the snapping window w, is constructed by extending the line pi pex at both sides. This window is used to query the set of core points P . The core points that fall inside it, and satisfy the validation rules, are called snapping candidates. The snapping target psnap is then selected as the point fulfilling:

Ac ce

192 193

pt

ed

M

an

us

cr

Algorithm 1: Snap(Pt , P ) Data: Pt : the core points of one trajectory, P all core points of other trajectories 1 dmax = 0, pf = P [0], pl = P [|P | − 1] ; 2 forall (pi−1 , pi ∈ Pt ) do 3 θ, speed = calculate direction and speed from pi−1 , pi ; 4 δd= speed * δt ; 5 x¯, y¯ = δd cos θ + xpi , δd sin θ + ypi ; 6 pex = point(¯ x, y¯) ; 7 w = create a rectangular buffer around line pi pex ; 8 Pw = intersection(P, w) ; 9 Pcandidate = 10 {p—p ∈ Pw ∧ direction(p) ' direction(pi )∧ 11 direction(p) ' direction(psnap pi+1 )∧ 12 direction(pi−1 ) ' direction(psnap−1 )}); 13 psnap = M AXp∈pcandidate dist(p, pi ); 14 replace pi by psnap ;

ip t

186

psnap is inside the snapping window, heading(pi ) is similar to heading(psnap ), heading(pi ) is similar to heading(psnap pi+1 ), heading(pi−1 ) is similar to heading(psnap−1 ), psnap is the farthest such point from pi In Fig.7, an example is introduced to illustrate how the above technique works. The points in double Ox marker, represent the core points pi−1 , pi , pi+1 (Starting from the left). The diamond marker represents the extrapolated point pex , which has the same direction of vector pi−1 , pi . The points pi , pex are used to create the snapping window w. The small point markers represent the core points. Blue points are the snapping candidates that are 8

Page 8 of 24

206 207

an

us

cr

ip t

208

inside w and satisfy the validation rules, while the red points represent invalid candidates that failed at one or more of the validation rules. The star marker depicts the snapping target psnap that pi will snap to.

Figure 7: Snapping Process

212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232

M

ed

211

pt

210

Now, the adjusted core points are grouped together and ready for clustering in order to extract the real turns. Clustering these points will enable us to distinguish regions with high density of points, hence yielding the real turns. Data clustering methods can be classified into two main classes: distance-based methods and density-based methods. The densitybased methods are widely used in spatial data clustering. They have two main features: (1) they do not need a predefined number of clusters at the beginning of the process (2) they are capable of determining the noise data and removing the outliers. The problem is that: our clusters have different sizes, densities and shapes. Additionally, the turns within the the road map are very close and have different directions. Detecting such clusters of points in data is very challenging. Hence, we extend the density-based spatial clustering of applications with noise (DBSCAN) to consider the direction of the core points while finding the clusters. We use the extended DBSCAN in a progressive way which is called EPDBSCAN. First, we apply the clustering on the whole snapped core points to extract the turns with dense points. Then, we remove all the points that have been clustered and reapply the clustering process on the remaining points after tuning the clustering parameters. The DBSCAN is chosen because it copes with noise, which is a norm in real GPS datasets, and because its parameters are convenient to be set in this application [10]. It has been extended to have three parameters: 1. distEps: maximum radius of the neighbourhoods. 2. dirEps: maximum angular difference between the neighbourhoods. 3. minPts: the minimum required number of points to form a cluster. The adjusted core points are clustered progressively with increasing values of distEps and a fixed angular difference threshold dirEps. That is, we start with a small value to find intersections in rather dense areas (e.g., city centers), and iteratively relax the distEps value

Ac ce

209

9

Page 9 of 24

233 234 235

us

cr

ip t

236

to find intersections in less dense areas. After every iteration, the points that already belong to some cluster are removed. Finally, each cluster is represented by its center point, which we consider as the location of the turn or intersection as shown in Fig. 8; the star markers represent the centers of clusters while the point markers represent the clustered points.

241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262

M

240

ed

239

pt

238

2.2. Connecting Turns Until now, we have extracted the turns of the generated road map. Each turn was represented by the center of its related cluster. At this phase, in our method, we connect these turns by using the trajectory information to create the turn links. For each cluster, we know all the core points that form it. Simply, our idea is to utilize these core points to connect the different clusters together by using the trajectory data. To extract the road segments, most of the existing point-clustering methods need to linearly scan the trajectories to find the matched portions between the different clusters. These portions are called subtrajectories. The difference in our method is that in order to do this task, we only use the trip details of the core points without the need to scan the whole dataset. This enables us to increase the performance of the connecting-turns process. Moreover, it improves the accuracy of the extracted road segments. The GPS trajectory T is defined as a set of points T = {pi |i = 0, 1, 2, ..., n} with Pi = (xi , yi , ti ). These points are sorted by the recording time ti . Each T is simplified to yield the simplified trajectory ST with its core points cp0 , cp1 , ..., cpj . We consider these core points the main input for the remaining processing of our method. Hence, we need, for each core point to hold the important trajectory information which is utilized to connect the different clusters. In our dataset, each trajectory has a unique id called trip id. Also, each core point CP is identified by the unit id, which represents its sequence in its trajectory. Simply, for every CP, we combine these two attributes to generate a unique key tag which is relative to all trajectories. This tag is encoded with CP. In other words, the definition of the core point will be changed into the following CP = (xi , yi , tagi ). In the snapping phase, the location of each core point is adjusted to be closer to the real turn. We update the coordinates of the core point CP = (xi , yi , tagi ) with the coordinates of its snapping target while keeping the same tag for the original core point to be CP = (xsnap , ysnap , tagi ). After clustering the adjusted core points, all clustered points will be

Ac ce

237

an

Figure 8: Extracting Turns

10

Page 10 of 24

264 265 266 267 268

M

an

us

cr

269

utilized to connect their clusters together. We decode the tag of each clustered point to extract the stored information about its trajectory (trip id , unit id). Simply, two different clusters will be connected if they have consecutive points that belong to the same trajectory. For example, if we have two clusters (c1,c2), c1 contains a point p1 with trip id = i and unit id = j, and c2 contains a point p2 with trip id = i and unit id = j + 1, then there will be a link between c1 and c2. In Fig. 9, each turn link is labeled with its number of connections. This number represents the total number of trajectories that are passed by the two clusters. Also, we can easily detect the direction of each link using the unit id.

ip t

263

Figure 9: Turn links 270

274

275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291

ed

273

2.3. Integrating Links In this section, we explain how the turn links will be integrated to build the road segments. The problem is that some clusters may be connected to more than one cluster. In other words, the real road segment or part of it may be represented by a group of turn links which are connected together by different clusters. In Fig. 10, two turn links are connected by the same cluster. It clearly shows that these links represent the same road and need to be integrated. This kind of problems has been addressed by several works, as in [11, 12, 13]. In this work, we present a simple iterative approach to integrate the turn links by recursively generating the road segments based on the distance and direction between them. Every link is connected using a number of connections that expresses the traffic flow on it. We regard this number as the weight of the turn link. The links that have higher weight and length respectively will be more important while building the topology of the road map. Algorithm 2 explains the integration process. The inputs of this function are the turn links T , the buffer distance dbuf f which represents the maximum allowed distance for a link to be integrated with the current link and the maximum allowed angular difference adif f which is used to check the direction similarity. At the beginning, the turn links are sorted by the weight and the length in a descending order Tsorted . Then, a buffer zone b is created

pt

272

Different clusters can have many links according to the core points that belong to them. Therefore, we only connect the clusters with a number of connections greater than a given threshold. In the following section, we explain how these links will be integrated to yield the road segments.

Ac ce

271

11

Page 11 of 24

ip t

Figure 10: Example of two turn links that need to be integrated

294 295 296

an

297

cr

293

around the link with the most weight and length linktop . That zone is utilized to select the links L that: (1) are inside b (2) have similar directions based on a given angular difference adif f . The selected links L will be integrated using a sweep line algorithm to produce ls. Afterwards, the participated links are removed, and the algorithm is called recursively using the remaining links Tremaining until no links exist. The output of this algorithm will be a set of connected road segments RS.

us

292

298 299 300 301 302 303 304 305 306

Ac ce

pt

ed

M

Algorithm 2: Integrate(T, dbuf f , adif f ) Data: T : the turn links generated by connecting turns, dbuf f maximum allowed distance from top link, adif f maximum allowed angular difference with top link Result: RS: list of the generated road segments 1 Tsorted = sort links by weight and length(T , desc) ; 2 linktop = top(Tsorted ) ; 3 b = create a buffer zone around(linktop , dbuf f ) ; 4 linkb = intersection(T, b) ; 5 L = {l|l ∈ linkb ∧ difference(direction(l), direction(linktop )) < adif f } ; 6 ls = Sweep-Line(L) ; 7 add ls to the result RS ; 8 Tremaining = remove integrated portions L from T ; 9 if Tremaining is non-empty then 10 integrate(Tremaining , dbuf f , adif f ) ; 11 return RS ; Sweep line is one of the fundamental techniques in computational geometry. The idea is to create a vertical line perpendicular to the top link. This line is moved across the buffer zone in the same direction of top link to create a new integrated line that represents the final shape of the road segment. The length of the sweep line equals the buffer distance. Fig. 11 shows how the units of the integrated line are selected while the sweep line is moving across the buffer zone. Each vertical line intersects with the selected links (L in algorithm 2) at many points. Then, a line is constructed between the farthest points from the left and the right of the top link. Finally, the center of these constructed lines will be considered the units of the generated road segment. 12

Page 12 of 24

ip t cr us an

310 311 312 313 314

315 316 317 318 319 320 321 322 323 324 325 326 327

ed

309

In this section, we evaluate the efficiency of the proposed method based on two real datasets. Firstly, we compare our results with two of the best state-of-the-art methods using a low-sampling-rate dataset. This step shows how the competing methods can adapt with the sparse data. Secondly, to ensure the accuracy of our results on different levels of data, we apply the proposed method on a large-scale dataset with high sampling rate. The results are evaluated based on a known measure (F-measure). We use OpenStreetMaps as reference to the ground-truth.

pt

308

3. Experiments

Ac ce

307

M

Figure 11: Integrating-links Process

3.1. Datasets The experimental data are divided into two real datasets: Cairo dataset and Egypt dataset. The first is captured at Cairo during the time from 24-10-2015 to 30-10-2015. It has 1,350 user-contributed trajectories with 302,200 GPS samples. The average sampling rate was 11~15 seconds. we consider that this data represents a low-sampling-rate dataset. Each sample has the following details: trip id, trip date, trip time and position. The latter (Egypt dataset) has data that was collected by thousands of taxis all over 16 cities in Egypt during the time from 12-2-2017 to 14-2-2017. It has 12,688,784 user-contributed GPS samples. These samples were grouped into 16,293 trips. The average sampling rate was 1~3 seconds. It represents a large-scale dataset with high sampling rate. Each sample has the following details: trip id, trip date, trip time, speed, accuracy, bearing and position. There are some challenges that have to be addressed while dealing with GPS data. Cleaning that data was critical to improve the clustering results, which in turn improves 13

Page 13 of 24

328 329 330 331 332

the accuracy of extracted turns and intersections. In our experiment, we apply two main cleaning steps: (1) filtering samples by removing the points where the speed of the vehicle equals zero or the GPS accuracy was greater than a specific threshold (2) creating a new trip if the time interval between two consecutive points within the same trip exceeds one minute, or the distance between them exceeds a specific threshold.

340 341 342 343 344 345 346 347

348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368

cr

us

339

an

338

M

337

3.2.1. Preparing Ground Truth The experimental data does not cover all streets in their extents. Typically GPS trajectory data lack the full coverage of the whole road segments for a specific region. This problem is referred to as data sparsity in [14]. Any single technique of dynamic data gathering will not guarantee the complete coverage of the road network. Although integrating these techniques increases thoroughness, spatial, temporal, and property data sparsity must be addressed. The spatial sparsity occurs because some roads lack sufficient data while property sparsity occurs when no data captures a desired property [15, 14]. We elaborate on the effect of data sparsity on the proposed method in Section 4. For the purpose of these experiments, we only choose the subset of the road network that has been traversed by at least a single trajectory in the dataset. In order to derive this ground truth map, we create buffer zones around the OSM road segments. Then, we perform a spatial join with the trajectory data to find the segments that contain trajectories. The acquired segments represent the filtered ground truth map Struth . Fig. 12 shows a portion of the ground truth map and the corresponding filtered map that was derived based on the trajectory data. Table 2 provides more information about the the road segments(RS) that are traversed by at least one trajectory, the non-covered road segments that do not have GPS data and the corresponding number of the actual road segments in OSM for both datasets. Due to the variable length of OSM road segments, number of the road segments may not express the dataset correctly. Therefore, we provide the length of the road segments as a better representative for the total distance covered by the GPS data. Additionally, Fig. 13a, 13b

ed

336

pt

335

3.2. Description Two experiments are conducted to measure the performance of our proposed method. We used Cairo dataset to compare our method to the work in [11, 7]. The implementation of these algorithms was publicly available in [3]. These methods represent two different categories as follows: (1) one example of a widely-used intersection-linking method that detects intersections based on the change of vehicle heading [7]. It extracts turns by identifying the locations where the difference in heading is more than a specific threshold. Then the turns are clustered over the whole dataset to detect the intersections (2) an incremental track insertion method that works on the trajectory level [11]. This method starts with an initial empty map. The individual tracks are inserted incrementally to construct the map. In order to add a new track or delete an old one, different clustering techniques are used to group the similar tracks based on the distance and the angular difference between them. In the remainder of this section, we refer to the intersection-linking method in the work [7] as ILM and the incremental track insertion method in [11] as ITI.

Ac ce

334

ip t

333

14

Page 14 of 24

ip t

cr us an

375

Figure 12: A portion of the ground truth map with the trajectory data and the corresponding filtered ground truth map

Dataset Egypt Cairo

RS in Count 97220 41114

OSM Length 25934 13161

M

374

RS with GPS data Count Length 43912 16680 9048 2098

RS without Count 53308 32066

GPS data Length 9254 11063

Avg trips/RS 40 15

Table 2: Number and length(km) of the traversed road segments (RS) in both Egypt and Cairo datasets

1,500 1,250

600 number of traversed RS

373

ed

372

pt

371

Ac ce

370

demonstrate the distribution of the GPS trajectories on OSM road segments. They show how many road segments are traversed by a specific set of trajectories in both Egypt and Cairo dataset respectively. Some values are excluded from these figures to make them more visible. There are (9789, 4601, 2639, 1826) OSM segments in Egypt dataset and (3655, 369, 1296, 376) OSM segments in Cairo dataset that are covered by (1, 2, 3, 4) GPS trajectories respectively. These values would dominate the y axis and make the remaining figure less visible.

number of traversed RS

369

1,000 750 500 250

50

100

150

200

250

300

350

500 400 300 200 100

10 20 30 40 50 60 70 80 90 100

number of GPS trajectories on RS starting from 5 trips

(a) Egypt Dataset

number of GPS trajectories on RS starting from 5 trips

(b) Cairo Dataset

Figure 13: Distribution of number of traversed road segments (RS) vs. number of GPS trajectories on these segments

15

Page 15 of 24

379 380 381 382 383 384 385 386 387 388

ip t

378

cr

377

3.2.2. Evaluation Methodology The results are evaluated based on F1-measure that indicates both precision and recall, as in [16]. F1-Score can be defined as the weighted average of the precision and recall. Precision is computed as the percentage of length of the matched segments Smatched to the length of the extracted segments Sextracted , where Smatched will actually be the total length of the common edges between the extracted map and the filtered ground truth map Struth on a specific matching-distance threshold.The recall is measured by the ratio between the length of the matched segments and the length of the filtered ground truth map. In order to compute the intersection Sextracted ∩ Struth , each segment s ∈ Struth is sampled on a given distance. Then, each point in segment s0 ∈ Sextracted is considered a matching point if s is within a perpendicular distance threshold from s0 , and the angular difference between them is less than a specific threshold θ. In our experiment, we use different matching-distance thresholds starting from 5m and θ equals 60 degrees. Hence, F1-Score is computed as follows:

us

376

389

an

Smatched = ||Sextracted ∩ Struth || 390

P recision =

M

391

Recall =

F 1Score = 2 *

396 397 398 399 400 401 402 403 404 405 406

where ||S|| is the total length of edges s ∈ S.

pt

395

P recision * Recall P recision + Recall

3.3. Experimental Results The results show that the proposed method outperforms the other methods with regard to F1-Score. It could achieve a high F1-Score on a low-sampling-rate dataset, Cairo Dataset. Table 3 shows the total length of the road segments that were covered by Cairo dataset in the filtered ground truth map and the total length of the extracted road segments of each method. In Fig. 14a, we can find that our method improves the accuracy of the extracted road map at small perpendicular matching thresholds starting from 5m. Also by increasing that distance, it gives a higher F1-Score than the other methods. At the largest matching thresholds, ITI outperforms ILM due to the high recall. Fig. 14b and Fig. 14c demonstrate how the proposed method maintains both high precision and good recall compared to ILM and ITI. Although ILM produces high-precision road maps, it has lower recall than the proposed method.

Ac ce

394

Smatched ||Struth ||

ed

392

393

Smatched ||Sextracted ||

407 408 409 410

One of the key parameters that affects the performance of our method is the simplification threshold. Unlike the traditional turn-detection methods that have difficulties in setting their parameters, the simplification process needs only an intuitive parameter which is the 16

Page 16 of 24

Table 3: Total length of the ground truth and the extracted road segments of each method in meters on Cairo dataset

1602524 1087529 1173129 1317335

0.6

0.7 0.6 0.5 0.4

0.3

5 10 15 20 25 Perpendicular Distance Threshold (m)

M

10 15 20 25 5 Perpendicular Distance Threshold (m) (a)

ILM Proposed method ITI

an

0.4

ILM Proposed method ITI

0.8

us

Precision

F1-Score

0.7

cr

0.9

0.8

0.5

ip t

Ground truth (OSM) ILM Proposed method ITI

(b)

ed

0.6 0.5

pt

Recall

0.7

0.4

Ac ce

0.3

ILM Proposed method ITI

0.2

5 10 15 20 25 Perpendicular Distance Threshold (m) (c)

Figure 14: Comparison of F1-Score, precision and recall on the Cairo dataset

411 412 413 414 415 416

the maximum allowed error. Low threshold leads to finding a large number of core points that are close to each other, which in turn increase the number of the boundary points while clustering. These core points may represent small bends of the road that can be ignored while extracting the road segment. On the contrary, the large simplification threshold will ignore important core points that affect the connectivity of the road map. Using Egypt dataset, Fig. 15a shows our results in terms of F1-Score with different simplification thresholds. The 17

Page 17 of 24

418 419 420 421 422 423 424

highest F1-Score was achieved at a simplification threshold that equals 30m. Another key parameter is the maximum radius of the neighbourhoods distEps at EPDBSCAN. Fig. 15b illustrates the power of progressive clustering in increasing the recall of our method. In our experiment, we start with distEps that equals 10m. That enables us to find intersections at highly dense areas. Then we remove the clustered points and start a new iteration with an increasing value of distEps to find intersection at less dense areas. Fig. 15b shows the total number of extracted turn links with regard to the increasing values of distEps.

ip t

417

1.2

·104

0.7 0.6

0.8 0.6

0.4 10 20 30 40 50 60 70 80 90 Clustering distEps (m)

ed

0.5 20 30 40 50 Simplification Threshold (m)

an

0.8

1

M

Number of Edges

F1-Score

0.9

us

Proposed method

Proposed method

(a)

cr

425

(b)

427 428 429

Examples of the generated road map are shown in Fig. 16. We use OpenStreetMaps (OSM) as the background of each example. OSM represents the reference of the groundtruth. Fig. 16 shows how the proposed method can adapt with the complex intersections and curves of Egypt Dataset.

Ac ce

426

pt

Figure 15: Egypt Dataset

Figure 16: Extracted Road Map (Egypt Dataset)

18

Page 18 of 24

438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471

ip t

437

cr

436

us

435

an

434

M

433

ed

432

In the experimental results, the proposed method shows good results when dealing with low-sampling-rate datasets. We evaluate the accuracy of the constructed road map based on F-measure. Results illustrate that our method outperforms the comparative methods by achieving the highest F1-Score at the different perpendicular distance thresholds. In this section, we take a deep look on the constructed roads of all competing methods. This will enable us to elaborate on how the proposed method makes the difference. Fig. 17 presents some examples in which our method gives an accurate response than the other methods. In each example, we start at the left with the input raw trajectories, then the constructed maps of the competing algorithms. In Fig. 17a, ILM produces a wrong segment for the highlighted curve at the red box. However, the proposed method constructs an accurate road segment. Another example that illustrates the problem of detecting curves by ILM is shown in Fig. 17b. In this figure, ILM is not able to discover the highlighted segment while our method does. Fig. 17c shows that the proposed method can precisely extract the divided roads that have two lanes of traffic travelling in each direction. The two competing methods are not able to detect that type of roads. Also, most of the road segments extracted by ILM appear as oscillating lines. This problem affects the routing capability of such road maps. Fig. 17d shows that our method is able to remove the outliers that are captured due to the previously mentioned problems of GPS data. However, ITI falsely detects some roads that do not exist. Another issue to consider here is the data sparseness. Some road segments in the underlying network might never been traversed by the input trajectories, and clearly they will not be detected. The effect is that the extracted map is not complete because of lack of coverage of the input trajectories. Moreover, some of the traversed road segments might not be detected because they have been traversed by a small number of trajectories, thus the clustering can not detect them. Having a bigger number of trajectories traversing a segment increases the chances of detection. We have shown above that the proposed method is better in recall than related works. There is however an opportunity to further improve, that we would like to explore in the future. After the network has been extracted from the input trajectories, it should be possible to map-match them against the extracted map. The map-matching shall be twisted so that it can infer new segments between existing network nodes/turns, if some input trajectories connect them. Such a match highlights a potential road segment. We need to think of methods to validate such segments and include them in the extracted network. It is worth saying that the effect of data sparseness is not severe in this application, comparing it for instance with the application of destination prediction as in [17]. There, the possible routes between a pair of source and destination is exponential in the number of road segments in the network. For a network of n road segments, a data dataset of size 2n shall be required. Clearly such a requirement cannot be fulfilled, and data enrichment methods such as [17] are mandatory. While in this application, the requirement is to have a c × n trajectories covering every road segment, where c is a constant. This constant depends on the cleanness of the data. Fig. 18a, 18b demonstrate, in our experiments, the percentage of the detected road segments according to the number of GPS trajectories that traverse

pt

431

4. Discussion

Ac ce

430

19

Page 19 of 24

472 473 474 475 476

us

cr

ip t

477

the road segments in both Egypt and Cairo dataset respectively. The datasets were first cleaned by applying the cleaning steps mentioned in section 3.1. In the Egypt dataset, the detection rate hits 80% starting from 30 trajectories per segment. In the Cairo dataset, as the data is more clean, the detection rate of 80% is hit starting from 18 trajectories. This means that 80% of the road segments that have been traversed by 18 trajectories will be detected by our method, and output in the resulting map.

(b)

M

an

(a)

(c)

(d)

478

5. Conclusions

ed

Figure 17: Detailed Comparison of the Constructed Roads

487

6. Related Work

481 482 483 484 485

488 489 490 491 492 493

Ac ce

480

pt

486

In this paper, we present a new preprocessing method to extract the road segments from user-contributed GPS trajectories. The method extracts both turns and intersections. Connecting these turns yields to detect the turn links that are integrated to construct the road map. We compare our method with two of the state-of-the-art methods. Experimental results show that the proposed method performs better than the other methods in terms of Fmeasure, especially with low-sampling-rate datasets. Additionally, the results demonstrate that our method can discover the divided roads and is able to ignore the false trajectories caused due to GPS errors.

479

There are several methods that have been proposed for automating the extraction of the road map. These methods are classified into two main approaches. The first approach extracts the road map from satellite images using image processing techniques that require high resolution images to guarantee the accuracy of the extracted road map, as in [18, 19, 20, 21]. Furthermore, a number of methods utilize the aerial images to detect the road intersections and connect them to build the road map, as in [22, 23]. 20

Page 20 of 24

50

10

20

30

40

50

60

70

80

90

us

(a) Egypt Dataset

50

20

30

40

50

60

M

10

an

100 detection rate %

100

cr

number of GPS trips on RS starting from 1

ip t

detection rate %

100

70

80

90

100

number of GPS trips on RS starting from 1

(b) Cairo Dataset

496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511

pt

495

Thanks to the several location-based applications that provide a huge amount of raw GPS trajectories, the research community has expressed great interest in extracting the road map from such datasets. However, utilizing these data is often challenging due to the high level of noise and the inaccuracies incurred on the real datasets. Additionally, GPS trajectory data may not be able to offer the complete coverage of the road network. This problem is called data sparsity. Few studies have addressed this problem and proposed solutions to overcome it. For example, Yang et al. [15] addressed the problem of assigning appropriate weights to all edges in a road network with the use of data that cover only a small fraction of the edges. They modeled the problem as a regression problem and proposed a general framework based on PageRank to assign weights to the edges that are not covered by the input dataset [15]. Zourlidou and Sester proposed an approach that detects the road intersections by extracting semantic features of the trajectories in form of sequences of stops and moves [24]. Their approach can detect the intersections even when the samples are not available from all road segments that participate in the intersections. Several techniques have been proposed to preprocess the GPS trajectories by removing the noise data. For example, Chazal et al. [25] present a new data-driven framework for smoothing the trajectory data. Their algorithmic framework can be used to reduce variance among a noisy collection of traces, it relies on the algorithms for the nearest neighbor

Ac ce

494

ed

Figure 18: Detection rate of the proposed method vs. number of GPS trips on road segments

21

Page 21 of 24

520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553

ip t

519

cr

518

us

517

an

516

M

515

ed

514

pt

513

problem. Some research has been able to classify and compare the various approaches which utilize crowd-sourced GPS trajectories to build the road map. Ahmed et al. classify them into three categories: point clustering, incremental track insertion and intersection linking [3]. Another classification for the existing methods is to divide them into the following categories: k-means, kernel density estimation (KDE), and trace merging [26]. These categories can be classified based on the type of the input. Both, point clustering and intersection linking methods work on the observation level, which means that the input is a set of GPS points, while the incremental track insertion methods work on the trajectory level, in which each trajectory is represented by set of sorted GPS observations based on the capturing time. The methods in the incremental track insertion category start with an initial empty map. This map is constructed incrementally by inserting the individual tracks. In order to add a new track or delete an old one, different clustering techniques are used to group the similar tracks, which are likely from the same road, based on the distance and the angular difference between them, as in [11, 27, 28]. Most of the algorithms in this type have been evaluated using a controlled dataset. They require accurate GPS data with high sampling rate and less noise data to guarantee the accuracy of the results. Low-sampling-rate datasets generate some fallacies while connecting the consecutive points to build the trajectories. For example, if two consecutive points are taken before and after a turn, their line will pass by an area that does not have roads. Therefore, precision and accuracy will be decreased while dealing with such datasets. Various approaches employ both, KDE and image processing techniques to construct the road map. They build a discrete image of the input points based on density. Then, the center lines are extracted using different image processing techniques. Examples of KDE methods are presented in work [29, 30]. Most of KDE methods give precise results with high-sampling-rate datasets or the large datasets that have an abundant percentage of data repetition. Some approaches construct the road map based on k-means clustering method. K-means methods cluster GPS points based on the distance and the vehicle heading. Then, the clusters are connected with the use of different techniques to build the road segments, as in [31, 32, 33, 34]. Road intersections represent the main component of the road map. Most of the existing methods use a traditional way for detecting turns in every single trajectory. Pfoser et al. use the change of heading and moving speed of the vehicle between two consecutive points as an indicator for a turn based on a given threshold [7]. To find the intersections, they cluster the turns using a hierarchical clustering algorithm according to the location and the type of the turn. These intersections are linked to build the road segments. Wu et al. improve the concentration of the turns by converging them to the intersecting points of the vectors related to each turn [8]. The intersections are detected by clustering the converging points using X-means algorithm. Xie et al. detect the intersections by clustering the turns and aligning GPS tracks ”point by point” using a stretching and compression strategy based on Dynamic Time Warping algorithm [35]. All these methods depend on the same traditional

Ac ce

512

22

Page 22 of 24

556

Conflicts of Interest: The authors declare no conflict of interest.

557

References

567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601

cr

us

565 566

an

563 564

M

562

ed

560 561

[1] B. Yang, N. Fantini, C. S. Jensen, ipark: Identifying parking spaces from trajectories, in: Proceedings of the 16th International Conference on Extending Database Technology, EDBT ’13, ACM, 2013, pp. 705–708. doi:10.1145/2452376.2452459. URL http://doi.acm.org/10.1145/2452376.2452459 [2] C. F. A. Ribeiro, A methodology for assessing openstreetmap degree of coverage for purposes of land cover mapping II-3/W5 (2015) 297–303. [3] M. Ahmed, S. Karagiorgou, D. Pfoser, C. Wenk, A comparison and evaluation of map construction algorithms using vehicle tracking data, GeoInformatica 19 (3) (2015) 601–632. [4] M. Ezzat, M. Attia, R. Elgohary, M. E. Khalifa, Extracting road turns and intersections from crowd source GPS tracks, in: Proceedings of the 6th International Conference on Communication and Signal Processing, IEEE, 2017, pp. 947–951. [5] T. K. Peucker, A theory of the cartographic line, International yearbook of cartography 16 (1976) 134–143. [6] J. H. Banks, Introduction to transportation engineering, Vol. 21, McGraw-Hill New York, 2002. [7] S. Karagiorgou, D. Pfoser, On vehicle tracking data-based road network generation, in: Proceedings of the 20th International Conference on Advances in Geographic Information Systems, ACM, 2012, pp. 89–98. [8] J. Wu, Y. Zhu, T. Ku, L. Wang, Detecting Road Intersections from Coarse-gained GPS Traces Based on Clustering, JCP 8 (11) (2013) 2959–2965. [9] X. Xie, K. Bing-YungWong, H. Aghajan, P. Veelaert, W. Philips, Inferring directed road networks from GPS traces by track alignment, ISPRS International Journal of Geo-Information 4 (4) (2015) 2446–2471. [10] H.-P. S. J. X. X. Ester, M.; Kriegel, A density-based algorithm for discovering clusters in large spatial databases with noise, in: Proceedings of the Second International Conference on Knowledge Discovery and Data Mining, ACM, 1996, pp. 226–231. [11] M. Ahmed, C. Wenk, Constructing street networks from GPS trajectories, in: European Symposium on Algorithms, Springer, 2012, pp. 60–71. [12] J. H. J.-G. Lee, K.-Y. Whang., Trajectory clustering: a partition-and-group framework, in: Proceedings of the 2007 ACM SIGMOD international conference on Management of data, ACM, 2007, pp. 593–604. [13] M. v. K. K. Buchin, M. Buchin, J. Luo., Finding long and similar parts of trajectories, in: Proceedings of the 17th ACM SIGSPATIAL International Conference on Advances in Geographic Information Systems, ACM, 2010, pp. 296–305. [14] C. Guo, C. S. Jensen, B. Yang, Towards total traffic awareness, SIGMOD Rec. 43 (3) (2014) 18–23. doi:10.1145/2694428.2694432. URL http://doi.acm.org/10.1145/2694428.2694432 [15] B. Yang, M. Kaul, C. S. Jensen, Using incomplete information for complete weight annotation of road networks, IEEE Transactions on Knowledge and Data Engineering 26 (5) (2014) 1267–1279. doi:10.1109/TKDE.2013.89. [16] J. E. Y. W. G. F. X. Liu, J. Biagioni, Y. Zhu., Mining large-scale, sparse GPS traces for map inference: comparison of approaches, in: Proceedings of the 18th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, ACM, 2012, pp. 669–677. [17] A. Y. Xue, J. Qi, X. Xie, R. Zhang, J. Huang, Y. Li, Solving the data sparsity problem in destination prediction, The VLDB Journal 24 (2) (2015) 219–243. doi:10.1007/s00778-014-0369-7. URL https://doi.org/10.1007/s00778-014-0369-7

pt

559

Ac ce

558

ip t

555

way to find turns. Thresholding the change of vehicle heading and moving speed is very hard to be estimated, and that decreases the precision and recall of the constructed map.

554

23

Page 23 of 24

614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645

ip t

cr

613

us

611 612

an

610

M

608 609

ed

606 607

pt

604 605

[18] J. Hormese, C. Saravanan, Automated Road Extraction From High Resolution Satellite Images, Procedia Technology 24 (2016) 1460–1467. [19] N. A. R. Ahmad, P. J. Deore, Article: Semi Automatic Road Network Extraction from Satellite Images Using Fuzzy C Means Clustering. [20] M. Tavakoli, A. Rosenfeld, Building and road extraction from aerial photographs, IEEE Transactions on Systems, Man, and Cybernetics 12 (1982) 84–91. [21] M. Kumar, R. K. Singh, P. L. N. Raju, Y. V. N. Krishnamurthy, Road Network Extraction from High Resolution Multispectral Satellite Imagery Based on Object Oriented Techniques, ISPRS Annals of the Photogrammetry, Remote Sensing and Spatial Information Sciences II-8. [22] J. Hu, A. Razdan, J. C. Femiani, M. Cui, P. Wonka, Road network extraction and intersection detection from aerial images by tracking road footprints, IEEE Transactions on Geoscience and Remote Sensing 45 (12) (2007) 4144–4157. [23] Y.-Y. Chiang, C. A. Knoblock, C. Shahabi, C.-C. Chen, Automatic and accurate extraction of road intersections from raster maps, GeoInformatica 13 (2) (2009) 121–157. [24] S. Zourlidou, M. Sester, Intersection detection based on qualitative spatial reasoning on stopping point clusters, ISPRS - International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences XLI-B2 (2016) 269–276. doi:10.5194/isprs-archives-XLI-B2-269-2016. URL https://www.int-arch-photogramm-remote-sens-spatial-inf-sci.net/XLI-B2/269/2016/ [25] F. Chazal, D. Chen, L. Guibas, X. Jiang, C. Sommer, Data-driven trajectory smoothing, in: Proceedings of the 19th ACM SIGSPATIAL International Conference on Advances in Geographic Information Systems, ACM, 2011, pp. 251–260. doi:10.1145/2093973.2094007. [26] J. Biagioni, J. Eriksson, Inferring Road Maps from Global Positioning System Traces: Survey and Comparative Evaluation, Journal of the Transportation Research Board (2012) 61–71. [27] L. Cao, J. Krumm, From GPS traces to a routable road map, in: Proceedings of the 17th ACM SIGSPATIAL international conference on advances in geographic information systems, ACM, 2009, pp. 3–12. [28] R. Bruntrup, S. Edelkamp, S. Jabbar, B. Scholz, Incremental map generation with GPS traces, in: Proceedings of IEEE Intelligent Transportation Systems, IEEE, 2005, pp. 574–579. [29] J. Biagioni, J. Eriksson, Map inference in the face of noise and disparity, in: Proceedings of the 20th International Conference on Advances in Geographic Information Systems, ACM, 2012, pp. 79–88. [30] J. J. Davies, A. R. Beresford, A. Hopper, Scalable, distributed, real-time map generation, IEEE Pervasive Computing 5 (4) (2006) 47–54. [31] S. Edelkamp, S. Schr¨ odl, Route planning and map inference with global positioning traces, in: Computer Science in Perspective, Springer, 2003, pp. 128–151. [32] S. R. P. L. S. Schroedl, K. Wagsta, C. Wilson., Mining gps traces for map renement, Data Mining and Knowledge Discovery archive 9 (2004) 59–87. [33] K. I. T. Guo, M. Koga., Towards high accuracy road maps generation from massive gps traces data, in: Proceedings of IEEE International Geoscience and Remote Sensing Symposium, IEEE, 2007, pp. 667–670. [34] J. I. N. G. Agamennoni, E. M. Nebot., Robust inference of principal road paths for intelligent transportation systems, IEEE Transactions on Intelligent Transportation Systems 12 (2011) 298–308. [35] X. Xie, W. Philips, P. Veelaert, H. Aghajan, Road network inference from GPS traces using DTW algorithm, in: Intelligent Transportation Systems (ITSC), 2014 IEEE 17th International Conference on, IEEE, 2014, pp. 906–911.

Ac ce

602 603

24

Page 24 of 24