How digital maps know that 41°N 2°E is a tapas bar

Leo Kent
London 51° 30' 23.112" N, -0° 7' 37.956" E

The ability to navigate with GPS is a pretty remarkable achievement when you consider that your device, say a smartphone, is getting the signals to do it from satellites orbiting the earth. But how does your device translate this information into street names and numbers? In order to understand this, we'll need to take a look into a process called geocoding.

In a previous article on HERE 360 we explained exactly how GPS works - how three or more satellites with atomic clocks can communicate with a GPS-enabled device to establish its geographical coordinates. But while we can use longitudinal and latitudinal coordinates to precisely pinpoint a given location, these sets of numbers won’t mean much to you unless you’re a computer.


If I told you my favourite tapas bar in Barcelona can be found at 41.3848381, 2.17992, chances are you’ll have absolutely no idea where it is. Until I can give you a street name and number or postcode, it’s unlikely we’ll be meeting for a drink there anytime soon. The final piece in the puzzle to finding a required location with a GPS-enabled device is a process called geocoding.

There are two kinds of geocoding. Strictly speaking, when the input is a pair of geographical coordinates and the outcome is an intelligible address, this is called reverse geocoding. This has a number of applications for web and mobile apps, not just navigation. For example, it can be used to show Facebook friends where you were when you posted a status update via your phone or to give you the right weather forecast when travelling.

The other kind of geocoding or forward geocoding, on the other hand, is turning an address into latitudinal and longitudinal coordinates in order to match an address to its correct location on the map. So, if you have an address you need to get to, the first thing a mapping system will need to do is convert that address into a set of coordinates using geocoding software.


An index 350 million lines long

If you wanted to find an address on a physical map, you would look for the street name or place in the index which in turn would tell you where it is on the map. A geocoding service is similar, it’s just that its index is far, far bigger. The HERE geocoding service, for example, has over 350 million lines of data for finding addresses and it can find these results in milliseconds.

HERE Senior Product Manager, Philip Hubertus, explains why this is no easy task considering the cultural variances across the globe. He says, “Some countries have more than one way of describing the same address. In the Czech Republic many homes have two house numbers. In Korea a completely new house number and street naming system was introduced in the summer of 2011.

“Or an address is described by using a combination of intersecting street names like in Colombia. In Saudi Arabia many roads in rural areas actually don’t even have a name, and therefore houses are addressed by a 13 digit code.”


For example, with the HERE geocoder it is possible for an application to submit a search string containing partial address information if an exact address is not available, in which case it will bring up a set of records ranked by relevance.

Making better business decisions

Both geocoding and reverse geocoding can be used by enterprises looking to understand and make better business decisions based on where their customers and assets are, how large and valuable a geographical market is, or what the costs are when things have to move from A to B and beyond. From anything from more precisely targeted marketing campaigns to improved delivery services, a high-standard geocoding API can be an incredibly efficient tool for your business.

Now, who wants tapas? See you at 41.3848381, 2.17992.

image credits: Alex Lilvet (London door 8.5),  Reena Mahtani (Czech door 4-1598), n.karim (Colombian door - 39-25)

Topics: Enterprise, Features, Location glossary, HERE Platform