只需三個字即可記住世界上任何地方的位置。
試試看: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 為您帶來