Map-Matching Poor-Quality GPS Data in Urban Environments: The pgMapMatch Package
16 Pages Posted: 12 Jul 2018
Date Written: July 31, 2017
Global Positioning System (GPS) data have become ubiquitous in many areas of transportation planning and academic research. The usefulness of GPS data often depends on the points being matched to the underlying street network – a process known as “map matching.” Formally, the map-matching problem is to identify the true path, consisting of a sequence of street edges (i.e. blocks, or segments between intersections), given a sequence of GPS coordinates. Several algorithms have been developed to map-match GPS data. However, there are three major shortcomings of existing approaches. First, some algorithms assume that the user takes the fastest route, and does not circle or deviate. This is an inappropriate assumption in contexts where drivers circle in search of a parking space or have a personal preference for a circuitous route. Second, published algorithms often leave the implementation to the user, and do not provide code or a software implementation. Third, when map-matching large datasets where the matches cannot be individually inspected, published algorithms do not provide a way to evaluate the likelihood that the match is correct.
This paper presents a new map-matching algorithm that is designed for use with poor-quality, heterogeneous GPS traces in urban environments, where drivers may circle for parking and GPS quality may be affected by underground parking, tall buildings and similar obstacles. The paper is accompanied by open-source Python code that is designed to work with PostGIS spatial databases. In a test dataset that includes many poor-quality traces, our new algorithm accurately matched 87% of traces, compared to 67% in a widely available alternative.
Keywords: Map-Matching, GIS, Global Positioning Systems, GPS
Suggested Citation: Suggested Citation