The moment I launched Navmii GPS I was presented with 3 words that looked like this:
I started looking for the explanation and found that’s from the service called what3words, that attempts to solve the user-unfriendliness of GPS coordinates by splitting the whole world into 3m x 3m squares and assigning a unique set of 3 words to every location:
Now, I got all excited and thought this is going to be the best thing ever, but my wife was skeptical and made a great point:
what3words address for a Robin Williams bench has an address of “script.export.noble”. Move 3 meters east and you’ll get “votes.began.hours”. So it is allows you to precisely locate a feature. But here’s the problem - you can’t infer anything from these words. Unless you have an access to a device that has a mapping available, you can’t know what continent it is on. This may not be the best use case, but when you have an address of “5 Child Street, Boston, Massachusetts, USA”, you can assume “6 Child Street, Boston, Massachusetts, USA” will be somewhere nearby.
Okay, so I was less hyped and started looking into the way the words are generated, and it turned out the algorithm and the data is not in a public domain, and you need to use their REST API or offline SDK to perform the mapping.
Our goal is for what3words to become a global standard for communicating location. At the moment, the core what3words algorithms and data are not in the public domain. In the future, we may release some or all of our source code – we will continually evaluate the business case for doing this.
— http://developer.what3words.com/pricing/
And then I’ve read this in their API License terms:
You must not pre-fetch, cache, index, copy, re-utilise, extract or store any what3words Data.
Well… you can contact them to get the SDK containing the data, but… I am not sure I like the idea of a company pushing a global addressing standard that you can’t freely use. I’ve recently read w3w is selected by Mongolian Post office to provide addresses for locations that don’t really have an official address. It will be interesting to see how this works in real life.
Another thing I encountered during my search for navigation was Mapcode (used, for example in Here Android app).
Originally created by TomTom, this system does not really rely on any centralized data. The algorithm, however, is patented:
In order to prevent misuse, unauthorised alterations, copying or commercial exploitation, please note that the ideas and algorithms behind the mapcode system have been patented and that the term “mapcode” is a registered trademark of the Stichting Mapcode Foundation. Our mapcode source code is released Apache License Version 2.0.
A good thing about Mapcode is that it shortens the coordinates to manageable tokens, and you can select the representation that better suits your needs. And the best part is that you don’t need any server interaction for it all to work.
[rye@delorean ~]$ python3
Python 3.4.3 (default, Jun 13 2016, 16:33:53)
Type "help", "copyright", "credits" or "license" for more information.
>>> import mapcode
>>> mapcode.encode(42.52838, -83.36005)
[('7S.65B', 'US-MI'), ('S3K.6YD', 'US-MI'), ('CDS1.XWV', 'US-MI'), ... ]
>>> mapcode.decode('US-MI 7S.65B')
(42.528403, -83.360037)
Close enough.
Okay, guess what part of the world “US-MI 7S.65B” is in? How about bugs.bumps.glue? And I am pretty sure it is easy to figure out that “US-MI 7S.659” is nearby.
On the other hand, embedding the country/state into the code can cause the same issues as the country borders in disputed territories. The location above also has an international address of “T8BB9.T204”, which has the same problems as w3w one, except that there are neither bugs nor glue.
So, what do you think? Does a world need a GPS coordinate shortener and if so, what would you use?
Location: