What3words is a geocode system used to communicate a location on planet Earth using only 3 words instead of using complex longitude and latitude coordinates. What3words have assigned each 3m square in the world a unique 3-word address that will never change.
The what3words grid contains 57 trillions 3×3 squares to cover the whole Earth surface (510 million km2) and a dictionary of 40.000 words to create enough combinations of 3 words to assign a unique address to each square (40.0003 = 64 trillions).
For instance, Big Ben, London UK – which is located at Longitude: -0.12461, Latitude:51.500755 – has a 3-word address of: teams.living.bucket
What3words believe that this approach can be used to communicate very specific locations (with a 3-meter accuracy) in an easy, human friendly way. Emergency services in the UK are for instance recommending every smartphone user to download the what3words app as it can be used to speed up the localisation process in case of an emergency.
You can find out more about the what3words initiative on: https://what3words.com.
What3words API
What3words offer developers an API to integrate the conversion of 3-word addresses into longitude/latitude coordinates and vice versa into other products/systems. You can read more about this API on https://docs.what3words.com/api/v3/.
The API enables you to make a request by passing for instance a 3-word address. It will then return the matching longitude/latitude coordinates using the JSON format.
JSON Data
This API uses JSON to format the data. JSON (JavaScript Object Notation) is a popular lightweight data-interchange format. Its main benefit is that it is easy for humans to read and write and it is easy for machines to parse and generate as you can see in the code provided below. You can read more about JSON on https://www.json.org/
You can see what the JSON data returned by the API looks like:
{ "country": "GB", "square": { "southwest": { "lng": -0.195543, "lat": 51.520833 }, "northeast": { "lng": -0.195499, "lat": 51.52086 } }, "nearestPlace": "Bayswater, London", "coordinates": { "lng": -0.195521, "lat": 51.520847 }, "words": "filled.count.soap", "language": "en", "map": "https://w3w.co/filled.count.soap" }
Python Code
Check our code to see how we make a call to the API and how we retrieve and extract the requested JSON data.
You can then use this code to localise and identify the landmarks associated to the following 3-word addresses:
- teams.living.bucket
- walnuts.octopus.mount
- planet.inches.most
- tiny.loses.tree