Services such as search, routing, and estimated time of arrival (ETA) prediction rely on accurate map data to provide a safe, convenient, and efficient experience for riders, driver and delivery partners.
By Apurva Dalal
Remember maps? No, not digital maps. Maps as they used to be; from parchment paper to Lonely Planet and from handmade drawings to those from the surveyor general’s office. Remember getting lost while following what you thought was the right route? Remember stopping midway and having team huddles to figure out that puzzle you called a map? If you get a touch of oneness whenever you hear the word ‘millennial’ thrown at a gathering, it’s likely that you didn’t live through those times. Those were times too.
Talking about the journey, it has been two-and-a-half decades since the global positioning system (GPS) was made operational at scale. GPS receiver technology also started becoming mainstream in phones soon after. Digital maps have evolved tremendously in this period—going from only geospatial information to sophisticated data visualisation on handheld devices.
Ensuring the map data is accurate in real-time is a rather difficult technological problem for engineers. For us at Uber, keeping maps data accurate and current is fundamental to our service offering. Services such as search, routing, and estimated time of arrival (ETA) prediction rely on accurate map data to provide a safe, convenient, and efficient experience for riders, driver and delivery partners. Given maps are continuously changing, we have technology and operations teams that work round the clock to keep them updated.
Algorithms at work
The seemingly difficult task of updating maps has been simplified by the use of various algorithms. These algorithms consider factors such as predicted routes by our systems, actual routes taken by drivers, traffic GPS traces, and underlying maps data to identify a potential correction. An algorithm often helps visualise the disparity between a suggested route and the actual route that a driver partner took indicating potential map data errors. There are three types of technical issues related to maps that we’re striving to solve to make travel more seamless.
Identifying as many problems as possible (Scale)
At any given point, there are many new roads getting thrown open and multiple new roadblocks being placed across hundreds of cities around the world. We need to detect, fix and integrate these corrections in the maps data so that the route guidance including ETAs/fares/navigation get updated in near real time across the globe.
Identifying problems as accurately as possible (Accuracy)
At times a driver took an alternate route and not the suggested route on the map. The driver could have done it because he was aware that the suggested route was closed or because he thought that he knew a faster route. The first case was a genuine problem where you needed map data correction. The second one was a false problem. There was no data correction needed in the second scenario. It is here that it is important to be accurate with problem identification.
Identifying problems as fast as possible (Speed)
One-time data correction is not really a fix for map. You update one roadblock-related data to the map and within minutes a new roadblock is likely to be placed somewhere in the world. What is needed is to make sure that these changes reflect back in our maps as soon as possible so as to not compromise the user experience. Doing it fast per city/region is one thing but to do it fast across hundreds of cities, thousands of localities and millions of roads/junctions is a different ball game.
While we have been consistently improving the maps error detection algorithms, we have more to do when it comes to auto correcting these issues with high accuracy. Our zeal to keep maps accurate all the time for the world is also imperative to the vision of self-driving vehicles.
The writer is engineering director and site lead, Uber