จดจำสถานที่แห่งใดในโลกด้วยคำเพียงสามคำ
ลองมัน: 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)
เว็บไซต์ CERN อื่นอยู่ที่นี่บนแผนที่
ไฟล์ server.py
ให้บริการเว็บเล็กๆ ที่ช่วยให้สามารถแสดงตำแหน่งที่กำหนดโดยคำสามคำบนแผนที่ Google Maps
เซิร์ฟเวอร์ต้องการให้ติดตั้ง bottle.py สามารถเรียกใช้ในเครื่องได้โดยพิมพ์ ./server.py
หรือ python server.py
ตามลำดับ
นำเสนอโดย @betatim และ @kdungs Productions