Tuesday, April 25, 2017

Using What 3 Words to establish locations in the Mycenaean Atlas Project


Earl: ... Then we're off to Haiti!
Carol: Not Haiti, Tahiti!  [1]

We can sympathize with poor Earl's tragic confusion.  Accurate location names and positions are crucial in geography.

In addition to the traditional lat/lon pair as a position indicator for Mycenaean sites, I’ve become interested in other ways of specifying positions.  To that end I have added two new methods in a ‘coords’ table for the Mycenaean Atlas Project.  One method is more traditional, the Universal Transverse Mercator (UTM) system, and one is more cutting edge, the What3Words system.

The What3words website has aroused interest because the designers appear to have pioneered an entirely new method of specifying locations.  Instead of the relatively cumbersome lat/lon pair (or the UTM triplet) it has divided the entire surface of the earth into 3 meter squares.  Each of these squares is uniquely identified with a three word sequence.  For example, the lat/lon pair of 43.553997, -116.276693 maps onto the three-word sequence ‘green.ideas.sleep’ (hello Noam Chomsky!) which is somewhere in Idaho.  What3Words is being adopted by a number of tech firms.  For example, Mapillary has just incorporated it into its system.


To convert a lat/lon pair into the three word designator (triplet) you go to this URL:

You check the box that says ‘I agree to the what3words terms and conditions’ and you then enter your lat/lon pair into the box that says ‘Convert coordinates to 3 word addresses’. 

Entering the pair -17.532988°, -149.561509° (Papeete in Tahiti) returns the triplet: ‘senior.obeyed.gulped’.  This triplet is unique and unchanging.

What 3 Words conversion box.  Here converting a lat/lon pair into an English word triplet.


To convert a What3Words triplet back into a lat/lon pair you go to the same URL 
and enter the three words into the box that is labelled ‘Convert 3 word addresses to coordinates’. 

Entering the triplet of ‘senior.obeyed.gulped’ returns the original lat/lon pair.


What 3 Words conversion box.  Here converting an English word triplet into a lat/lon pair.


The vendor’s web site reasonably says that most places on earth have no addresses and that the three-word system is the answer.  I think that this is partly true but I’ve actually included the What3Words system into the database simply because it’s easier to remember a position this way.

I have added three fields to the ‘coords’ table to support What3Words.  They are

W3W1: varchar(20);

W3W2: varchar(20);

W3W3: varchar(20);

 

A simple query to retrieve (from the MAP database) the three-word key for a particular site would be this:

 


select concat (W3W1,', ', W3W2,', ', W3W3) from coords where pk = 'C1900';


(C1900 is in the Skourta Valley, north of Attica.)

This query returns the triplet: 'swaggers, participating, remark'

The What3Words website also makes an API available so that you can reach their conversion routines from software that you can write.  Here's an example of what this could look like (converting a lat/lon pair into a three-word key) when embedded in your PHP code[2]:


$curl = curl_init();



curl_setopt_array($curl, array(

CURLOPT_URL => "https://api.what3words.com/v2/reverse?coords=$plat%2C$plon&key=YOUR_KEY_HERE&lang=en&format=json&display=full",

CURLOPT_RETURNTRANSFER => true,

CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",));

$response = curl_exec($curl);

$err = curl_error($curl);

curl_close($curl);

if ($err) 
       {echo "cURL Error #:" . $err;}  
else 
{
$response1 = str_replace("\"", "", $response);
$pieces = explode(":", $response1);  
$three_Words = explode(",", $pieces[7]);
$W3W = explode(".",$three_Words[0]);
}

This requires that a curl session be initiated so you'll want the Curl dll's to be available in your language system.  The only code you have to pay attention to here is in red.  That's the the API key which you get from What3Words.  You also make sure that your latitude is in $plat and your longitude is in $plon.  The result is in the value $W3W which is an array of three parts which contains the three words.  If you don't choose to break up the return string then the three-word result is in $response which I've set in purple.


Status of the Mycenaean Atlas Project

I've recently added twenty-four locations in the area of the Skourta plain (Farinetti [2009]), some eighty points in and around central Athens (Mountjoy, [2005]), and about forty points in Cyprus (van Wijngaarden [2002]).

Anyone who would like to have a copy of the MAP database can send an e-mail to bobconsoli 'at' gmail.com or leave a comment on any of my posts.  

A large (about 2400 page) .pdf document which describes the entire database is available for the asking.

To run the MAP database requires a SQL server running on your desktop computer.   MySQL is such a server and it is powerful, industry-standard, and free.  

I can and will make .kml or .kmz files, which can be opened directly in Google Earth, available to those who would like them.  
I can also create .csv files for people who would like to import Mycenaean Atlas Project data into Google Earth but would like it in tabular form.
If you like these posts then please follow me on Twitter (Squinchpix) or on Google+   (Robert Consoli)

Facebook?  Sorry.I.just.can't.

Footnotes
[1] Ruthless People [1986].  It was written by Dale Launer and inspired by O. Henry's 'The Ransom of Red Chief'.
[2] Other languages are supported by this very rich API interface.

Bibliography

Farinetti [2009]: Farinetti, Emeri.  Boeotian landscapes: a GIS-based study for the reconstruction and interpretation of the archaeological datasets of ancient Boeotia. Ph.D. Dissertation.  University of Leiden, Netherlands, 2009.

Mountjoy [2005]: Mountjoy, Pamela.  Mycenaean Athens.  Paul Åströms Förlag, Jonsered, Sweden. 1995

van Wijngaarden [2002]:   van Wijngaarden, G.,  Use and Appreciation of Mycenaean Pottery in the Levant, Cyprus and Italy (ca. 1600 - 1200 BC).  Netherlands Organisation for Scientific Research and Amsterdam University Press. 2002.,

No comments:

Post a Comment