postgresql - MongoDB和PostGIS的Geohash是怎麼計算的?
某草草
某草草 2017-04-24 16:00:26
0
1
928

0101000020E610000098E9F4A131405C40BBA1265A25B53740這種編碼過後的經緯度,是怎麼計算的。試著過去看postgis和mongodb的源碼,無奈沒找到(不懂啊…)

某草草
某草草

全部回覆(1)
漂亮男人

PostGIS的不太了解,不過原理應該是一樣的。

在 MongoDB 裡,我們先討論 2d index,中文文件都有翻譯的!
http://docs.mongoing.com/manual-zh/core/geospatial-indexes.html

MongoDB裡,2d index 可以用來索引一個點。我們把一個正方形都分成4份,編號00,01,10,11,然後再對包含目標點的小的正方形同樣劃分,32次之後,得到一個編號的序列,拼起來就是了。 Geohash 有一些很好的性質,例如如果按照以上方面所劃分得到的大正方形如果包含小正方形的話,則前者的Geohash是後者的前綴。 Wikipedia 上有詳細介紹。

對 2dsphere index,MongoDB 使用 S2 library 來做 Geohash, 參見 Google Doc 上的 slides.

另外,為什麼想了解 Geohash 呢?遇到什麼問題必須理解它麼?

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板