Mémorisez un endroit n'importe où dans le monde avec seulement trois mots.
Essayez-le : http://these3words.herokuapp.com/
Quelques lieux intéressants :
Cette application a été inspirée par http://what3words.com/
>>> import thesethreewords as these
# the home of particle physics
>>> CERN = (46.232355, 6.055419)
>>> three = these.three_words(CERN)
>>> print three
'turks-yunnan-salant'
>>> these.decode(three)
(46.232335567474365, 6.055419445037842)
Voyez où cela se trouve sur la carte These3Words.
Vous devez installer les bibliothèques Geohash et Bottle :
$ pip install geohash
$ pip install bottle
Il y a de nombreux carrés de 3 x 3 m à la surface de la Terre. Pour les coder en seulement trois mots, il faut une longue liste de mots, ce qui fait que certains mots assez obscurs y figurent. Si vous pouvez supporter de devoir mémoriser six mots, la liste de mots est beaucoup plus courte. La liste de mots de six mots provient de l’incroyable bibliothèque humanhash. Les mots ont été choisis pour maximiser la clarté de la communication humaine, ils doivent être plus familiers que les mots de la liste de trois mots :
>>> six = these.six_words(CERN)
>>> print six
'spaghetti-carolina-kentucky-oscar-iowa-table'
>>> these.decode(six)
(46.232335567474365, 6.055419445037842)
Chaque paire latitude/longitude est convertie en un géohash de neuf caractères. Cela fournit une résolution d’environ 3 mètres à toutes les latitudes. Le géohash est ensuite converti en un entier qui est codé sous forme de chaîne de mots.
La liste de mots utilisée pour coder le geohash
en seulement trois mots utilise le dictionnaire de votre ordinateur local. Certaines tentatives sont faites pour supprimer les mots vraiment obscurs, mais cela pourrait être mieux. Vous devez utiliser la même liste de mots lors de l'encodage et du décodage d'un hachage these-3-words
.
Le hachage these-3-words
partage la propriété d'un geohash
que les emplacements proches partagent avec des hachages similaires these-3-words
>>> other_CERN_site = (46.256811, 6.056792)
>>> six = these.six_words(other_CERN_site)
>>> print six
'spaghetti-carolina-kentucky-utah-seventeen-neptune'
>>> these.decode(six)
(46.256797313690186, 6.056792736053467)
L'autre site du CERN est ici sur une carte.
Le fichier server.py
fournit un petit webservice qui permet d'afficher un emplacement donné par trois mots sur une carte Google Maps.
Le serveur nécessite que Bottle.py soit installé. Il peut être exécuté localement en tapant respectivement ./server.py
ou python server.py
.
présenté par @betatim et @kdungs productions