Powerful Map Matching for Multiple Applications
We assisted in delivering a map matching mechanism for the world’s most innovative location-based development ecosystem
About the client
Our client is a Dutch technology company specializing in mapping services and solutions with decades of experience in the LBS industry. Among their customers are global A-list automakers, enterprises, and government institutions. Our client provides accurate maps, live traffic data, multi-brand vehicle sensor information, venue maps, map visualization software, car and mobile navigation development tools, and many more solutions. Through digitizing cities, roads, and ventures, the company strives to redefine the way people perceive their external and internal surroundings while on foot or in a vehicle.
Link GPS traces to maps with high accuracy
Perform geodata-to-map matching in real time
Consider vehicle sensor data in map matching
Industry: Location-based services (LBS)
Headquarters: Amsterdam, the Netherlands
Market: GlobalTeam size: 4 members
Cooperation:2017 – present
Java 8 / Java Core / JUnit / Mockito / Protocol Buffers / Spring MVC
Our client came with the challenge
Our client’s flagship product is an all-in-one collaboration platform with shared access to powerful geospatial content and advanced data processing components for custom mapping software development. The platform enables subscribers to build proprietary solutions for limitless use cases. BitsByteSoft has been a key engineering partner involved in developing this product since its inception. This large project pools multiple workstreams, a significant number of which have been extended to BitsByteSoft, including improving map-matching algorithm.
The linchpin to any map-powered use case is map matching for applications. Our client has developed around 20 different map matching algorithms for applications to be able to accurately snap GPS traces and car sensor data to route segments on digital maps. Each type of algorithm (path-based, point-based, etc.) suits a specific application, whether car navigation, mobile navigation, traffic updates, map format, or something else. For their collaboration platform, our client required a different type of a real-time map-matching algorithm for GPS that combined the best of all existing algorithms. They began evaluating existing map matching techniques for apps to define their pros and cons and decide what could be reused and improved for the collaboration platform. BitsByteSoft had already accumulated map matching expertise while cooperating on logistic software solutions and other location-based projects with this client.
BitsByteSoft developed the powerful map matching for multiple applications
BitsByteSoft closely cooperated with our client’s core engineering team that was developing the platform’s map matching for apps. Together, we worked on the map matching component, which was part of a large software development kit (SDK). This SDK enables platform users to build custom geolocation solutions of any complexity.
The component that we co-developed supports two use cases for map matching:
- Online (real-time) matching
When a car strays from its route, for example, the in-vehicle navigation app can map match the car’s actual route and display it to the driver in real time.
- Offline matching
For example, when map-matcher receives a huge volume of GPS data to calculate complete route of several trucks in a fleet. Offline matching could be used to perform further, more weighted analysis of fleet data. Our experts developed a multi-functional GPS map matching mechanism that allow extracting traffic flow information from vehicle GPS tracks for precise route tracking even if offline.
BitsByteSoft, in collaboration with our client’s team, addressed two main concerns of map matching: performance and accuracy.
As for performance, we managed to create a map matching algorithm that reduce response times to the tens of milliseconds, enabling smoother online navigation experiences for users.
As for accuracy, we were able to improve the mechanism for generating plausible path options that are then ranked to get the most accurate option. The challenge with accuracy had to do with deviations in GPS precision, GPS signal interruptions in tunnels, road network density and complexity, and other factors.
We’ve achieved great results together
Our collaboration has now moved to the maintenance phase, with episodic change or improvement requests. We’ve delivered the fully functional map matching component into production and it’s operating successfully in the real world.
Customers are actively using this matching tool to automate updates to high-definition maps. Here’s how it works: Imagine that 5,000 cars equipped with traffic sign detection cameras pass by a newly installed traffic sign. Each vehicle’s onboard system detects and recognizes the sign, records its individual trace point data, and transfers that data to a dedicated server. The backend then uses this combined input data to pinpoint the precise place on the map where the sign was detected. Finally, the server sends a command to update the map with the new traffic sign.
Map matching workflow
- Ingest GPS and sensor data
- Store data
- Map data to map
- Update map
- Publish update