Map-Matching on Big Data: a Distributed and Efficient Algorithm with a Hidden Markov Model
Matteo Francia, Enrico Gallinucci, Federico Vitali · 2019
In urban mobility, map-matching aims to project GPS points generated by moving objects onto the road segments representing the actual object positions. Up to now, map-matching has found interesting applications in traffic analysis, frequent path extraction, and location prediction. However, state-of-art implementations of map-matching algorithms are either private, sequential or inefficient. In this paper, we propose an extension of an existing serial algorithm of known efficiency by reformulating it in a distributed way, in order to achieve great scalability on real big data scenarios. Furthermore, we enhance the robustness of the algorithm, which is based on a first order Hidden Markov Model, by introducing a smart strategy to avoid gaps in the matched road segments; indeed, this problem may occur under sparse GPS sampling or in urban areas with highly fragmented road segments. Our implementation is based on Apache Spark and is publicly available on Github. The implementation is tested against a dataset with 7.8 million GPS points in Milan.