Geocoding in Indonesia

Diana Shkolnikov - July 23, 2020

If you’ve ever tried to get to a destination, you know how important the address is. Without at least the name of the street, it’s hard to know if you’re in the right place at all.

In Indonesia, we faced this problem on a much larger scale.

Publicly available address data is lacking, so the open-source geocoding services we’ve been relying on (OpenCage and geocode.earth) are often unable to determine a street name, much less a full address, for a given location. As a result, we found that more than a fifth of data points gathered by StreetCred players in Indonesia couldn’t be geocoded to a street name, and more than 90% couldn’t be geocoded to a house number. While the StreetCred app does allow players to edit the suggested addresses we get back from the geocoders, this is optional and they rarely take the time to do so.

We needed a way to improve the data. While a lot of places might not have a house number, such as food carts, we wanted to ensure that all data points were paired with at least street names—providing more useful information for our local partners.

Getting creative

We first re-ran all the data through our geocoders, just to make sure we didn’t miss anything the first time around. The results didn’t change, so we had to think of a new strategy.

Given our prior work at Mapzen on open source tools for search/geocoding and navigation, we knew the right folks to ask for support.

First, we looked at a new service (that’s still in development) by the geocode.earth team which allows clients to reverse geocode a location to the nearest point on a street. While promising, it didn’t provide the street name consistently enough for our needs.

Next, we looked at the Mapbox map matching service, part of their Navigation suite, to derive the nearest street/road given a location, but that also didn’t yield the results we’d hoped for.

Finally, we tried running the data through the Valhalla locate API. Valhalla is the routing/navigation engine built at Mapzen and now part of the Linux Foundation. With the help of our friends from Interline, we used Valhalla and were able to update over 60% of the missing streets!

Asking for a street Asking for a house number
The app will now prompt players to enter location data manually by offering bonus tokens.

Win-win

What are we doing about the other 40%, you might ask? Great question!

In an upcoming update, we’ll prompt players to enter the house number and street data manually to earn bonus tokens. Look for that functionality to drop over the next month as we roll it out across the Southeast Asia region. This will allow us to build our own address and street dataset, enriching our existing data offerings in the region and internationally.

Once we’ve collected a significant number of these addresses, they can be used to create and improve the same geocoding and map-matching tools we relied on for this initial re-geocoding effort. In our book, that’s a win-win!