只需三个词即可记住世界上任何地方的位置。
尝试一下:http://these3words.herokuapp.com/
一些有趣的地点:
这个应用程序的灵感来自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)
在These3Words 地图上查看这里的位置。
您需要安装geohash和bottle库:
$ pip install geohash
$ pip install bottle
地球表面有很多3x3米的正方形。仅用三个单词对它们进行编码需要很长的单词列表,因此会出现一些相当晦涩的单词。如果您可以忍受必须记住六个单词,则单词列表会短得多。六个单词的单词列表来自令人惊叹的 humanhash 库。选择单词是为了最大限度地提高人类交流的清晰度,它们应该比三个单词列表中的单词更熟悉:
>>> six = these.six_words(CERN)
>>> print six
'spaghetti-carolina-kentucky-oscar-iowa-table'
>>> these.decode(six)
(46.232335567474365, 6.055419445037842)
每个纬度/经度对都转换为九个字符的 geohash。这在所有纬度上提供了大约 3 米的分辨率。然后,geohash 被转换为一个整数,该整数被编码为一串单词。
用于将geohash
编码为三个单词的单词列表使用本地计算机词典。我们做了一些尝试来删除一些非常晦涩的单词,但效果可能会更好。在these-3-words
哈希值进行编码和解码时,您需要使用相同的单词列表。
these-3-words
哈希值共享附近位置共享的geohash
的属性,具有类似的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)
欧洲核子研究中心的另一个站点位于地图上。
文件server.py
提供了一个小型网络服务,允许在 Google Maps 地图上显示由三个单词给出的位置。
服务器需要安装 Bottle.py。它可以通过分别键入./server.py
或python server.py
在本地运行。
由 @betatim 和 @kdungs Productions 为您带来