단 세 단어로 세계 어느 곳이든 위치를 기억하세요.
시도해 보세요: 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)
This3Words 지도에서 이곳이 어디에 있는지 확인하세요.
geohash 및 병 라이브러리를 설치해야 합니다.
$ pip install geohash
$ pip install bottle
지구 표면에는 3x3m 크기의 정사각형이 많이 있습니다. 단 세 단어로 인코딩하려면 긴 단어 목록이 필요하므로 결과적으로 상당히 모호한 단어가 포함됩니다. 여섯 단어만 기억해야 한다면 단어 목록은 훨씬 짧아집니다. 6개 단어 단어 목록은 놀라운 humanhash 라이브러리에서 가져온 것입니다. 단어는 인간 의사소통의 명확성을 최대화하기 위해 선택되었으며, 세 단어 목록에 있는 단어보다 더 친숙해야 합니다.
>>> six = these.six_words(CERN)
>>> print six
'spaghetti-carolina-kentucky-oscar-iowa-table'
>>> these.decode(six)
(46.232335567474365, 6.055419445037842)
각 위도/경도 쌍은 9자 지오해시로 변환됩니다. 이는 모든 위도에서 약 3미터의 해상도를 제공합니다. 그런 다음 지오해시는 단어 문자열로 인코딩된 정수로 변환됩니다.
geohash
단 세 단어로 인코딩하는 데 사용되는 단어 목록은 로컬 컴퓨터 사전을 사용합니다. 매우 모호한 단어를 제거하려는 시도가 있지만 더 나을 수도 있습니다. these-3-words
해시를 인코딩하고 디코딩할 때 동일한 단어 목록을 사용해야 합니다.
these-3-words
해시는 근처 위치가 유사한 these-3-words
해시를 공유하는 geohash
의 속성을 공유합니다.
>>> 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)
다른 CERN 사이트는 여기 지도에 있습니다.
server.py
파일은 Google 지도 지도에 세 단어로 지정된 위치를 표시할 수 있는 작은 웹 서비스를 제공합니다.
서버에는 Bottle.py가 설치되어 있어야 합니다. ./server.py
또는 python server.py
각각 입력하여 로컬로 실행할 수 있습니다.
@betatim 및 @kdungs 프로덕션에서 제공합니다.