Toward Fast and Accurate Map-to-Map Matching of City Street Maps

Frequently, various sources of geographic streetrelated data are covering the same space. Many geospatial traffic services require interoperability of the different datasets, which can be achieved by road network matching. A prominent use case is map conflation. More recently, the authors have suggested approaches to dynamic location referencing between maps (GIMME) and to automatic relocation of link related data in updated street maps within a framework called Map2Map. In this paper, an update on the recent advances in GIMME and Map2Map is given. Methodologically, path contraction is used to obtain a simplified version of the digital road network. This pre-processed version then augments the original network, and serves as a guide for finding routes covering the entire network, and facilitating the inter-map matching process. Path contraction also helps to reduce the complexity of the core inter-map matching method GIMME without loss in matching quality. On the conceptual side, a general strategy called “calibration-preserving pre- or post-processing” (C-3PO) is introduced. The aforementioned path contraction and two more post-processing methods used in Map2Map give examples for an implementation of C-3PO. Experimental results demonstrate the effectiveness of the presented approach.


I. INTRODUCTION
Frequently, various sources of geographic street-related data are covering the same space. Many geospatial traffic services require interoperability of the different datasets which can be achieved by road network matching [12]. A prominent use case is map conflation where map data from separate sources is combined "to create data that is better than either source on its own" [6]. More recently, the authors have suggested approaches to dynamic location referencing between maps (GIMME) [2], and to automatic relocation of link related data in updated street maps within a framework called Map2Map [9]. This framework includes the use of pre-computed lookup tables (LUT), where every individual road segment in a source map is mapped to one or several homologous road segments in the destination map, accompanied by appropriate offsets at the beginning and the end of the destination segment(s). The use of LUT reduces map-to-map matching of road segments to database lookups, reducing the response times of geospatial traffic services building on Map2Map.
In this paper, an update on the recent methodological and conceptual advances in GIMME and Map2Map is given. Methodologically, path contraction is used to obtain a simplified version of the digital road network. This pre-processed version of the network then augments the original network, and serves as a guide for finding routes between (T or multiway) intersections. These routes cover the whole road network. Since they are more "homogenous" (with respect to geometry and functional use of the constituting road ruediger.ebendt@dlr.de, louis.toukotcheumadjeu@dlr.de segments) than e.g. randomly generated routes, they facilitate the inter-map matching process. Path contraction also helps to reduce the complexity of the core inter-map matching method GIMME without loss in matching quality. On the conceptual side, a strategy of Map2Map called "calibrationpreserving pre-or post-processing" (C-3PO) is introduced. The aforementioned pre-processing with path contraction and two more post-processing methods used in Map2Map give examples for an implementation of this strategy. Experimental results demonstrate the effectiveness of the presented approach.
The paper is structured as follows: in Section II, previous work is briefly reviewed. Next, in Section III, an update on recent advances in the map-to-map matching framework Map2Map is given. In Section IV, the proposed new techniques are evaluated. Firstly, evaluation measures for the inter-map matching algorithm GIMME, a core component of Map2Map, are defined in Subsection IV-A, together with a dicussion of how they transfer between different German cities and across different map vendors. Secondly, experimental results are given in Subsection IV-B. Finally, the work is concluded in Section V.
II. PREVIOUS WORK To keep the paper self-contained, previous work is briefly reviewed in this section. A majority of the recent matching approaches are based on Buffer Growing [10], Iterative Closest Point [10], or the combination and evolution of them [12], or put emphasis on performance [11]. Two often cited works are the Delimited Stroke Oriented approach [12], and NetMatcher [5]. A previous work by the authors [9] focused on the use case of relocating link related data in digital street maps after an update with a newer map from the same vendor. Of note is that NetMatcher [5] was restricted to maps from the same vendor. Opposing to that, the present paper focuses on the more complex case of map-to-map matching between street maps from different vendors. In [2], the authors had already addressed this case with an intermap matching algorithm called GIMME, but in a different context (on-demand inter-map matching for dynamic location referencing, as opposed to map-to-map matching of entire city street maps). GIMME is a recursive, combinatorial algorithm mapping linear locations, i.e. routes (sequences of road segments) from a source to a destination map.
The aforementioned approaches establish M :N , M > 1 relationships between source and destination road segments. In contrast, Geometry Matching (GM) [8] matches single source segments (not complete routes) to one or more destination segments, thereby establishing 1 : N , N ≥ 1 relations. GM is used by GIMME [2] to determine a list of potential candidates for every segment of the source route. The collection of these lists constitutes a "pool" of eligible candidates, and GIMME constructs a best match for the entire route by drawing (zero, one, or more than one) candidate segment(s) from the pool for every source segment, and by finding the best possible combination of them. For each road segment of a route to match, GIMME operates on a maximum of C k=0 C! k! permutations of subsets of the list of all matching candidates for the segment. Here, C is the empirical maximum length of a candidate list. For previous experiments with GIMME which were conducted on maps of Potsdam and Brunswick, Germany, it was C = 3, and by 2 3 = 8 and 3 k=0 3! k! = 16, the related operations only showed very small, constantly bounded run time. In total, GIMME showed an amortised average time cost in Θ(n), where n is the length of the route to match. For more details, see [2]. III. NEW ADVANCES IN "MAP2MAP" AND "GIMME"

A. Remedial Path Contraction
In a new experiment described later in Section IV-B, a source map from HERE has been matched to a map from OpenStreetMap (OSM). Here, situations like the one illustrated in Fig. 1 occurred: a stretch of road is modeled as a single road segment in the HERE map, but as a sequence of 16 road segments in the OSM destination map. By that, the maximum number of matching candidates for one source segment now is C = 16 instead of C = 3 in previous experiments (see Section II). This would have fatal impact on the run time of GIMME: e.g. one of the corresponding terms expressing the maximum number of basic operations is 16 k=0 16! k! , which is larger than 50 trillions. To overcome this limitation, GIMME has been modified as follows. Whenever the list of candidate lists for all segments of a source route (with one candidate list per source segment) contains a candidate list with more than 6 elements (destination segments), a simplified version of the subnetwork formed by all these candidate lists is generated. Afterward, the destination road network is augmented by this additional version, and GIMME operates on it instead of the original network (now without performance problems since the situation outlined above does not occur anymore). The simplified version is obtained by a path contraction algorithm which first copies the subnet, and then eliminates all vertices of degree 2 (i.e. all "intermediate" vertices are removed). E.g., this algorithm effectively replaces the 16 edges for the OSM candidate segments shown in Fig. 1(b) by only one "virtual" or temporary edge. Finally, when GIMME reports its result, it resorts to using the original destination net again, i.e. instead of the virtual replacement edge, it reports the 16 edges representing the original OSM segments, which had been augmented by the virtual edge.

B. Calibration-Preserving Pre-or Post-Processing
The Map2Map framework defines and implements a general strategy called "calibration-preserving pre-or postprocessing" (C-3PO). In a nutshell, C-3PO demands that parameter calibration must be preserved when enhancing the classification algorithm in question, or when applying adaptations for a specific data set, or for groups thereof. The rationale is that permanent alterations would destroy the valuable result of a costly calibration process, a parameter set which is already known to transfer well to data sets different from the training data set(s) 1 . Instead, in order to enhance the algorithm, or to adapt it to specific (groups of) data sets, C-3PO proposes to apply pre-processing of the input data set, application of the unaltered parameter set, and postprocessing of the results. Though pre-processing methods may take advantage of knowledge about a specific set of input data, more general or broader methods which do not require such specific knowledge are preferable. Post-processing takes advantage of expected or well-known properties of the results.
The pre-processing by path contraction described in Subsection III-B.1, and two post-processing methods described in subsections III-B.2, III-B.3 are used in Map2Map, and give basic examples for an implementation of C-3PO.
1) Ex Ante Path Contraction: Analogous to the approach described in Section III-A, an additional simplified version of the entire digital road network is obtained by path contraction (it removes intermediate nodes between intersections, e.g. at places where the number of lanes changes). Its virtual edges always correspond to routes in the original network defining a path from one (T or multiway) intersection to another. Therefore it is highly likely that the road segments of such a route a) show a good directional continuity, i.e. that they do not follow a zigzag course, and b) share the same functional road class. To put it another way, the segments of the resulting routes are expected to be much more homogenous with respect to their geometrical course, and their functional use than e.g. randomly generated routes.
Both aspects, geometry and functional use, are considered in two compound dissimilarity measures which are calculated for every potential candidate segment by the Geometry Matching (GM) algorithm [8] used by GIMME [2]. The first is purely geometrical and the second also integrates the absolute difference of the functional road class (FRC) values of the candidate segment and the source segment. By that, it can be expected that the increased homogeneity of the source routes resulting from path contraction facilitates finding a correct match to a likewise homogenous destination route (and also truthfully reporting absence of such a homologous route in the destination map).
2) Ex Post Construction of (True) Positives: As has been described in Section II, GIMME uses GM to calculate the list of potential candidates for each source segment. To keep the false positive rate low, GM's thresholds for inclusion as an eligible candidate include a minimum segment length of 3 m. However, some of the highway routes in the destination map occasionally do contain edges which are shorter. As a consequence, the corresponding routes in the source network could not be matched to a connected stretch of road. Therefore, during a first post-processing step, Map2Map now applies subsequent shortest path routing to close the gaps in the partial matching results of GIMME for all affected highway routes. As a result of this post-processing step, all 6 previously non-matched routes in the Berlin highway net could correctly be matched (see Section IV-B).
3) Ex Post Confirmation of True Negatives: During a second post-processing step, Map2Map now programmatically detects the case that a road segment (or a stretch of several segments) in the source map has been modeled bidirectional, whereas the homologous road segment (or stretch) in the destination map has been modeled unidirectional: all matching attempts for the missing driving direction fail because of actual map differences, and therefore must have been truthfully reported as negatives. In contrast to the approach taken in Section III-B.2, which targets the number of true positives, now the number of true negatives can be raised. Both ex post approaches aim to improve the accuracy of Map2Map.

IV. EVALUATION
This section describes the results of a new evaluation of the LUT-based framework Map2Map [9]. It has been built upon GIMME [2] as an algorithmic core, and recently has been extended by an implementation of the new strategy C-3PO (see Section III-B). In addition to quantifying the benefit of C-3PO, this new evaluation also processes a new pair of maps (from vendors HERE and OSM) of an entire German mega-city, Berlin. This is an experiment still missing in the previous literature.
Firstly, evaluation measures are defined in Section IV-A which correspond to well-known measures in e.g. binary classification in Machine Learning. Next, it is discussed to which extent previous results for some of these measures transfer to the present experiment.
Secondly, the results of experiments are given in Section IV-B in terms of the introduced evaluation measures. For the experiments, the proposed framework has been applied to a pair of digital road maps of the city of Berlin, Germany, from different vendors and with one year difference between their publication dates. The source map was a HERE map of Berlin (HERE 2015.Q4) and an OSM map of Berlin which was more recent (OSM 2016.Q4)

A. Evaluation Measures
The following definitions are similar to those used in [2], with at least one notable difference: They are focusing on (numbers of) matched road segments, not in (numbers of) matched linear locations, i.e. routes. This is done because the authors' notion of a route in this paper is that of a technical auxiliary object, which is mostly of interest for the internals of the algorithm GIMME. The most important result of Map2Map however can be defined in terms of road segments only: it is a LUT mapping every individual source segment to one or more destination segments, thereby also giving positive and negative offsets determining the begin and end of a homologous stretch of road in the destination map.
Let n be the total number of road segments in a source map which have been subject to inter-map matching to a destination map. Let n p be the number of positives, i.e. the number of matched segments, and let n n be the number of negatives, i.e. the number of segments which could not be matched. Let n tp denote the number of true positives, i.e. the number of correctly matched segments where source and destination segment were homologous. Let n fp denote the number of false positives, i.e. the number of matched segments where source and destination segment were not homologous. Further, let n tn be the number of true negatives, i.e. the number of segments truthfully identified as not being present in the destination map, and let n fn be the number of false negatives, i.e. the number of segments which could not be matched although a homologous counterpart is present in the destination map. For a real-world evaluation, these numbers are subject to the following constraints: n = n p + n n > 0 n p ≥ n tp ≥ 0 n n ≥ n tn ≥ 0 Further, let n t := n tp + n tn . The hit rate q hit , success rate q success , error detection rate q error detection , positive rate q p , negative rate q n , true positive rate q tp , and true negative rate q tn are defined by q success := n tp n p (2) q error detection := n tn n n (3) q n := n n n q tp := n tp n = q p · q success (6) q tn := n tn n = q n · q error detection (7) respectively, where q hit := 1 if n = 0 and q hit is undefined for n < 0, and analogously for q success , q error detection , q p , q n , q tp , and q tn . All aforementioned measures take on real values in the interval [0, 1] and are often expressed as percentages; in this case they are multiplied by 100%.
Notice that the hit rate, success rate, and the error detection rate correspond to the well-known evaluation measures "accuracy", "precision", and "negative predictive value" for a confusion matrix for e.g. binary classification in Machine Learning.
Next, it is discussed to which extent previous results for some of these measures already transfer to the present experiment. First and foremost, true positive and true negative rates cannot be transferred from one experiment to another. They obviously depend on the degree of actual map differences, and therefore always depend on a particular pair of maps. Likewise, positive and negative rates should not be transferred. This is because the higher success rate and error detection rate are, the stronger positive and negative rate will correlate to the aforementioned true (positive and negative) rates (see Eqs. (6) and (7)). On a similar line of arguments, also the hit rate should usually not be transferred. As Eqs. (1), (6) and (7) show, the hit rate depends directly on the (nontransferable) true (positive and negative) rates. Only in the case of perfect or near perfect success and error detection rates, which at the same time also transfer well, this dependence vanishes or gets negligible, since then the hit rate will always be (close to) 100%. However, in this case the method would already be (near) perfect, and any further evaluations would not be needed anyway. Also notice that the true positive and true negative rate must be determined by visual inspection of the matching results by a human expert, whereas the positive and negative rate are determined programmatically during the evaluation.
Evaluation results for quality measures of GIMMEthe underlying inter-map matching algorithm of Map2Maplike the success rate q success (see Eq. (2)) and the error detection rate q error detection (see Eq. (3)) are already known from previous experiments of the authors with a TeleAtlas map (source) and a NAVTEQ map (destination) of the city of Potsdam, Germany [2]. These results were based on an extensive evaluation of GIMME by visual inspection of matching results for a large sample of several thousands of routes with up to 25 road segments (and further also 1, 000 tours, i.e. circular routes, with up to 69 road segments). Additionally, in [8] an evaluation of 1 : N , N ≥ 1 matching relations with the original GM algorithm has been given for NAVTEQ and OpenStreetMap (OSM) maps of the city of Brunswick, Germany -this is relevant inasmuch as GIMME essentially falls back to GM whenever a simple 1 : N matching relation, i.e. matching of a single source segment (to one or more destination segments) is encountered. In [2], a success rate of 99.7% for matching source routes with up to 5 road segments has been observed. The same success rate has been observed for the case of routes with only one segment, i.e. of matching only one source segment (to one or more destination segments) during experiments conducted with the GM algorithm in [8].
Notably, these two previous results are consistent even though the two experimental studies have used different pairs of maps (i.e. at least one involved map vendor was different), and also maps for different German cities. As far as shorter routes of up to five road segments are concerned, this already hints for good transferability of the observed success rate across different cities and map vendors. In [2], an error detection rate of 69.0% has been observed consistently, regardless of the number of segments in the matched source routes. During the experiments described in [9], a similar error detection rate had been determined by a smaller sample for a different pair of maps and for a different German city. This gives evidence that the observed error detection rate of GIMME is very stable with respect to route length and like the success rate also remains consistent across maps from different vendors and for different cities.
For these reasons, the authors argue that some of the results of the aforementioned previous evaluations should transfer well to other German cities and across different map vendors. It was decided to use them in the following estimation of the hit rate of Map2Map (now enhanced by C-3PO) for a new German mega-city. More precisely, the estimation of the hit rate in Section IV-B is based on the aforementioned earlier results in [2]. The authors readily assume that is a good estimation for a) all matched routes with up to 5 segments (Eq. (8)), and likewise for b) all non-matched routes, regardless of their length (Eq. (9)) 2 . For the definition of the success rate and the error detection rate, see (2) and (3). As pointed out in [2], the success rate of GIMME may decrease slowly with increasing number of segments for routes with 6 or more road segments (a small drop to 99.6% has been observed first for routes with 10 segments) 3 . For routes with 25 segments, a success rate of 93.8% has been observed in [2]. In contrast to the previous case of short routes, it can not readily be seen whether these results would transfer well to pairs of maps of other cities and/or from other vendors. Moreover, as has already been discussed in Section III-B.1, the strategy pursued during path contraction may lead to more correct matches. This can be expected since the resulting source routes are much more homogeneous than the randomly generated linear locations examined in [2]. Therefore, the authors decided to conduct a new visual inspection of the matching results for all routes of length greater than or equal to 6 (see the next section for details).

B. Experimental Results
This section describes the results of experiments conducted with the proposed framework Map2Map.
Initially, the HERE map was available in Geographic Data Files (GDF) format, whereas the OSM map was on  [3] has been used. NETCONVERT has been developed at German Aerospace Center (DLR) for the purpose of preparing digital road maps in various formats for use with the free and open source software "Simulation of Urban MObility" (SUMO). Optionally, also other outputs can be generated, in particular NETCONVERT is able to export road networks in a DLR-internal variant of HERE's GDF.
When converting an OSM network to this DLR-internal format, NETCONVERT bases functional road classes on OSM highway types (i.e., using a table with a fixed mapping from OSM highway tags to HERE functional road classes). This has been introduced in 2016 as work on the related (and meanwhile closed) issue #2602 (see [1]). Total numbers of road segments (edges), tentative and final positive and negatives rates resulting from the experiment, and (programmatically) provable lower bounds on the true negative rate (i.e. on ntn n , not to be confused with ntn nn , the error detection rate) are summarized in Table I. Table I shows the resulting inter-map matching statistics per functional road class (FRC) of roads in the source map: From top to bottom, one row gives the results for a particular FRC (the first row stating FRC "0-4" in the first column gives total results considering all functional road classes or all segments, respectively). From left to right, the given statistics are the number of road segments (n), percentages of positives (q p , this is the positive rate, see Eq. (4)), negatives (q n , this is the negative rate, see Eq. (5)), and of programmatically confirmed true negatives, which is a lower bound on the true negative rate, denoted as Ω(q tn ) -see Section III-B.3. For this first row as well as for the row showing the results for FRC = 0, also "final percentages" are given. These are the percentages after applying shortest-path routing to complete gaps in respective partial matches (see Subsection III-B.2). After this completion, certain negatives are turned later into positives. Henceforth, the final percentages of positives are higher than the original percentage of positives, and vice versa for the final percentage of negatives. In Table I, these final percentages are denoted as "q * p " for the final percentage of positives, and "q * n " for the final percentage of negatives, respectively.
The results in Table I show high positive rates in the subnet of roads with FRC ∈ {1, 2, 3}, ranging from 94.6% to 96.3%. The subnet of roads with FRC = 0, i.e. the highway net, first has a smaller positive rate (89.0%), but subsequent gap completion (see Section III-B.2) improves it to 93.1%.
The positive rate for the subnet of roads with FRC = 4, i.e. the subnet of "roads with a volume and with traffic movements below the level of any functional road class, and, in addition, of walkways and rest area road elements" (see e.g. [4]), is only 73.2%, or equivalently, the percentage of negatives is as high as 26.8%. However, this is significantly put into perspective by the fact that the percentage of programmatically confirmed true negatives Ω(q tn ) is much higher for this subnet; it is 13.4%, whereas it ranges from 0.0% to only 1.5% for the other subnets. This means that a large part of all negatives, namely the half or 50%, can definitely be traced back to real map differences, i.e. without any doubt and without the need for further inspection by an expert. If this large fraction of true negatives is taken into account, the result for the subnet of roads with FRC = 4 is well in line with the results for the other FRC. Since almost 82.0% of all road segments have a functional road class of 4, also the total positive rate is strongly impacted by these provably existing differences between the maps.
As has been explained at the end of Section IV, the authors' decision was to conduct a new visual inspection of the matching results for all routes of length greater than or equal to 6. From the 193, 283 routes (covering all 200, 216 road segments of the source map), 197 routes consist of 6 or more road segments 4 , the longest route consists of 22 segments (see Fig. 2). From these 197 routes, GIMME reports negatively for 6 routes, i.e. the algorithm is not able to find a homologous route in the destination map. The remaining 191 routes (containing a total of 1, 660 road segments) were subject to visual inspection of the respective source and destination route by the authors. The aim of the inspection was to decide whether a correct homologous destination route has been found by GIMME for each source route. To this end, the free and open source geographic information system QGIS [7] has been used. The visual inspection showed that none of the 191 longer routes is a false positive. Hence, the observed success rate for this small sample is q success = 1,660 1,660 = 100.0%. To summarize, in contrast to the results in [2], a degradation in the success rate for longer routes has not been observed at all.
A reason can be seen in the strategy pursued during path contraction, see Section III-B.1. The resulting routes all show a good directional continuity and solely consisted of road segments belonging to the same functional road class. In contrast, the routes matched during the experiments described in [2] were randomly generated linear locations, which frequently showed zigzag courses along distinct roads with different functional road classes.
To estimate the total hit rate (accuracy) of Map2Map for the experiment, the following absolute numbers will be used which are not given directly in Table I. All given numbers refer to individual road segments, not to routes, and "total number" always means "number across all FRC": The (segment-based) total number of positives was initially 154, 466, and 154, 506 after the post-optimization described in Section III-B.2. With the aforementioned number 1, 660 of visually confirmed true positives, the total number of remaining (unsettled) positives is 154, 506−1, 660 = 152, 846. Using (1), (4), (5), (6), (7), and the estimators (8) and (9) discussed before at the end of Section IV-A, the hit rate can now be estimated as follows: q hit = n t n = n tp + n tn n = n p · q success + n n · q error detection n ≈ 96.2% Eq. (10) holds with (4), (5), (6), and (7). Eq. (11) holds with (8), (9), and the absolute numbers given in advance.
Without the calibration-preserving pre-or post-processing (C-3PO) described in Section III-B, the hit rate is lower: ≈ 92.7% In Eq. (12), the success rate of 99.1% for the 1, 660 road segments of the 191 longest routes is a weighted sum of success rate estimations for classes of route length (each weighted by the respective class cardinality). The estimations themselves are derived by linear interpolation of results reported in [2]. It is worth mentioning that, without C-3PO, also one or two negatives can be expected among the 191 routes (albeit not changing the result of 92.7%). Summarized, the hit rate (or equivalently, the accuracy) of map-to-matching with Map2Map in the described experiment is 96.2%. Without the new techniques which have been given as first examples for an implementation of the C-3PO strategy, the accuracy is expected to be lower, 92.7%. In more detail: The pre-processing described in Section III-B.1 improves the (estimated) initial success rate of 99.1% for the 191 longest routes in the highway net to 100.0%. The post-processing described in Section III-B.3 confirms the truth of 22, 266 negatives encountered for road segments in the subnet of roads with FRC = 4. The post-processing described in Section III-B.2 improves the initial success rate of 89.0% for the subnet of roads with FRC = 0, i.e. the highway net, to 93.1%.
V. CONCLUSION An update on the recent advances in a framework for fast and accurate matching of entire city street maps, called Map2Map, and of its core, the inter-map matching algorithm GIMME, has been given. A first basic implementation of a general strategy for calibration-preserving pre-and postoptimization called C-3PO has been presented. Experimental results demonstrated the effectiveness of the approach.