Time to celebrate. ๐ฅณ We hit a nice milestone last week when @theHyphyDude submitted a pull request on our address-formatting project. The PR added a link to a #golang project that uses our templates.
2/ Here's the problem: addresses all over the world are different. Different countries do things differently, and sometimes there are even differences within countries.
3/ Meanwhile the global OpenStreetMap community is continually collecting all kinds of data about the world, which is great. ๐ช๐บ๏ธ This can go to intense detail: every tree, park bench, foot path, etc. That's great, but ...
4/ When someone sends our API a geocoding request, we look in the database and see all kinds of stuff. We need to sift through it, and turn it into a well formatted address that matches the local way of presenting addresses that makes sense for that location.
5/ Sounds simple, but many services get it wrong. We call this the "Berlin, Berlin" bug. In the US ๐บ๐ธ it is normal to show <city>, <state>. In Germany ๐ฉ๐ช, Berlin is both a city and a state, but no one ever refers to "Berlin, Berlin". Only American services do that.
6/ Subtle i18n details like this add up to make a service feel natural and easy to use (or not).
When it's not right it's like the tiny stone in your shoe ๐ชจ๐ that keeps annoying you.
address-formatting is our open source project to know how to make addresses look right
7/ the address-formatting project is a collection of templates that let us know how to display an address for each country/territory (248 in total) in the world ๐
8/ The address-formatting templates themselves can be used in any programming language, with last week's PR adding #golang there are now 10 different parsers. ๐ฅณ Yeah, open source!
9/ most importantly we have hundreds of tests. We're always adding more, and welcome your suggestions. There is no shortage of global addressing edge cases.
You can see address-formatting in action in the "formatted" string in our geocoding API results
Hope you enjoyed this week's peek behind the curtain ๐ช at life at a geocoding service.
In this weekโs geo weirdness thread we return to Europe to take a look at Belgium ๐ง๐ช
๐งต๐โ๏ธ
2/ The Kingdom of Belgium has 3 official languages: Dutch, French, German. The country's linguistic diversity leads to a complex internal organization en.wikipedia.org/wiki/Communitiโฆ and many places have multiple names
3/ The capital of Belgium ๐ง๐ช is Brussels - Bruxelles (fr), Brussel (nl), Brรผssel (de), and it is also the administrative center of the European Union ๐ช๐บ, and thus is often referred to as the โthe capital of the EUโ
1/ To mix things up a bit on this site, we thought we'd experiment with using Fridays to post the occasional thread about geo topics we're often asked about. Today we'll start with one everyone thinks is simple, but really isn't: reverse geocoding ๐งต๐บ๏ธโฌ ๏ธ
2/ Reverse geocoding is turning coordinates (lat,lng) into location info. So 51.952659, 7.632473 becomes "Friedrich-Ebert-Straรe 7, 48153 Mรผnster, Germany" (OpenCage HQ, as you can see on our demo page). So far, so simple, right? opencagedata.com/demo
3/ First question people ask is "why would I ever need that?" Well, main reason is tracking devices (GPS, etc) capture locations very precisely as coordinates. But one big problem - coords make no sense to humans ... ๐๐ค๐ค๐ค